- From: MURATA Makoto <eb2m-mrt@asahi-net.or.jp>
- Date: Thu, 12 Dec 2019 13:50:03 +0900
- To: www-archive@w3.org
- Message-ID: <CALvn5EDE7kJh5i3J8Y2Qr+uhKjgubnxZPepHFmhb+iMgHGo+YA@mail.gmail.com>
---------- Forwarded message --------- From: Nat McCully <nmccully@adobe.com> Date: 2019年12月10日(火) 11:03 Subject: Re: UAX#50 conformance: Is it possible to update existing fonts without causing damage to existing non-CSS applications? To: Taro Yamamoto <tyamamot@adobe.com>, fantasai <fantasai@inkedblade.net> Cc: Florian Rivoal <florian@rivoal.net>, MURATA Makoto < eb2m-mrt@asahi-net.or.jp> I think that one could argue that UAX50 should not consider any historically SJIS character as "R", without risking side-effects of incorrect rotation or other Latin-mode typographic layout ("R" usually means lay the glyph out as you would Latin glyphs). This is why InDesign makes all SJIS characters (aka full-width codepoints in J fonts) as upright in vertical (not "R"), and the font designer is in charge of any pseudo-rotation via 'vert'. While InDesign would most likely rotate the "R" full-width glyphs correctly on their centers, I could see situations where the dominant Latin baseline or other Latin metrics would be assumed, or the underline position, or other Latin-mode behaviors, simply because "R" means "embed Latin horizontal behaviors into this part of the vertical line" currently. So, although it violates some concept of Unicode purity across scripts, I would not be opposed to changing UAX50 full-width codepoints that came from SJIS, to be "Tr" and not "R". --Nat On 12/9/19, 5:49 PM, "Taro Yamamoto" <tyamamot@adobe.com> wrote: 2019/12/10 0:37 に、"fantasai" <fantasai@inkedblade.net> を書き込みました: On 12/9/19 3:14 AM, Taro Yamamoto wrote: > > One example that was discussed at the last meeting with Murata--san: U+2192 RIGHTWARDS ARROW, whose vertical posture is defined to be 'R' by UAX50, but has been traditionally included in the 'vert' table of fonts based on the Adobe-Japan1-x Character Collection (glyph set) since the late 1980s. According to Nat, InDesign assumes its vertical posture to be 'Tr', so InDesign lets the 'vert' do the "pseudo-rotation" for the corresponding glyph without any scruple. There are very many similar cases, where glyphs corresponding to the characters whose vertical postures are defined to be 'R' by UAX50 are assumed to have the 'Tr' vertical posture, and as a result, our fonts have them in the 'vert' features to do the "pseudo-rotation". At this point, my guess may be wrong, but I have the idea that without this false assumption, if these characters had been assumed to have the 'R' vertical posture as expected by UAX50 today, it would have not been possible for anyone to guarantee that the glyphs corresponding to these characters could have been rotated correctly at the very center of the Japanese EM square type body. There is the distinction here between Japanese glyphs and Western glyphs to be detected beforehand. (Sorry for some typos and wrong English descriptions, I made corrections directly to the previous message of mine that you quoted above). Ah, this is the tricky case. A 'vert' feature which implements Tr-style rotated alternate instead of upright-style alternate for some glyph would be incompatible with the intention of UAX50/CSSWM for that glyph. I wonder if there are many examples other than arrows? There are very many: equal sign, some quotes, degree, other arrows, dashes and rules, etc. We think there are definitely glyphs for which a rotated presentation needs an alternate glyph rather than a simple rotation by the application. But this is why the 'vrtr' feature was added to OpenType. For such characters, it is intended for the application to rotate them, and the font to provide a 'vrtr' alternate for vertical presentation of a rotated glyph. Yes, I know this discussion, and it was first introduced in the following article: https://blogs.adobe.com/CCJKType/2013/08/tale-of-three-features.html The CSS Writing Modes system uses the combination of this 'vrtr' feature, the application’s ability to set any character upright or not upright (defaulting to UAX50), and the 'vert' feature as intended for truly upright typesetting of each character (excepting those such as brackets for which an upright presentation would be nonsensical, which are marked as Tr in UAX50). This should give authors, applications, and fonts together the ability to typeset text perfectly in each case, So, to say briefly, it follows that all 'Tr' glyphs are to be included in the 'vrtr' feature, and all 'Tu' glyphs are to be in the 'vert' feature, and all 'R' glyphs that have traditionally been included in the 'vert' features are to be excluded from the 'vert' feature (according to your UAX50-conforming scheme), doesn't it? The concern for compatibility of fonts with such a system then seems to be whether fonts have 'vert' alternates that rotate characters which, in a fully upright typesetting style, could be upright. For example, the case of arrows you discuss above. In such cases, there is no way to set that glyph upright except maybe to disable the 'vert' feature. If we call the abovementioned "UAX50 conforming" version of the 'vert' feature as "UAX50vert" only for this discussion here, UAX50vert won't include any R glyphs. Related to what I wrote in my previous message, I'm still a little concerned about the Japanese-typographic correctness and precision of the rotation that is to be done by applications without making use of the 'vert'-based glyph substitution (which may be called "pseudo-rotation"). For example, U+2015 HORIZONTAL BAR has been used widely as an EM-dash for Japanese, which is expected to be positioned at the mean height of, and centered at, the Japanese EM type body, because U+2014 EM DASH has been used for proportional Latin characters, and its height of the bar of the glyph included in fonts is far below the center line of the EM square body, as it must match the height of the lower-case characters (x-height), positioned slightly above the mean height between the x-height and the baseline (y = 0). Our Adobe-Japan1-x-baesd fonts include the glyph for the U+2015 HORIZONTAL BAR in the 'vert' feature with the "pseudo-rotated" vertical glyph. However, according to UAX50, U+2015 HORIZONTAL BAR has the 'R' vertical posture. So, it will not be included in the UAX50vert feature supporting UAX50. As the vertical posture is not 'Tr', it will not be in the 'vrtr' table as well. I guess applications are expected to rotate it when used in a vertical line. As far as Japanese vertical lines are concerned, whatever glyph is used (proportional Latin glyphs or full-width Japanese glyphs), as far as applications apply the rotation at the center of the square EM type body precisely, there will not be a problem. In addition to the incompatibility of existing Japanese fonts with UAX50 due to their inclusion of glyphs whose UAX50 vertical posture is R in their 'vert' feature, another type of incompatibility is due to their treating glyphs with the 'U' vertical posture in UAX50 as if they had the 'Tr' vertical posture. One typical example with this type of incompatibility in existing fonts can be seen in U+2016 DOUBLE VERTICAL LINE. The UAX50vert won't have the glyph for the character. The number of glyphs affected by this type of incompatibility is small. I will continue to consider this issue some more . . . . Regards, --Taro -- Regards, Makoto
Received on Thursday, 12 December 2019 04:50:45 UTC