पूरे एंड्रॉइड ऐप के लिए डिफ़ॉल्ट फ़ॉन्ट परिवार कैसे सेट करें


282

मैं अपने ऐप में रोबोटो लाइट फॉन्ट का इस्तेमाल कर रहा हूं। फ़ॉन्ट सेट करने के लिए मुझे android:fontFamily="sans-serif-light"हर दृश्य में जोड़ना होगा । क्या पूरे ऐप में रोबोटो फ़ॉन्ट को डिफ़ॉल्ट फ़ॉन्ट परिवार घोषित करने का कोई तरीका है? मैं इस तरह की कोशिश की है, लेकिन यह काम नहीं कर रहा था।

<style name="AppBaseTheme" parent="android:Theme.Light"></style>

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:fontFamily">sans-serif-light</item>
</style>

2
यह आपकी मदद कर सकता है: stackoverflow.com/a/16883281/1329733
जैकब आर

2
अब आप कस्टम फोंट सही एक्सएमएल से एंड्रॉयड स्टूडियो में 3.0 निर्दिष्ट कर सकते हैं developer.android.com/guide/topics/ui/look-and-feel/...
सात

जवाबों:


289

इसका जवाब है हाँ।

ग्लोबल रोबो लाइट TextViewऔर Buttonकक्षाओं के लिए:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
    <item name="android:buttonStyle">@style/RobotoButtonStyle</item>
</style>

<style name="RobotoTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">sans-serif-light</item>
</style>

<style name="RobotoButtonStyle" parent="android:Widget.Holo.Button">
    <item name="android:fontFamily">sans-serif-light</item>
</style>

बस आप उस थीम को चुनें जिसे आप लिस्ट theme.xml से चाहते हैं , फिर अपनी कस्टम स्टाइल मूल के आधार पर बनाएं। आखिर में स्टाइल को एप्लीकेशन की थीम के रूप में लागू करें।

<application
    android:theme="@style/AppTheme" >
</application>

यह रोबोटो जैसे बिल्ट-इन फॉन्ट्स के साथ ही काम करेगा, लेकिन यह सवाल था। कस्टम फोंट (उदाहरण के लिए परिसंपत्तियों से लोड) के लिए यह विधि काम नहीं करेगी।

EDIT 08/13/15

यदि आप AppCompat थीम का उपयोग कर रहे हैं, तो android:उपसर्ग निकालना याद रखें । उदाहरण के लिए:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
    <item name="buttonStyle">@style/RobotoButtonStyle</item>
</style>

नोट buttonStyleमें android:उपसर्ग शामिल नहीं है , लेकिन textViewStyleइसमें होना चाहिए।


4
आपको sans-serif-lightमूल्य कहां से मिला ? क्या fontFamilyकहीं पर मान्य मूल्यों की सूची है? मैं डॉक्स के माध्यम से देख रहा हूं, साथ ही एंड्रॉइड स्रोत में विषय और शैली की फाइलें और कुछ भी नहीं पा सकता हूं।
क्रिस्टोफर पेरी

34
यह केवल API स्तर 16 के लिए संभव है .. "android: fontFamily" नाम केवल स्तर 16 या इसके बाद के संस्करण में मौजूद है .. क्या ऐसा करने का एक तरीका है उदाहरण के लिए एपीआई 14 भी?
लोरेंजो बारबगली

3
@LorenzoBarbagli, आप जाँच कर सकते हैं सुलेख
Brais Gabin

10
यदि मेरे पास कोई कस्टम फ़ॉन्ट है तो मैं क्या करूं?
रोहित तिग्गा

2
हाँ, मैं संपूर्ण ऐप में कस्टम फ़ॉन्ट जोड़ना चाहता हूं। मैं उसे कैसे कर सकता हूँ ?। क्या मुझे TextView को ओवरराइड करने की ज़रूरत है और पहले उत्तर में सुझाए गए सभी TextView को बदल दें
जॉन

144

Android Oreo की रिलीज़ के साथ आप इस लक्ष्य तक पहुंचने के लिए समर्थन लाइब्रेरी का उपयोग कर सकते हैं।

  1. यदि आपके पास समर्थन लाइब्रेरी > = 26.0.0 है, तो अपने ऐप्लिकेशन बिल्ड.ग्रेड में जांचें
  2. अपने संसाधन फ़ोल्डर में " फ़ॉन्ट " फ़ोल्डर जोड़ें और वहां अपने फोंट जोड़ें
  3. अपने ऐप मुख्य शैली में अपने डिफ़ॉल्ट फ़ॉन्ट परिवार का संदर्भ दें:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
       <item name="android:fontFamily">@font/your_font</item>
       <item name="fontFamily">@font/your_font</item> <!-- target android sdk versions < 26 and > 14 if theme other than AppCompat -->
    </style>

चेक https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html में अधिक विस्तृत जानकारी के लिए।


9
एपीआई 26+ को लक्षित करते समय, यह स्वीकृत तरीका होना चाहिए। का उपयोग करते समय समर्थन लाइब्रेरी , बस हटाने android:उपसर्ग
webo80

2
यदि आप केवल उपसर्ग संस्करण का उपयोग करते हैं, तो यह ठीक है। उपसर्ग को केवल API <26
webo80

2
यह हर जगह फ़ॉन्ट सेट नहीं करता है ... उदाहरण के लिए यदि आपके पास ऐसी शैलियाँ हैं जो इससे प्राप्त होती हैं Base.TextAppearance.AppCompat, तो इसका उपयोग वहाँ नहीं किया जाता है।
Ixx

3
@ XXX, उन शैलियों को भी कैसे ओवरराइड करें?
प्रिमो क्रालज

2
एपीआई 26 को लक्षित करते समय
AppCompatTextView का

37

अपना ऐप फ़ॉन्ट बदलने के लिए निम्नलिखित चरणों का पालन करें:

  1. इनसाइड resडायरेक्टरी नई डायरेक्टरी बनाती है और उसे कॉल करती है font
  2. फ़ॉन्ट फ़ोल्डर के अंदर अपना फ़ॉन्ट .ttf / .otf डालें, सुनिश्चित करें कि फ़ॉन्ट नाम लोअर केस लेटर्स और केवल अंडरस्कोर है।
  3. अंदर res-> values-> styles.xmlअंदर <resources>-> <style>अपना फ़ॉन्ट जोड़ें <item name="android:fontFamily">@font/font_name</item>

यहां छवि विवरण दर्ज करें

अब आपके सभी ऐप टेक्स्ट शू फाउंटेन में हैं जो आप जोड़ते हैं।


8
कस्टम फ़ॉन्ट का उपयोग करते समय मैं नियमित फ़ॉन्ट के साथ बोल्ड फ़ॉन्ट कैसे जोड़ सकता हूं?
राजबीर Shienh

यह केवल एपीआई स्तर 26 और इसके बाद के संस्करण के साथ काम करता है, एपीआई 21 और नीचे के बारे में क्या?
zulkarnain shah

34

पढ़िए आगे पढ़िए

मैं एक नया फ़ॉन्ट एम्बेड करने के साथ एक ही मुद्दा था और अंत में यह TextView विस्तार के साथ काम करने के लिए मिल गया और टाइप टाइप को अंदर सेट करें।

public class YourTextView extends TextView {

    public YourTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    public YourTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public YourTextView(Context context) {
        super(context);
        init();
    }

    private void init() {
        Typeface tf = Typeface.createFromAsset(context.getAssets(),
            "fonts/helveticaneue.ttf");
        setTypeface(tf);
    }
}

आपको प्रत्येक तत्व में बाद में से TextView तत्वों को बदलना होगा। और यदि आप ग्रहण में UI-निर्माता का उपयोग करते हैं, तो कभी-कभी वह TextViews को सही नहीं दिखाता है। केवल एक चीज थी जो मेरे लिए काम करती है ...

अपडेट करें

आजकल मैं TextView का विस्तार किए बिना पूरे एप्लिकेशन में टाइपफेस बदलने के लिए प्रतिबिंब का उपयोग कर रहा हूं। इस SO पोस्ट को देखें

अद्यतन २

एपीआई स्तर 26 से शुरू होकर 'सपोर्ट लाइब्रेरी' में उपलब्ध है जिसका आप उपयोग कर सकते हैं

android:fontFamily="@font/embeddedfont"

