موارد الخطوط
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يحدّد مورد الخط خطًا مخصّصًا يمكنك استخدامه في تطبيقك. الخطوط
يمكن أن تكون ملفات خطوط فردية أو مجموعة من ملفات الخطوط، تُعرف باسم
مجموعة الخطوط ويتم تحديدها في 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!" />
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2024-09-20 (حسب التوقيت العالمي المتفَّق عليه)
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"لا يحتوي على المعلومات التي أحتاج إليها."
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"الخطوات معقدة للغاية / كثيرة جدًا."
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"المحتوى قديم."
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ثمة مشكلة في الترجمة."
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"مشكلة في العيّنات / التعليمات البرمجية"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"غير ذلك"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"يسهُل فهم المحتوى."
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"ساعَدني المحتوى في حلّ مشكلتي."
},{
"type": "thumb-up",
"id": "otherUp",
"label":"غير ذلك"
}]
{"lastModified": "\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0623\u062e\u064a\u0631: 2024-09-20 (\u062d\u0633\u0628 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u062a\u0641\u0651\u064e\u0642 \u0639\u0644\u064a\u0647)"}
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2024-09-20 (حسب التوقيت العالمي المتفَّق عليه)"]]