डेवलपर एपीआई

Developer API से, सभी फ़ैमिली के मेटाडेटा का ऐक्सेस मिलता है Google Fonts से. यह ऐप्लिकेशन को उपलब्ध फ़ॉन्ट फ़ैमिली के लिए Google Fonts. कॉन्टेंट बनाने REST API, JSON फ़ॉर्मैट में डेटा उपलब्ध कराता है, जिसमें स्टाइल और स्क्रिप्ट शामिल होती हैं जिन्हें Google Fonts में सबसेट कहा जाता है. एपीआई इस सूची को क्रम से लगा सकता है: परिवारों को अंग्रेज़ी वर्णमाला के क्रम में, जोड़े जाने की तारीख के हिसाब से, स्टाइल की संख्या के हिसाब से, ट्रेंड के हिसाब से या लोकप्रियता.

ऑडियंस

यह दस्तावेज़ वेब और ऐप्लिकेशन डेवलपर के लिए है. इसका उपयोग करके Developer API को JavaScript की जानकारी होना ज़रूरी है.

एक छोटा सा उदाहरण

Google फ़ॉन्ट सेवा से उपलब्ध फ़ॉन्ट की प्रभावी सूची फिर से पाने के लिए, भेजें नीचे दिया गया अनुरोध:

https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY

नतीजे का सैंपल कुछ ऐसा दिखेगा:

{
 "kind": "webfonts#webfontList",
 "items": [
  [...]
  {
    "family": "Anonymous Pro",
    "variants": [
      "regular",
      "italic",
      "700",
      "700italic"
    ],
    "subsets": [
      "cyrillic",
      "greek",
      "latin",
      "latin-ext"
    ],
    "version": "v21",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pLlw89CH98Ko.ttf",
      "italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2fp2a15UIB7Un-bOeISG3pHl428AP44Kqr2Q.ttf",
      "700": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2cp2a15UIB7Un-bOeISG3pFuAT0CnW7KOywKo.ttf",
      "700italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2ap2a15UIB7Un-bOeISG3pHl4OTCzc6IG30KqB9Q.ttf"
    },
    "category": "monospace",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pHl028A.ttf"
  },
  {
    "family": "Antic",
    "variants": [
      "regular"
    ],
    "subsets": [
      "latin"
    ],
    "version": "v19",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRaZLodgzydtk.ttf"
    },
    "category": "sans-serif",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRZZKq9w.ttf"
  },
  [...]
 ]
}

Google को दिए गए आपके आवेदन की पहचान की जा रही है

हर बार जब आपका ऐप्लिकेशन इस पते पर अनुरोध भेजता है, तो उसे अपनी पहचान की ज़रूरत होती है आपको हर ऐप्लिकेशन के लिए एक एपीआई पासकोड शामिल करना होगा, ताकि आप Google Fonts Developer API का इस्तेमाल कर सकें. अनुरोध.

एपीआई पासकोड हासिल करना और उसका इस्तेमाल करना

डिजिटल सुरक्षा कुंजी पाएं

या क्रेडेंशियल पेज में जाकर क्रेडेंशियल बनाएं.

एपीआई पासकोड मिलने के बाद, आपका ऐप्लिकेशन क्वेरी पैरामीटर को जोड़ सकता है सभी अनुरोध यूआरएल के लिए key=yourAPIKey.

यूआरएल में एम्बेड करने के लिए, एपीआई पासकोड सुरक्षित होता है; इसे कोड में बदलने की ज़रूरत नहीं होती.

जानकारी

JSON रिस्पॉन्स (ऊपर दिया गया सैंपल देखें) "items" नाम के कलेक्शन से मिलकर बनता है इसमें हर फ़ॉन्ट फ़ैमिली के बारे में जानकारी वाले ऑब्जेक्ट होते हैं.

फ़ैमिली ऑब्जेक्ट में ये फ़ील्ड शामिल होते हैं:

  • प्रकार: ऑब्जेक्ट का प्रकार, वेबफ़ॉन्ट ऑब्जेक्ट
  • परिवार: परिवार का नाम
  • सबसेट: परिवार के साथ इस्तेमाल की जा सकने वाली स्क्रिप्ट की सूची
  • मेन्यू: परिवार के सबसेट का यूआरएल, जिसमें सिर्फ़ परिवार का नाम शामिल हो.
  • वैरिएंट: परिवार के लिए उपलब्ध अलग-अलग स्टाइल
  • वर्शन: फ़ॉन्ट फ़ैमिली का वर्शन.
  • ऐक्सिस: ऐक्सिस रेंज, वैरिएबल फ़ॉन्ट के लिए अनुरोध करने पर ही दिखती है. इसके बारे में नीचे बताया गया है.
  • आखिरी बार बदलाव किया गया: वह तारीख (फ़ॉर्मैट "yyyy-MM-dd"), जिसके लिए फ़ॉन्ट फ़ैमिली में बदलाव किया गया था पिछली बार.
  • फ़ाइलें: फ़ॉन्ट फ़ैमिली की हर फ़ाइल (इस्तेमाल की जा सकने वाली सभी स्क्रिप्ट के साथ) उपलब्ध वैरिएंट.

हर फ़ैमिली की जानकारी को एक साथ जोड़ने से, Fonts API बनाना आसान हो जाता है अनुरोध. उदाहरण के लिए, मान लीजिए कि हमारे पास फ़ैमिली ऑब्जेक्ट के लिए रेफ़रंस है अनाम:

[...]

var apiUrl = [];
apiUrl.push('https://fonts.googleapis.com/css?family=');
apiUrl.push(anonymousPro.family.replace(/ /g, '+'));
if (contains('italic', anonymousPro.variants)) {
  apiUrl.push(':');
  apiUrl.push('italic');
}
if (contains('greek', anonymousPro.subsets)) {
  apiUrl.push('&subset=');
  apiUrl.push('greek');
}

// url: 'https://fonts.googleapis.com/css?family=Anonymous+Pro:italic&subset=greek'
var url = apiUrl.join('');

[...]

क्रम से लगाना

फ़ैमिली की सूची, डिफ़ॉल्ट रूप से किसी खास क्रम में नहीं दिखती है. हां हालांकि, क्रम से लगाने वाले पैरामीटर का इस्तेमाल करके सूची को क्रम से लगाया जा सकता है:

https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity

क्रम से लगाने के लिए संभावित वैल्यू ये हैं:

  • अक्षर: सूची को वर्णमाला के क्रम में लगाएं
  • तारीख: सूची को जोड़े जाने की तारीख के मुताबिक क्रम से लगाएं (सबसे हाल में जोड़ा गया या अपडेट किया गया फ़ॉन्ट)
  • लोकप्रियता: लोकप्रियता के हिसाब से सूची को क्रम से लगाएं (सबसे लोकप्रिय परिवार पहले)
  • शैली: सूची को उपलब्ध शैलियों की संख्या के अनुसार क्रम से लगाएं (ज़्यादातर शैलियों के साथ परिवार पहले)
  • रुझान में है: इस्तेमाल में बढ़ोतरी देखकर परिवारों के हिसाब से सूची को क्रम से लगाएं (परिवार को सबसे ज़्यादा बढ़ोतरी वाले व्यू)

फ़िल्टर करना

किसी खास फ़ैमिली ग्रुप के बारे में क्वेरी करें

https://www.googleapis.com/webfonts/v1/webfonts?family=family_name

वे सभी परिवार जो ग्रीक सबसेट का समर्थन करते हैं

https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name

ऑप्टिमाइज़ेशन

woff2 फ़ॉर्मैट में कंप्रेस की गई फ़ॉन्ट फ़ाइलें वापस पाने के लिए

https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2

वैरिएबल फ़ॉन्ट

वैरिएबल फ़ॉन्ट के लिए अलग-अलग स्टाइल इस्तेमाल की जा सकती हैं. डिफ़ॉल्ट रूप से, स्टैटिक फ़ॉन्ट फ़ाइलों को स्टैंडर्ड तौर पर इंस्टैंशिएट किए गए वैरिएबल फ़ॉन्ट के लिए दिखाया जाता है पोज़िशन. अगर capability=VF सेट है, तो वैरिएबल की फ़ॉन्ट फ़ाइल स्टैटिक के बजाय मिलती है और साथ में उपलब्ध ऐक्सिस रेंज मेटाडेटा भी शामिल हैं. उदाहरण का उदाहरण:

https://www.googleapis.com/webfonts/v1/webfonts?capability=VF

रिस्पॉन्स का उदाहरण:

{
 "kind": "webfonts#webfontList",
 "items": [
  [...]
  {
    "family": "Noto Sans Display",
    "variants": [
      "regular",
      "italic"
    ],
    "subsets": [
      "cyrillic",
      "cyrillic-ext",
      "greek",
      "greek-ext",
      "latin",
      "latin-ext",
      "vietnamese"
    ],
    "version": "v20",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLplK4fy6r6tOBEJg0IAKzqdFZVZxokvfn_BDLxR.ttf",
      "italic": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpjK4fy6r6tOBEJg0IAKzqdFZVZxrktdHvjCaxRgew.ttf"
    },
    "category": "sans-serif",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_3cKZTCa3g.ttf",
    "axes": [
      {
        "tag": "wdth",
        "start": 62.5,
        "end": 100
      },
      {
        "tag": "wght",
        "start": 100,
        "end": 900
      }
    ]
  },
  [...]
 ]
}

एपीआई यूआरएल की खास बातें

webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]

your_key: आपकी डेवलपर एपीआई कुंजी.

family: फ़ॉन्ट फ़ैमिली का नाम.

subset: फ़ॉन्ट के सबसेट का नाम.

capability: VF | WOFF2.

sort: alpha | date | popularity | style | trending.