Unicode and "fitted"
A Unicode oddity about "fitted" numbers
I've found something disconcerting.
The range of "fitted" numbers is between U+F639 and U+F642.
However, I notice that it immediately goes from zero.fitted (U+F639) to two.fitted (U+F63A): what about the number 1?
Thank you
m
0
Comments
-
Those are private use area (PUA) codepoints, not standard Unicode. What is the source — a specific font, perhaps one of Adobe’s?
1 -
If I open any font with FontForge (I saw AGaramondPro, EB Garamond12, Arial) or create a new font that is still empty (ISO 10646 Unicode BMP or Full) I don't find the number 2 in that range...
0 -
On the same topic: is it worth adding slots for additional glyphs even if there are already some planned?For example, starting with U-F671, there are already slots for small caps. Some fonts place them there (AgaramondPro), many others in a manually added area after U+FFFE.For clarification:1) Can these additional slots always be considered PUA, or does this area have a different name?2) Are the glyphs placed in these additional slots called EUDCs?0
-
Unicode defines specific ranges of codepoints as Private Use Area. These are codepoints for which Unicode does not provide any standardised character assignments, and which can be used by anyone for any purpose. This means, of course, that PUA codepoints have no stable interoperability: the same codepoint may be used in different fonts for different characters and hence produce different glyphs when switching between fonts. PUA codepoints are not recognised by shaping engines so do not participate in OpenType Layout except, in some software, as defined for a DFLT script tag; they will not interact cleanly in layout processing with characters and glyphs that have standardised script properties, e.g. you couldn’t give a glyph a PUA codepoint and expect it to interact with Devanagari or other characters that rely on complex shaping. The other major issue is that all PUA codepoints have a strong left-to-right directional property, so they can’t be used for right-to-left writing systems except with higher-level direction controls.PUA does provide direct access to glyphs in text environments that do not support advanced glyph processing, but with major caveats. So, for example and as you have noted, some fonts assign PUA codepoints to smallcaps, and this enables users to access smallcap forms in environments that do not support the OpenType Layout c2sc and smcp features. But note that if users do this, they are breaking the text of their documents, because those PUA codepoints are not mapped to the upper- or lowercase letters, so text using those codepoints cannot be indexed, searched, sorted, or spell-checked. Whenever possible, use of PUA should be avoided, and GSUB or similar glyph processing mechanisms used instead.I only ever include PUA codepoints in fonts for things like custom symbols, e.g. a client logo, or to support character variations in software that does not provide access to appropriate OTL features. A good example of the latter is Athena Ruby, which uses character variant features (cvXX) as the preferred access for the many forms of each letter, but also maps these forms to PUA for use in software that does not support those features. I don’t assign PUA to things like smallcaps, numeral variants, or ligatures, because their use in text should be discouraged.For reference, the PUA codepoint ranges are U+E000..U+F8FF, U+F0000..U+FFFFF, and U+100000..U+10FFFF. You will sometimes see a portion of the first of these ranges identified as the ‘corporate use area’, where companies, e.g. Adobe, may have defined some mappings used for internal interoperability at some stage. Unicode does not define a corporate use area, though, and technically all PUA codepoints are equally unstable. Some companies that used PUA mappings historically, during the transition period from 8-bit custom encodings to Unicode and OpenType, stopped using them when better mechanisms became widely supported.1
-
As a side note: ‘fitted’ in the context of numerals can mean a couple of different things. It may be a synonym for proportionally spaced numerals in general, but it may also refer specifically to an individual numeral — most often 1 — or to a subset of digits that could be mixed into otherwise tabular numbers to improve spacing within text. This was a sort of efficiency in size-restricted character sets, where instead of having complete sets of tabular and proportionally spaced numerals in a font, you would have mostly tabular but with a fitted variant of 1 available for use in text.As I recall, some Adobe 8-bit fonts had a fitted 1, and my guess as to why it isn’t included in the run of PUA codepoints where you found other proportional numerals in some fonts is that it had already been assigned a codepoint in Adobe fonts elsewhere in PUA.0
-
Are the glyphs placed in these additional slots called EUDCs?End-User-Defined Character is a Microsoft term for a set of PUA codepoints for which the Windows registry provides some hard-coded behaviour for specific system fonts.0
-
Thanks for the detailed reply.To be practical: glyphs like "fitted" numerals or small caps should be inserted into slots added manually at the end, after U+FFFF. Right?0
-
To be practical: glyphs like "fitted" numerals or small caps should be inserted into slots added manually at the end, after U+FFFF. Right?I don’t know what this means, except that it may be particular to your tool. Different tools provide different ways to manage glyph sets, as well as different ways to manage character codepoint assignments to glyphs.Some user software, e.g. the glyph palette in several Adobe apps, may expose the internal glyph ID ordering of a font to users, and because of this I like to manage my glyph order explicitly in each project, so that the result is intuitive for users to find their way around. Unicode character order is not always the most intuitive ordering, especially if you have a font that includes script extension characters from mutliple, non-adjacent Unicode blocks, or if the Unicode order of a script does not correspond to the order normally used by the target linguistic community (this happens, for example, for some Indic scripts).1
-
I haven’t used FontForge in many years (and not often before that), so pardon my unfamiliarity, but…mauro sacchetto said:To be practical: glyphs like "fitted" numerals or small caps should be inserted into slots added manually at the end, after U+FFFF. Right?
If by “slots added manually at the end, after U+FFFF” you mean this is how you get slots without codepoints in FontForge, then yes.
(Of course, half of Unicode is “after U+FFFF” nowadays, but some apps are still Basic-Multilingual-Plane–centric.)0 -
Actually, around 2/3 of Unicode.0
-
Those blocks are indeed private‐use areas, but note that U+FFFFE, U+FFFFF, U+10FFFE, & U+10FFFF (unlike all other code points in the ranges cited) are not themselves private‐use characters, at least not in the usual sense. They are permanently reserved noncharacters: As the current specʼs §23.7.1 says, “noncharacters can be thought of as application-internal private-use code points” but are not intended for use outside any application‐internal uses. In other words, noncharacter code points are inappropriate for such things as variant glyphs and client logos to paste into whatever word processor or layout program; using noncharacters as such is nonconformant and risks misinterpretation even more than is usual with bona fide private‐use characters. Not that itʼs never appropriate to assign glyphs to noncharacter code points (for example, in a last‐resort font), but for most private‐use purposes you should stick to the 137,468 code points thus designated…sorry to box you in! 😛John Hudson said:For reference, the PUA codepoint ranges are U+E000..U+F8FF, U+F0000..U+FFFFF, and U+100000..U+10FFFF.1 -
I have done a web search, and found that "/zero.fitted", "/two.fitted", and so on are resource encoding names devised by Adobe; they refer to digits that are proportionally-spaced instead of monospace, and DTL Font Tools, rather than FontForge, is blamed for assigning them to particular codepoints among the private-use characters. I hope this helps in understanding the nominal topic of this thread, leading to productive discussion. Of course, it is possible I am only stating obvious things which all participants knew all along, but this had not been obvious to me.0
Categories
- All Categories
- 47 Introductions
- 4K Typeface Design
- 496 Type Design Critiques
- 587 Type Design Software
- 1.1K Type Design Technique & Theory
- 674 Type Business
- 897 Font Technology
- 29 Punchcutting
- 542 Typography
- 127 Type Education
- 333 Type History
- 82 Type Resources
- 114 Lettering and Calligraphy
- 33 Lettering Critiques
- 81 Lettering Technique & Theory
- 571 Announcements
- 100 Events
- 116 Job Postings
- 171 Type Releases
- 183 Miscellaneous News
- 270 About TypeDrawers
- 54 TypeDrawers Announcements
- 114 Suggestions and Bug Reports