अधिक जानकारी: XML में फ़ॉन्ट्स


25
यह समाधान नहीं है। मैं केवल TextView ही नहीं, कई अलग-अलग विचारों का उपयोग कर रहा हूं। मैं एक बार फ़ॉन्ट सेट करना चाहता हूं और इसके बारे में भूल सकता हूं। इसके अलावा, आपका कोड प्रत्येक टेक्स्ट दृश्य के लिए नई वस्तु बनाता है। कम से कम एक बार परिसंपत्तियों से फ़ॉन्ट लोड करने के लिए क्षेत्र को स्थिर घोषित करें।
टॉमहॉर्ब

2
... ठीक है, वहाँ एक खोज और बदलें फ़ंक्शन है, जो इस मामले में वास्तव में अच्छी तरह से काम करता है
longi

1
यह काम नहीं कर रहा है। getContext()चर स्थिर होने पर आप कॉल नहीं कर सकते । आपको इसे सिंगलटन की तरह लागू करना चाहिए, अन्यथा वर्तमान कोड भी संकलित नहीं होगा।
टॉमहॉर्ब

1
मैंने आखिरी कमिट किया।
लोंगी

1
@tomrozb: डी मुझे सिर्फ एहसास हुआ, कि मैंने जो आखिरी तेज बदलाव किए, वे आपकी टिप्पणियों के कारण थे! जैसा कि आपके पास पर्याप्त बिंदु हैं, आप स्वयं कोड उदाहरण का अनुकूलन करने के लिए स्वागत करते हैं। अन्यथा हम अभी भी कुछ वर्षों में इस विषय के बारे में बात करेंगे, जब कोई भी अब स्मार्टफ़ोन के बारे में परवाह नहीं करता है;)
longi

8

अपने रेस / मान / स्टाइल.एक्सएमएल में कोड की इस पंक्ति को जोड़ें

<item name="android:fontFamily">@font/circular_medium</item>

पूरी शैली की तरह दिखेगा

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:fontFamily">@font/circular_medium</item>
</style>

"परिपत्र_मीडिया" को अपने स्वयं के फ़ॉन्ट नाम में बदलें।


6

प्रदर्शन के बारे में बात न करें, कस्टम फ़ॉन्ट के लिए आपके पास सभी दृश्यों के माध्यम से एक पुनरावर्ती विधि लूप हो सकता है और यदि यह एक TextView है तो टाइपफेस सेट करें:

public class Font {
    public static void setAllTextView(ViewGroup parent) {
        for (int i = parent.getChildCount() - 1; i >= 0; i--) {
            final View child = parent.getChildAt(i);
            if (child instanceof ViewGroup) {
                setAllTextView((ViewGroup) child);
            } else if (child instanceof TextView) {
                ((TextView) child).setTypeface(getFont());
            }
        }
    }

    public static Typeface getFont() {
        return Typeface.createFromAsset(YourApplicationContext.getInstance().getAssets(), "fonts/whateverfont.ttf");
    }
}

अपनी सभी गतिविधियों में, वर्तमान ViewGroup को setContentView के बाद पास करें और यह हो गया:

ViewGroup group = (ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content);
Font.setAllTextView(group);

टुकड़े के लिए आप कुछ ऐसा ही कर सकते हैं।


1
बहुत अच्छा लगता है, लेकिन यह कैसे recyclerView सामग्री में काम करने के लिए सोच रहा है?
सुरजन बरई

मैंने बस यही कोशिश की। रेंडर करने के लिए बहुत भारी है। recyclerViewनर्क की तरह धीमा ।
सुरजन बरई

किसी भी सूची दृश्य के लिए पूरी तरह से अनुशंसित नहीं है, यह चाल स्थिर दृश्य को कोड करने के लिए समय बचाने के लिए है।
एलन चान

5

पूरे ऐप के लिए ऐसा करने का एक और तरीका इस उत्तर के आधार पर प्रतिबिंब का उपयोग करना है

public class TypefaceUtil {
    /**
     * Using reflection to override default typefaces
     * NOTICE: DO NOT FORGET TO SET TYPEFACE FOR APP THEME AS DEFAULT TYPEFACE WHICH WILL BE
     * OVERRIDDEN
     *
     * @param typefaces map of fonts to replace
     */
    public static void overrideFonts(Map<String, Typeface> typefaces) {
        try {
            final Field field = Typeface.class.getDeclaredField("sSystemFontMap");
            field.setAccessible(true);
            Map<String, Typeface> oldFonts = (Map<String, Typeface>) field.get(null);
            if (oldFonts != null) {
                oldFonts.putAll(typefaces);
            } else {
                oldFonts = typefaces;
            }
            field.set(null, oldFonts);
            field.setAccessible(false);
        } catch (Exception e) {
            Log.e("TypefaceUtil", "Can not set custom fonts");
        }
    }

    public static Typeface getTypeface(int fontType, Context context) {
        // here you can load the Typeface from asset or use default ones
        switch (fontType) {
            case BOLD:
                return Typeface.create(SANS_SERIF, Typeface.BOLD);
            case ITALIC:
                return Typeface.create(SANS_SERIF, Typeface.ITALIC);
            case BOLD_ITALIC:
                return Typeface.create(SANS_SERIF, Typeface.BOLD_ITALIC);
            case LIGHT:
                return Typeface.create(SANS_SERIF_LIGHT, Typeface.NORMAL);
            case CONDENSED:
                return Typeface.create(SANS_SERIF_CONDENSED, Typeface.NORMAL);
            case THIN:
                return Typeface.create(SANS_SERIF_MEDIUM, Typeface.NORMAL);
            case MEDIUM:
                return Typeface.create(SANS_SERIF_THIN, Typeface.NORMAL);
            case REGULAR:
            default:
                return Typeface.create(SANS_SERIF, Typeface.NORMAL);
        }
    }
}

फिर जब भी आप फोंट को ओवरराइड करना चाहते हैं तो आप केवल विधि को कॉल कर सकते हैं और इसे टाइपफेस का एक नक्शा इस प्रकार दे सकते हैं:

Typeface regular = TypefaceUtil.getTypeface(REGULAR, context);
Typeface light = TypefaceUtil.getTypeface(REGULAR, context);
Typeface condensed = TypefaceUtil.getTypeface(CONDENSED, context);
Typeface thin = TypefaceUtil.getTypeface(THIN, context);
Typeface medium = TypefaceUtil.getTypeface(MEDIUM, context);
Map<String, Typeface> fonts = new HashMap<>();
fonts.put("sans-serif", regular);
fonts.put("sans-serif-light", light);
fonts.put("sans-serif-condensed", condensed);
fonts.put("sans-serif-thin", thin);
fonts.put("sans-serif-medium", medium);
TypefaceUtil.overrideFonts(fonts);

पूर्ण उदाहरण के लिए जाँच करें

यह केवल एंड्रॉइड एसडीके 21 और उससे पहले के संस्करणों के लिए काम करता है पूर्ण उदाहरण की जांच करें


5

बस इस lib का उपयोग अपनी ग्रेड फ़ाइल में संकलित करें

complie'me.anwarshahriar:calligrapher:1.0'

और मुख्य गतिविधि में onCreate पद्धति में इसका उपयोग करें

Calligrapher calligrapher = new Calligrapher(this);
calligrapher.setFont(this, "yourCustomFontHere.ttf", true);

यह ऐसा करने का सबसे शानदार सुपर फास्ट तरीका है।


2

यह मेरी परियोजना, स्रोत https://gist.github.com/artem-zinnatullin/7749076 के लिए काम कर रहा है

एसेट फ़ोल्डर के अंदर फोंट निर्देशिका बनाएं और फिर अपने कस्टम फ़ॉन्ट को फोंट निर्देशिका में कॉपी करें, उदाहरण के लिए मैं trebuchet.ttf का उपयोग कर रहा हूं;

एक क्लास बनाएँ TypefaceUtil.java;

import android.content.Context;
import android.graphics.Typeface;
import android.util.Log;

import java.lang.reflect.Field;
public class TypefaceUtil {

    public static void overrideFont(Context context, String defaultFontNameToOverride, String customFontFileNameInAssets) {
        try {
            final Typeface customFontTypeface = Typeface.createFromAsset(context.getAssets(), customFontFileNameInAssets);

            final Field defaultFontTypefaceField = Typeface.class.getDeclaredField(defaultFontNameToOverride);
            defaultFontTypefaceField.setAccessible(true);
            defaultFontTypefaceField.set(null, customFontTypeface);
        } catch (Exception e) {

        }
    }
}

Style.xml में विषय जोड़ें नीचे संपादित करें

<item name="android:typeface">serif</item>

मेरी शैलियों में उदाहरण। xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:typeface">serif</item><!-- Add here -->
    </style>


    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowFullscreen">true</item>
    </style>
</resources>

अंत में, एक्टिविटी या फ्रैगमेंट ऑनक्रिएट कॉल TypefaceUtil.java

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TypefaceUtil.overrideFont(getContext(), "SERIF", "fonts/trebuchet.ttf");
    }

0

एंड्रॉइड पूरे ऐप में फोंट लगाने के लिए समर्थन के तरीके में बहुत कुछ प्रदान नहीं करता है (इस मुद्दे को देखें )। आपके पास पूरे ऐप के लिए फ़ॉन्ट सेट करने के लिए 4 विकल्प हैं:

  • विकल्प 1: सिस्टम फ़ॉन्ट को बदलने के लिए प्रतिबिंब लागू करें
  • Option2: कस्टम व्यू की आवश्यकता वाले प्रत्येक व्यू के लिए कस्टम व्यू क्लासेस बनाएं और उप-वर्ग बनाएं
  • Option3: एक दृश्य क्रॉलर को लागू करें जो वर्तमान स्क्रीन के लिए दृश्य पदानुक्रम का पता लगाता है
  • Option4: एक 3 पार्टी पुस्तकालय का उपयोग करें।

इन विकल्पों का विवरण यहां पाया जा सकता है


0

मुझे पता है कि यह प्रश्न काफी पुराना है, लेकिन मुझे एक अच्छा समाधान मिल गया है। मूल रूप से, आप इस फ़ंक्शन के लिए एक कंटेनर लेआउट पास करते हैं, और यह सभी समर्थित विचारों के लिए फ़ॉन्ट लागू करेगा, और बच्चे के लेआउट में पुनरावर्ती पुटी:

public static void setFont(ViewGroup layout)
{
    final int childcount = layout.getChildCount();
    for (int i = 0; i < childcount; i++)
    {
        // Get the view
        View v = layout.getChildAt(i);

        // Apply the font to a possible TextView
        try {
            ((TextView) v).setTypeface(MY_CUSTOM_FONT);
            continue;
        }
        catch (Exception e) { }

        // Apply the font to a possible EditText
        try {
            ((TextView) v).setTypeface(MY_CUSTOM_FONT);
            continue;
        }
        catch (Exception e) { }

        // Recursively cicle into a possible child layout
        try {
            ViewGroup vg = (ViewGroup) v;
            Utility.setFont(vg);
            continue;
        }
        catch (Exception e) { }
    }
}

0

क्या ऐप का केवल सेट टाइपफेस के लिए normal, sans, serifया monospace(नहीं एक कस्टम फ़ॉन्ट के लिए!), तो आप ऐसा कर सकते हैं।

एक थीम निर्धारित करें और android:typefaceउस टाइपफेस की विशेषता सेट करें, जिसका आप उपयोग करना चाहते हैं styles.xml:

<resources>

    <!-- custom normal activity theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!-- other elements -->
        <item name="android:typeface">monospace</item>
    </style>

</resources>

AndroidManifest.xmlफ़ाइल में पूरे एप्लिकेशन को विषय लागू करें :

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application
        android:theme="@style/AppTheme" >
    </application>
</manifest>

Android संदर्भ


आपको यकीन है कि काम करता है? एंड्रॉइड डॉक के अनुसार: "निम्न स्थिर मूल्यों में से एक होना चाहिए: सामान्य, संस, सेरिफ़, मोनोस्पेस"।
टॉमहॉर्ब

1
ओह, मैं देख रहा हूँ ... आप सही कह रहे हैं ... मैं इस सवाल को बिलकुल नहीं समझ पाया: x मैं सिर्फ एक मोनोस्पेस फ़ॉन्ट (कस्टम नहीं) का उपयोग करने के लिए अपना पूरा ऐप रखना चाहता था और मैंने इसे काम करते हुए देखा इसलिए मैंने इसे पोस्ट किया यहाँ ......... मुझे लगता है कि मेरा जवाब अभी भी दूसरों के लिए उपयोगी हो सकता है जो कुछ ऐसा ही करना चाहते हैं .... इसलिए मैं इसे संपादित करूँगा और इसे यहाँ छोड़ दूँगा ..... मैं ठीक हूँ यह है वोटों को जमा करता है। यह इंगित करने के लिए धन्यवाद
एरिक

अरे @ डेव क्रूज, क्या यह केवल मोनोस्पेस के लिए काम करता है? मैंने इसे केवल मोनोस्पेस के लिए परीक्षण किया है ... और कुछ नहीं .... इसलिए मुझे यकीन नहीं है ... लेकिन प्रलेखन के अनुसार, इसे "सामान्य", "संस" और "सेरिफ़" के लिए भी काम करना चाहिए। । मुझे लगता है कि टाइपफेस फ़ॉन्ट की तुलना में अधिक सामान्य है, इसलिए हम इसे "कंसोल" या कुछ और जैसे विशिष्ट फ़ॉन्ट के लिए ऐप के फ़ॉन्ट को सेट करने के लिए उपयोग नहीं कर सकते।
एरिक

@ यूरिया। मुझे भी कोई पता नहीं है। मोनोस्पेस एक आकर्षण की तरह काम करते हैं लेकिन सामान्य, संत या सेरिफ़ के लिए कोई भाग्य नहीं।
डेव क्रूज

0

इस पुस्तकालय की कोशिश करो, इसके हल्के और लागू करने में आसान

https://github.com/sunnag7/FontStyler

<com.sunnag.fontstyler.FontStylerView
              android:textStyle="bold"
              android:text="@string/about_us"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:paddingTop="8dp"
              app:fontName="Lato-Bold"
              android:textSize="18sp"
              android:id="@+id/textView64" />

-7

जवाब नहीं है, आप नहीं कर सकते। देखें क्या पूरे एप्लिकेशन के लिए एक कस्टम फ़ॉन्ट सेट करना संभव है? अधिक जानकारी के लिए।

वहाँ कामकाज से जुड़े हैं, लेकिन की तर्ज में कुछ भी नहीं "कोड यहाँ और मेरे सभी फोंट में से एक एक लाइन हो जाएगा इस के बजाय कि "।

(मैं इसके लिए Google -और Apple का धन्यवाद करता हूं)। कस्टम फोंट में एक जगह होती है, लेकिन उन्हें ऐप वाइड को बदलने में आसानी होती है, इससे कॉमिक सैंस एप्लिकेशन की एक पूरी दुनिया बन जाती थी )


41
आपकी टिप्पणी से पूरी तरह असहमत हैं। विश्व स्तर पर एक फॉण्ट को सेट करने के लिए तुच्छ होना चाहिए, न कि ऐसा कुछ जो आवश्यक प्रकार के वर्कअराउंड की आवश्यकता है। यह "कॉमिक सैंस" अनुप्रयोगों से बचने के लिए दुनिया के डेवलपर्स / डिजाइनरों पर निर्भर है, इसे लागू करने के लिए Google / Apple नहीं।
लोकलपीसीग्युई

4
संगति> फैंसी डिजाइन।
मार्टिन मार्कोसिनी

14
हालांकि, संगति <कार्यक्षमता। हम ऐसे ऐप विकसित करते हैं जो बाइबिल हिब्रू का प्रदर्शन करते हैं। एंड्रॉइड डिवाइस (नवीनतम एंड्रॉइड एल फोंट सहित) पर पाए जाने वाले स्टॉक फोंट के सभी कैंटिलेशन अंक प्रदान करने का एक संक्षिप्त काम करते हैं (और वे इस बात के लिए कि वे बेहतर हो रहे हैं, स्वर के निशान पर औसत दर्जे का काम करते हैं)। हमें पूरी तरह से अपने ऐप में एक कस्टम फॉन्ट का उपयोग करने की आवश्यकता है, और हमें इसके उपयोग के सभी आवश्यक विचारों को प्राप्त करने के लिए बस बहुत अधिक कोड लिखना होगा।
टेड हॉप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.