Hi Fonts SIG,
Currently there is poor discoverability of what fonts provide a glyph for a particular a code point.
It was recently asked [1] what font package in Fedora is needed to display U+130DF [2].
## Method 1: Download all font packages and use fc-list
One way to determine this would be to install every font package and then issue the following `fc-list` invocation: `fc-list :charset=130DF`:
```sh sudo dnf repoquery --available --whatprovides 'font(*)' | xargs sudo dnf install -y fc-list :charset=130DF ```
Aside: Is there a better way to list all font packages than this:
sudo dnf repoquery --whatprovides 'font(*)'
## Method 2: Pipe Dream: Declare code points as PROVIDES in the RPM spec
It would be cool if there was somehow a way to declare in the RPM spec of the font RPM what code points this font has glyphs for. Then something like `sudo dnf whatprovdes glyph(130DF)` could be used to discover the fonts that have a glyph for U+130DF.
Probably not feasible, but throwing it out there.
## Method 3: A Fedora website: Fedora Font Showcase
A website could be designed that showcases the fonts Fedora has packaged.
It could include a **search by code point** feature.
A database containing the relationship between font packages and code points could be created using the technique of Method 1.
## Other ideas?
[1]: https://ask.fedoraproject.org/t/which-font-is-needed-to-display-correctly/27... [2]: https://www.compart.com/en/unicode/U+130DF
Hi,
On Tue, Nov 8, 2022 at 6:24 AM Robin A. Meade robin.a.meade@gmail.com wrote:
Hi Fonts SIG,
Currently there is poor discoverability of what fonts provide a glyph for a particular a code point.
It was recently asked [1] what font package in Fedora is needed to display U+130DF [2].
## Method 1: Download all font packages and use fc-list
One way to determine this would be to install every font package and then issue the following `fc-list` invocation: `fc-list :charset=130DF`:
sudo dnf repoquery --available --whatprovides 'font(*)' | xargs sudo dnf install -y fc-list :charset=130DF
Aside: Is there a better way to list all font packages than this:
sudo dnf repoquery --whatprovides 'font(*)'
Well, a dependency tag of "font(*)" was too much and problematic to decide what should be installed by default according to the language coverage. so it has been moved to langpacks now. you can simply try "dnf install langpacks*" or "dnf install @fonts" assuming that packagers are updating comps. If you don't rely on them, you could try "dnf install *-fonts" of course.
## Method 2: Pipe Dream: Declare code points as PROVIDES in the RPM spec
It would be cool if there was somehow a way to declare in the RPM spec of the font RPM what code points this font has glyphs for. Then something like `sudo dnf whatprovdes glyph(130DF)` could be used to discover the fonts that have a glyph for U+130DF.
Probably not feasible, but throwing it out there.
No, it isn't realistic and too much to cover all the glyph coverage in a font. we could add something per the Unicode code blocks instead, which looks like "lang" property though, it doesn't guarantee how much it actually covers (like what "lang" currently presents). In that sense, it may actually be a duplicate feature of "lang". Or it could be flagging only when it covers all in a certain block. though I'm not sure how much the fonts satisfy them. in either way, I don't think it would really help you to find out "U+130DF".
## Method 3: A Fedora website: Fedora Font Showcase
A website could be designed that showcases the fonts Fedora has packaged.
It could include a **search by code point** feature.
A database containing the relationship between font packages and code points could be created using the technique of Method 1.
This somehow sounds realistic to me. I'm not sure how to sync up databases against package updates though, that way may be worth taking a look.
## Other ideas?
fonts mailing list -- fonts@lists.fedoraproject.org To unsubscribe send an email to fonts-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/fonts@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue