منابع فونت

یک منبع فونت یک فونت سفارشی را تعریف می کند که می توانید در برنامه خود از آن استفاده کنید. فونت ها می توانند فایل های فونت جداگانه یا مجموعه ای از فایل های فونت باشند که به عنوان یک خانواده فونت شناخته می شوند و در 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!" />