Summary: | Can't match font family name by their localized name | ||
---|---|---|---|
Product: | fontconfig | Reporter: | lilydjwg |
Component: | library | Assignee: | fontconfig-bugs |
Status: | RESOLVED FIXED | QA Contact: | Behdad Esfahbod <freedesktop> |
Severity: | normal | ||
Priority: | medium | CC: | akira, cwryu, freedesktop |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
lilydjwg
2018-03-27 04:33:50 UTC
this may just unexpectedly worked on 2.12.6 for you. I can reproduce this with even 2.12.6 here and no problem on 2.12.5. apparently 161c738 makes the behavior unstable. will investigate more. Behdad, you said on the commit log: commit 161c7385477b9520fc4c63e3f09789d217c5cd67 Author: Behdad Esfahbod <behdad@behdad.org> Date: Wed Sep 27 18:36:25 2017 -0400 Use binary-search for finding name table entries VotoSerifGX has over 500 named instances, which means it also has over a thousand name table entries. So we were looking for names for over 500 pattern, looking for some thirty different name-ids, and using linear search across the 1000 entries! Makes scanning VotoSerifGX three times faster. The rest is probably the lang matching, which can also be shared across named-instances. Upcoming. Is it not yet completed? apparently this change picks up one entry for giving platform_id and name_id. thus other variant names which has different language_id in SFNT is missing in the cache. I don't know how/what GX fonts has in SFNT table though. Oh I see. Let me try to fix. Should be fixed in master. Please test. Thanks. commit a8a6efa805fc03e790214e8a0bc55843a258d774 (HEAD -> master, origin/master) Author: Behdad Esfahbod <behdad@behdad.org> Date: Sat Mar 31 19:19:36 2018 +0200 Share name-mapping across instances Continuation of previous commit. Makes scanning Voto Serif GX fast again. commit fa13f8835c2819e693c7250e0d6729e22f0509c2 Author: Behdad Esfahbod <behdad@behdad.org> Date: Sat Mar 31 18:36:20 2018 +0200 Fix name scanning In 161c738 I switched from linear name scanning to binary searching. That, however, ignored the fact that there might be more than one name table entry for each pair we want to query. To fix that and retain bsearch, I now get all name entries first, sort them, and use for bsearching. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=105756 This makes scaning Voto Serif GX twice slower though, since we are creating and sorting the list for each instance. In the next commit, I'll share this list across different instances to fix this. that works fine. thanks Behdad. It works fine, thanks! *** Bug 107370 has been marked as a duplicate of this bug. *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.