موارد الخطوط

يحدّد مورد الخط خطًا مخصّصًا يمكنك استخدامه في تطبيقك. الخطوط يمكن أن تكون ملفات خطوط فردية أو مجموعة من ملفات الخطوط، تُعرف باسم مجموعة الخطوط ويتم تحديدها في XML.

اطلع أيضًا على كيفية تعريف الخطوط بتنسيق XML أو استخدام الخطوط القابلة للتنزيل بدلاً من ذلك.

الخط المجمّع

يمكنك تجميع الخطوط كموارد في أي تطبيق. يتم تجميع الخطوط في R وهي متوفرة تلقائيًا في النظام كملف المصدر. يمكنك بعد ذلك الوصول إلى هذه الخطوط بمساعدة نوع مورد واحد (font).

مكان الملف:
res/font/filename.ttf
(.ttf أو .ttc أو .otf أو .xml)
يتم استخدام اسم الملف كمعرّف المورد.
مرجع الموارد:
في ملف XML: @[package:]font/font_name
بناء الجملة:
<?xml version="1.0" encoding="utf-8"?>
<font-family>
  <font
    android:font="@[package:]font/font_to_include"
    android:fontStyle=["normal" | "italic"]
    android:fontWeight="weight_value" />
</font-family>
العناصر:
<font-family>
حقل مطلوب. يجب أن تكون هذه هي العقدة الجذر.

ما مِن سمات.

<font>
يحدد خطًا واحدًا داخل العائلة. لا يحتوي على أي عُقد فرعية.

السمات:

android:fontStyle
الكلمة الرئيسية. تحدد نمط الخط. هذه السمة تُستخدم عند تحميل الخط في حزمة الخطوط وإلغاء أي معلومات نمط في جداول عنوان الخط. إذا لم تحدد تحديد السمة، يستخدم التطبيق القيمة من جدول جداول العناوين. القيمة الثابتة هي إما normal أو italic
android:fontWeight
عدد صحيح. تمثّل هذه السمة سمك الخط. هذه السمة تُستخدم عند تحميل الخط في حزمة الخطوط وإلغاء أي معلومات حول الوزن في جداول عنوان الخط. تشير رسالة الأشكال البيانية يجب أن تكون قيمة السمة مضاعفة من 100 بين 100 و900، ضمنًا. إذا لم تحدد السمة، يستخدم التطبيق القيمة من عنوان الخط الجداول. القيم الأكثر شيوعًا هي 400 للوزن العادي و700. للوزن الغامق.
مثلا:
تم حفظ ملف XML في res/font/lobster.xml:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>

تم حفظ ملف XML في res/layout/ ويطبّق الخط على TextView:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />

الخط القابل للتنزيل

يحدد مورد الخط القابل للتنزيل خطًا مخصصًا يمكنك استخدامه في التطبيق. هذا الخط غير متوفّر في التطبيق نفسه. بدلاً من ذلك، يتم استردادها من مزود الخط.

مكان الملف:
res/font/filename.xml
اسم الملف هو معرِّف المورد.
مرجع الموارد:
في ملف XML:@[package:]font/font_name
بناء الجملة:
<?xml version="1.0" encoding="utf-8"?>
<font-family
    android:fontProviderAuthority="authority"
    android:fontProviderPackage="package"
    android:fontProviderQuery="query"
    android:fontProviderCerts="@[package:]array/array_resource" />
العناصر:
<font-family>
حقل مطلوب. يجب أن تكون هذه هي العقدة الجذر.

:

android:fontProviderAuthority
سلسلة: مَعلمة مطلوبة. مصدر الخط الذي يحدد طلب الخط.
android:fontProviderPackage
سلسلة: مَعلمة مطلوبة. اسم حزمة الخط المستخدم في الطلب. ويُستخدم هذا للتحقق من هوية مزود الخدمة.
android:fontProviderQuery
سلسلة: مَعلمة مطلوبة. استعلام السلسلة الخاص بالخط. ارجع إلى وثائق مقدم الخطوط بشأن تنسيق هذا السلسلة.
android:fontProviderCerts
مورد المصفوفة. مَعلمة مطلوبة. تحدد مجموعات تجزئات للشهادات المستخدمة لتوقيع هذا الموفّر. هذا هو يُستخدم للتحقق من هوية المزوّد وهو مطلوب فقط إذا لم يكن الموفِّر جزءًا من صورة النظام يمكن للقيمة يشير إلى قائمة واحدة (مورد مصفوفة سلسلة) أو قائمة من القوائم (مورد صفيف)، حيث تمثل كل قائمة فردية مجموعة من تجزئات التوقيع. ارجع إلى مقدم خدمة الخط وثائق لهذه القيم.
مثلا:
تم حفظ ملف XML في res/font/lobster.xml:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    android:fontProviderAuthority="com.example.fontprovider.authority"
    android:fontProviderPackage="com.example.fontprovider"
    android:fontProviderQuery="Lobster"
    android:fontProviderCerts="@array/certs">
</font-family>

تم حفظ ملف XML في res/values/ لتحديد مصفوفة الشهادات:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="certs">
      <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
    </string-array>
</resources>

تم حفظ ملف XML في res/layout/ ويطبّق الخط على TextView:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />