Directory

Provide alternate preview text string for font faces with poor preview results · Issue #22 · WordPress/google-fonts-to-wordpress-collection · GitHub
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide alternate preview text string for font faces with poor preview results #22

Open
ironprogrammer opened this issue Feb 29, 2024 · 3 comments

Comments

@ironprogrammer
Copy link

Follow up to #20.

From #20 (comment):

For problematic fonts without glyphs to support printing existing previews, could the exclusion list include an [optional?] alternate string of existing glyphs to use instead?

E.g. for Chenla, something like ឈិនឡា (Google Translate says that's "Chenla" in Khmer). Perhaps online search and the polyglots community can help identify good strings to use for this relatively short list.

And if there are remaining fonts with missing default glyphs that don't spell anything, then this string could be used to exhibit a sample of glyphs a user would have access to.

The end result would be that the font family name displayed in the UI would be taken from this string, whether as actual text (presuming the font face has been enqueued) or used in place of family.name during the SVG preview generation process.

@creativecoder
Copy link
Collaborator

creativecoder commented Apr 16, 2024

Here's a list of fonts I see that would benefit from alternative preview text (may not be complete!).

Some are clearly meant for non-latin scripts, and should have previews in those scripts. Take the Noto Sans/Serif or Anek families of fonts, for example. The current previews all look nearly identical, you can't really preview the font unless using the characters the font is intended for.

Other fonts were designed to support both latin and a primary script, like Kumar One, so could stay with the current preview text. But there should be some way to indicate that they are designed for another primary script.

With over 300 of these fonts, there's roughly 20% of the collection that seem to be primarily intended for non-latin characters, so this seem fairly high priority to me.

  • Abyssinica SIL
  • Akatab
  • Akaya Kanadaka
  • Akaya Telivigala
  • Alkalami
  • Amiri
  • Amiri Quran
  • Anek Bangla
  • Anek Devanagari
  • Anek Gujarati
  • Anek Gurmukhi
  • Anek Kannada
  • Anek Malayalam
  • Anek Odia
  • Anek Tamil
  • Anek Telugu
  • Annapurna SIL
  • Aoboshi One
  • Aref Ruqaa
  • Aref Ruqaa Ink
  • Bagel Fat One
  • Bakbak One
  • Baloo 2
  • Baloo Bhai 2
  • Baloo Bhaijaan 2
  • Baloo Bhaina 2
  • Baloo Chettan 2
  • Baloo Da 2
  • Baloo Paaji 2
  • Baloo Tamma 2
  • Baloo Tammudu 2
  • Baloo Thambi 2
  • BhuTuka Expanded One
  • BIZ UDGothic
  • BIZ UDMincho
  • BIZ UDPGothic
  • BIZ UDPMincho
  • Bokor
  • Braah One
  • Cairo
  • Cairo Play
  • Chathura
  • Chenla
  • Cherry Bomb One
  • Chokokutai
  • Content
  • Dai Banna SIL
  • Darumadrop One
  • David Libre
  • Dhurjati
  • Frank Ruhl Libre
  • Gajraj One
  • Gasoek One
  • Gidugu
  • Gowun Batang
  • Gowun Dodum
  • Grandiflora One
  • Gulzar
  • Harmattan
  • Hind Siliguri
  • IBM Plex Sans Arabic
  • IBM Plex Sans Devanagari
  • IBM Plex Sans Hebrew
  • IBM Plex Sans JP
  • IBM Plex Sans KR
  • IBM Plex Sans Thai
  • IBM Plex Sans Thai Looped
  • Kaisei Decol
  • Kaisei HarunoUmi
  • Kaisei Optie
  • Kaisei Tokumin
  • Kay Pho Du
  • Khmer
  • Kirang Haerang
  • Koh Santepheap
  • Konkhmer Sleokchher
  • Kumar One
  • Kumar One Outline
  • Lateef
  • Linefont
  • Lisu Bosa
  • Marhey
  • Mingzat
  • Moirai One
  • Monomaniac One
  • Moulpali
  • Namdhinggo
  • Narnoor
  • Noto Emoji
  • Noto Kufi Arabic
  • Noto Music
  • Noto Naskh Arabic
  • Noto Nastaliq Urdu
  • Noto Rashi Hebrew
  • Noto Sans Adlam
  • Noto Sans Adlam Unjoined
  • Noto Sans Anatolian Hieroglyphs
  • Noto Sans Arabic
  • Noto Sans Armenian
  • Noto Sans Avestan
  • Noto Sans Balinese
  • Noto Sans Bamum
  • Noto Sans Bassa Vah
  • Noto Sans Batak
  • Noto Sans Bhaiksuki
  • Noto Sans Brahmi
  • Noto Sans Buginese
  • Noto Sans Buhid
  • Noto Sans Canadian Aboriginal
  • Noto Sans Carian
  • Noto Sans Caucasian Albanian
  • Noto Sans Chakma
  • Noto Sans Cham
  • Noto Sans Cherokee
  • Noto Sans Chorasmian
  • Noto Sans Coptic
  • Noto Sans Cuneiform
  • Noto Sans Cypriot
  • Noto Sans Cypro Minoan
  • Noto Sans Deseret
  • Noto Sans Duployan
  • Noto Sans Egyptian Hieroglyphs
  • Noto Sans Elbasan
  • Noto Sans Elymaic
  • Noto Sans Ethiopic
  • Noto Sans Georgian
  • Noto Sans Glagolitic
  • Noto Sans Gothic
  • Noto Sans Grantha
  • Noto Sans Gujarati
  • Noto Sans Gunjala Gondi
  • Noto Sans Gurmukhi
  • Noto Sans Hanifi Rohingya
  • Noto Sans Hanunoo
  • Noto Sans Hatran
  • Noto Sans Hebrew
  • Noto Sans Imperial Aramaic
  • Noto Sans Indic Siyaq Numbers
  • Noto Sans Inscriptional Pahlavi
  • Noto Sans Inscriptional Parthian
  • Noto Sans Javanese
  • Noto Sans Kaithi
  • Noto Sans Kannada
  • Noto Sans Kawi
  • Noto Sans Kayah Li
  • Noto Sans Kharoshthi
  • Noto Sans Khmer
  • Noto Sans Khojki
  • Noto Sans Khudawadi
  • Noto Sans Lao
  • Noto Sans Lao Looped
  • Noto Sans Lepcha
  • Noto Sans Limbu
  • Noto Sans Linear A
  • Noto Sans Linear B
  • Noto Sans Lisu
  • Noto Sans Lycian
  • Noto Sans Lydian
  • Noto Sans Mahajani
  • Noto Sans Malayalam
  • Noto Sans Mandaic
  • Noto Sans Manichaean
  • Noto Sans Marchen
  • Noto Sans Masaram Gondi
  • Noto Sans Math
  • Noto Sans Mayan Numerals
  • Noto Sans Medefaidrin
  • Noto Sans Meetei Mayek
  • Noto Sans Mende Kikakui
  • Noto Sans Meroitic
  • Noto Sans Miao
  • Noto Sans Modi
  • Noto Sans Mongolian
  • Noto Sans Mro
  • Noto Sans Multani
  • Noto Sans Myanmar
  • Noto Sans NKo
  • Noto Sans NKo Unjoined
  • Noto Sans Nabataean
  • Noto Sans Nag Mundari
  • Noto Sans Nandinagari
  • Noto Sans New Tai Lue
  • Noto Sans Newa
  • Noto Sans Nushu
  • Noto Sans Ogham
  • Noto Sans Ol Chiki
  • Noto Sans Old Hungarian
  • Noto Sans Old Italic
  • Noto Sans Old North Arabian
  • Noto Sans Old Permic
  • Noto Sans Old Persian
  • Noto Sans Old Sogdian
  • Noto Sans Old South Arabian
  • Noto Sans Old Turkic
  • Noto Sans Oriya
  • Noto Sans Osage
  • Noto Sans Osmanya
  • Noto Sans Pahawh Hmong
  • Noto Sans Palmyrene
  • Noto Sans Pau Cin Hau
  • Noto Sans Phags Pa
  • Noto Sans Phoenician
  • Noto Sans Psalter Pahlavi
  • Noto Sans Rejang
  • Noto Sans Runic
  • Noto Sans Samaritan
  • Noto Sans Saurashtra
  • Noto Sans Sharada
  • Noto Sans Shavian
  • Noto Sans Siddham
  • Noto Sans SignWriting
  • Noto Sans Sinhala
  • Noto Sans Sogdian
  • Noto Sans Sora Sompeng
  • Noto Sans Soyombo
  • Noto Sans Sundanese
  • Noto Sans Syloti Nagri
  • Noto Sans Symbols
  • Noto Sans Symbols 2
  • Noto Sans Syriac
  • Noto Sans Syriac Eastern
  • Noto Sans Tagalog
  • Noto Sans Tagbanwa
  • Noto Sans Tai Le
  • Noto Sans Tai Tham
  • Noto Sans Tai Viet
  • Noto Sans Takri
  • Noto Sans Tamil Supplement
  • Noto Sans Tangsa
  • Noto Sans Telugu
  • Noto Sans Thaana
  • Noto Sans Thai Looped
  • Noto Sans Tifinagh
  • Noto Sans Tirhuta
  • Noto Sans Ugaritic
  • Noto Sans Vai
  • Noto Sans Vithkuqi
  • Noto Sans Wancho
  • Noto Sans Warang Citi
  • Noto Sans Yi
  • Noto Sans Zanabazar Square
  • Noto Serif Ahom
  • Noto Serif Armenian
  • Noto Serif Balinese
  • Noto Serif Devanagari
  • Noto Serif Dogra
  • Noto Serif Ethiopic
  • Noto Serif Georgian
  • Noto Serif Grantha
  • Noto Serif Gujarati
  • Noto Serif Gurmukhi
  • Noto Serif HK
  • Noto Serif Hebrew
  • Noto Serif Kannada
  • Noto Serif Khitan Small Script
  • Noto Serif Khmer
  • Noto Serif Khojki
  • Noto Serif Lao
  • Noto Serif Makasar
  • Noto Serif Malayalam
  • Noto Serif Myanmar
  • Noto Serif NP Hmong
  • Noto Serif Old Uyghur
  • Noto Serif Oriya
  • Noto Serif Ottoman Siyaq
  • Noto Serif Sinhala
  • Noto Serif Tamil
  • Noto Serif Tangut
  • Noto Serif Telugu
  • Noto Serif Thai
  • Noto Serif Tibetan
  • Noto Serif Toto
  • Noto Serif Vithkuqi
  • Noto Serif Yezidi
  • Noto Traditional Nushu
  • Noto Znamenny Musical Notation
  • Nuosu SIL
  • Padauk
  • Padyakke Expanded One
  • Peddana
  • Qahiri
  • Reem Kufi
  • Reem Kufi Fun
  • Reem Kufi Ink
  • Rozha One
  • Ruwudu
  • Sahitya
  • Scheherazade New
  • Shippori Antique
  • Shippori Antique B1
  • Shippori Mincho
  • Shippori Mincho B1
  • Shizuru
  • Siemreap
  • Slackside One
  • Suravaram
  • Tai Heritage Pro
  • Taprom
  • Tiro Bangla
  • Tiro Devanagari Hindi
  • Tiro Devanagari Marathi
  • Tiro Devanagari Sanskrit
  • Tiro Gurmukhi
  • Tiro Kannada
  • Tiro Tamil
  • Tiro Telugu
  • Tsukimi Rounded
  • Wavefont
  • Yeon Sung
  • Yuji Hentaigana Akari
  • Yuji Hentaigana Akebono
  • ZCOOL KuaiLe
  • ZCOOL QingKe HuangYou
  • ZCOOL XiaoWei
  • Zen Antique
  • Zen Antique Soft
  • Zen Kaku Gothic Antique
  • Zen Kaku Gothic New
  • Zen Kurenaido
  • Zen Maru Gothic
  • Zen Old Mincho

@ironprogrammer
Copy link
Author

Thanks, @creativecoder, for identifying other places where this idea could apply! 🙌🏻

Does the subsets metadata provide enough of a hint to narrow down and identify the language/translation needed for non-latin (and non-latin-adjacent) scripts?

Here's an albeit simple result where korean was returned when querying Bagel Fat One, which in this case the preview is legible in English, but not representative of the Hangul (Korean) character set.

{
  "kind": "webfonts#webfontList",
  "items": [
    {
      "family": "Bagel Fat One",
      "variants": [
        "regular"
      ],
      "subsets": [
        "korean",
        "latin",
        "latin-ext"
      ],
      "version": "v1",
      "lastModified": "2023-06-07",
      "files": {
        "regular": "https://fonts.gstatic.com/s/bagelfatone/v1/hYkPPucsQOr5dy02WmQr5Zkd0Btmvv0dSbM.woff2"
      },
      "category": "display",
      "kind": "webfonts#webfont",
      "menu": "https://fonts.gstatic.com/s/bagelfatone/v1/hYkPPucsQOr5dy02WmQr5Zkd4B9svw.woff2"
    }
  ]
}

When a translation or replacement string is in place, then the UI could include the representative string and also the latin-based font name for reference. E.g. this ugly mockup:

Bagel Fat One font sample

@creativecoder
Copy link
Collaborator

Does the subsets metadata provide enough of a hint to narrow down and identify the language/translation needed for non-latin (and non-latin-adjacent) scripts?

@ironprogrammer Possibly? What I'm not sure of is how to differential between fonts that are primarily for non-latin scripts and those that happen to support it.

For example, here's Roboto's subsets value

      "subsets": [
        "cyrillic",
        "cyrillic-ext",
        "greek",
        "greek-ext",
        "latin",
        "latin-ext",
        "vietnamese"
      ],

It has a Vietnamese subset, but is more of a general purpose font.

Perhaps a font with only latin(-ext) and one other subset would be an indicator? It needs more investigation.

When a translation or replacement string is in place, then the UI could include the representative string and also the latin-based font name for reference.

I think having both is a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants