| Summary: | fc-query -i index produces inaccurate glyph map | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Dave P <dave.pawson> |
| Component: | fontconfig | Assignee: | Matthias Clasen <mclasen> |
| Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 16 | CC: | fonts-bugs, mclasen, paul, pnemade, tagoh |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-01-19 09:52:14 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Dave P
2012-01-18 14:25:31 UTC
Please attach the real output of fc-query but not what you've modified with your tool. given that it's simply converted to the array format as is: ["00e0", "00000000","00000000","00000070","00000800","00000000","00000000","00000000","00000000"], This one should be: 00e0: 00000000 00000000 00000070 00000800 00000000 00000000 00000000 00000000 And the available glyphs in this font for the range of U+E000~U+E0FF is U+E046, U+E045, U+E044 and U+E06B. $ fc-query -i index /files/fonts/GFSBodoni.otf Pattern has 20 elts (size 32) family: "GFS Bodoni"(s) "GFS Bodoni Rg"(s) familylang: "en"(s) "en"(s) style: "Regular"(s) stylelang: "en"(s) fullname: "GFSBodoni-Regular"(s) "GFS Bodoni"(s) "GFS Bodoni Regular"(s) fullnamelang: "en"(s) "en"(s) "en"(s) slant: 0(i)(s) weight: 80(i)(s) width: 100(i)(s) foundry: "unknown"(s) file: "/files/fonts/GFSBodoni.otf"(s) index: 0(i)(s) outline: FcTrue(s) scalable: FcTrue(s) charset: 0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffdffe ffffffff ffffffff 0001: ffffffff feffffff ffffffff ffffffff 00040000 00818003 00000000 fc300000 0002: 03000000 00000000 00000000 00000000 00040000 01850000 3f0000c0 00000008 0003: 00040200 00000008 00000000 44300000 ffffd7f0 fffffffb 44637fff 00000001 0004: 00000000 00000000 00000000 00000000 00000000 00000000 000c0000 000000c0 001e: 00000000 00000000 00000000 00000000 0000003f ffffffff ffffffff 03ffffff 001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff 0020: 7fff0bf4 560d0067 00000010 fff10000 00007fff 0000109e 00000000 00000000 0021: 00480020 00004044 fff80000 00000000 00200000 00000100 00000000 00000000 0022: 44068044 00000f80 00000120 00000033 00000000 00000000 00000000 00000000 0023: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0025: 00000000 00000000 00000000 00000000 00000000 00000c02 00008400 00000040 00e0: 00000000 00000000 00000070 00000800 00000000 00000000 00000000 00000000 00f5: 07fdffff 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00f6: 00000000 fe000000 7fe30007 ffffe7fe ffffffff 000c3fff 3001ce08 ffffff15 00f7: 00000000 83ff0052 00000000 07ffffff 00000000 81108102 00000000 ff7fffff 00fb: 0000001f 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00ff: 00000000 00000000 00000000 00000000 00000000 00000 I.e. the appropriate line is as per the previous (I use it for python processing) this isn't a bug then. if U+E059 is available in this font, the output should be: 00e0: 00000000 00000000 02000070 00000800 00000000 00000000 00000000 00000000 E059 is not available according to fontforge? You said details: 0xe059 >> 8 = 0xe0 0xe059 & 0xff / 32 = 2 (+1 column) 0xe059 & 0x1f = 25 (bit) It's the position for U+E059. I think fc-query shows it as present, So (if I understand it correctly) the 7 in the group 00000070 represents characters at e059 e05a e05b Dave Where did you find 7 from my explanation? I have shown you twice how it looks like if available. (1 << 25) == 0x2000000, anyway. Please close the bug. I clearly don't understand the use of the matrix. I'll take it up on the mailing list. Thanks (In reply to comment #6) > Please close the bug. I clearly don't understand the use of the matrix. > I'll take it up on the mailing list. Dave, In the row e0, the first group of 32 bits shows the presence of e000-e01f (none), the second shows e020-e03f (none), the third e040-e05f (e044-e046), etc. You have to proceed for low to high bits in each group. |