- From: MURATA Makoto <eb2m-mrt@asahi-net.or.jp>
- Date: Thu, 12 Dec 2019 17:32:03 +0900
- To: www-archive@w3.org
- Message-ID: <CALvn5EBLrXLh9WipUdyvYMx8ngPjayVhG5mb36JOjb7bDUxyKg@mail.gmail.com>
---------- Forwarded message --------- From: Taro Yamamoto <tyamamot@adobe.com> Date: 2019年12月12日(木) 16:56 Subject: Re: UAX#50 conformance: Is it possible to update existing fonts without causing damage to existing non-CSS applications? To: fantasai <fantasai@inkedblade.net> Cc: Florian Rivoal <florian@rivoal.net>, MURATA Makoto < eb2m-mrt@asahi-net.or.jp>, Nat McCully <nmccully@adobe.com> I found a typo in my last message: 'vtrt' should be 'vrtr'. There were two instances of this typo. FYI --Taro 2019/12/12 16:35 に、"Taro Yamamoto" <tyamamot@adobe.com> を書き込みました: All, I made some modifications to the UAX50 process that I tried to depict previously, and updated it as follows: I hope this is more correct and easier to read. FYI --Taro ===== How to process a Unicode Character according to UAX50 (in the ‘mixed’ mode): IF a Unicode character represented by the arrow shape here (→) tentatively, has the UAX50 vertical posture ‘U’: IF the font has the ‘vert’ feature: The ‘vert’ feature is always applied by the application and gets an output glyph: IF the glyph is included in the ‘vert’ feature: IF the ‘vert’ feature treats it as a ‘Tr’ glyph, and outputs a “pseudo-rotated” glyph ↓: It will be incompatible with UAX50, as the expected output has its Upright shape →. Go to 999. ELSE: The output result will be compaible with UAX50. Some design-dependent glyph shape adjustment for the vertical mode might be applied though). The application uses the output glyph in the Upright posture for the vertical writing mode →. ELSE: The application outputs the horizontal Upright glyph as is. → ELSE: The application outputs the horizontal Upright glyph as is. → ELIF the character → has the UAX50 vertical posture ‘Tu': IF the font has the ‘vert’ feature: The ‘vert’ feature is always applied by the application and gets an output glyph: IF the glyph is included in the ‘vert’ feature: IF the ‘vert’ feature treats the character as a ‘Tr’ glyph, and outputs a "pseudo-rotated” glyph ↓: It will Be Incompatible with UAX50, because the expected output is its upright shape →. Go to 999. ELSE: The output will be compatible with UAX50. (with some adjustment to the glyph design, typically, about its positioning, needed by the Japanese orthographic and typographic convention). The application uses the output glyph in the Upright posture for the vertical writing mode, ELSE: The application outputs the horizontal Upright glyph as is, but it may fail to represent the expected glyph shape of ‘Tu’, because it cannot be obtained from the font. → ELSE: The application outputs the horizontal Upright glyph as is, but it may fail to represent the expected glyph shape of ‘Tu’, because it cannot be obtained from the font. → ELIF the character → has the UAX50 vertical posture ‘Tr': IF the font has the ‘vert’ feature: The ‘vert’ feature is always applied by the application to get the output glyph: IF the glyph is included in the ‘vert’ feature: IF the ‘vert’ feature treats the character not as a ‘Tr’ glyph, and the output glyph does not have the “pseudo-rotated” effect: It may be incompatible with uax50, because the expected output is a "pseudo-rotated" shape ↓, but the output glyph is different from it. →. Go to 999. ELSE: The application does not rotate the horizontal Upright glyph, but uses the output glyph of the ‘vert’ feature. ↓ The output result will be compatible with UAX50. ↓ The application uses the output glyph in the “pseudo-rotated” posture for the vertical composition. ↓ ELSE: The application handles the horizontal Upright glyph by itself, possibly by rotating the horizontal Upright glyph, but it may fail to represent the expected glyph shape of ‘Tr’, because it cannot be obtained from the font. ↓ ELSE: The application handles the horizontal Upright glyph by itself, possibly by rotating the horizontal Upright glyph, but it may fail to represent the expected glyph shape of ‘Tr’ because it cannot be obtained from the font. ↓ ELIF the character → has the UAX50 vertical posture ‘R': IF the font has the ‘vert’ feature: The ‘vert’ feature must not be applied by the application. Any applications that apply the ‘vert’ feature to characters with the UAX50 vertical posture ‘R’ will be regarded as UAX50 incompatible applications. Go to 999. IF the font has the ‘vrtr’ feature: The ‘vtrt’ feature is always applied by the application to get the expected glyph before rotation. IF the glyph is included in the ‘vtrt’ feature: The application gets the output glyph, and rotates it for use in the vertical writing mode. ↓ ELSE: The application rotates the horizontal upright glyph for use in the vertical writing mode. ↓ ELSE: The application rotates the horizontal upright glyph for use in the vertical writing mode. ↓ END 999: An UAX50 incompatibility error. ==== -- Regards, Makoto
Received on Thursday, 12 December 2019 08:32:45 UTC