- From: Glenn Adams <glenn@skynav.com>
- Date: Tue, 20 Aug 2013 08:48:18 -0600
- To: "De Muyter, Yves (Contractor)" <Yves.DeMuyter@eu.sony.com>
- Cc: Nigel Megitt <nigel.megitt@bbc.co.uk>, TTWG <public-tt@w3.org>
- Message-ID: <CACQ=j+eo5EY=J_G1osaZtP1h3kZdGAWOo_4eLq_XPJ9kU4aybg@mail.gmail.com>
Almost. See corrections/comments inline below. On Tue, Aug 20, 2013 at 1:58 AM, De Muyter, Yves (Contractor) < Yves.DeMuyter@eu.sony.com> wrote: > I can make following conclusion:**** > > ** ** > > used tts:fontSize=”75%”**** > > default tts:fontSize=”1c”**** > > cellResolution=”16 32” > Keep in mind that the default cellResolution is "32 15", meaning 32 columns and 15 rows. Columns is specified first, rows second. I will assume that in this example you are specifying a non-default cell resolution and that you reversed the values, i.e., you should have said "32 16" if you meant 32 columns and 16 rows. > **** > > tt extend=”640px 480px” > I assume that here you mean tts:extent="640px 480px" on the root <tt/> element. > **** > > ** ** > > scaleH = scaling factor to scale emH to 480/16 ( = 1c height ) > It would be better to restate this as follows: (1) tts:fontSize="75%" (on some content element E) is resolved to a computed value of 22.5px as follows: - if the region R into which E is select in a synchronic intermediate document does not specify a font size, then the initial value of 1c applies to the region R, and, as a consequence, the computed value of fontSize on R is 30px (480px/16); - every other ancestor A of E up to (but not including) R, inherits this value of 30px to form the computed value of fontSIze for A (provided A does not specify a font size itself); - the value 75% on E is resolved according to its immediate ancestor A', to 30px * 75% = 22.5px; (2) scaleH = scaling factor to scale emH to 22.5px; > **** > > ** ** > > font height: (scaleH * emH) * 75%**** > > font width: (*scaleH* * emW) * 75% > Given the above, best restate this as: (1) computed font height of E: 22.5px (2) computed font width of E: 22.5px (3) scale font isomorphically so that EM square is 22.5px in height > **** > > ** ** > > where emH = em height and em W = em width, the constants from the font > chosen.**** > > ** ** > > Is it so that if I would use tts:fontSize=”75% 75%”, it would > mathematically mean it’s deducted from a default that is tts:fontSize=”1c > 1c” and hence have following formulas ?**** > > ** ** > > scaleW = scaling factor to scale emW to 640/32 ( = 1c width )**** > > ** ** > > font height: (scaleH * emH) * 75%**** > > font width: (scaleW * emW) * 75% > Using the above corrections, this would be best stated as: (1) computed font height of E: 22.5px (2) computed font width of E: 15px (3) scale font anamorphically so that EM square is 22.5px in height and 15px in width > Thanks**** > > ** ** > > Yves**** > > ** ** > > *From:* Glenn Adams [mailto:glenn@skynav.com] > *Sent:* 19 August 2013 17:45 > *To:* Nigel Megitt > *Cc:* De Muyter, Yves (Contractor); public-tt@w3.org > *Subject:* Re: fontSize and percentages**** > > ** ** > > ** ** > > On Mon, Aug 19, 2013 at 8:19 AM, Nigel Megitt <nigel.megitt@bbc.co.uk> > wrote:**** > > Yves' question has highlighted that there's ambiguity in the current spec. > Before we raise this as an issue is there some wording I've missed that > says that EM cell aspect ratio should be preserved when one length > specification is provided?**** > > ** ** > > This is equivalent to saying "If a single <length><http://www.w3.org/TR/ttaf1-dfxp/#style-value-length> value > is specified, then this length applies equally to horizontal and vertical > scaling of a glyph's EM square".**** > > ** ** > > **** > > My search yielded zero results.**** > > ** ** > > For reference, my understanding of the words as currently written in 8.2.9 > is as follows:**** > > - When length is specified in percentage, this is (as in the table in > 8.2.9) "relative to parent element's font size, or if no parent element, > then relative to the *Computed Cell Size"***** > - In this example there's no parent element font size so it's relative > to the cell size, which is 20px (width) x 32 px (height).**** > > When you say "it's relative", it refers only to the process of resolving > percentage specifications. It does not imply that the EM cell is the same > as the TTML cell size, and also doesn't imply anything about the aspect > ratio of the EM cell.**** > > ** ** > > See the note in 6.2.1:**** > > ** ** > > "The use of a uniform grid is employed only for the purpose of measuring > lengths and expressing coordinates. In particular, it is not assumed that > the presentation of text or the alignment of individual glyph areas is > coordinated with this grid. Such alignment is possible, but requires the > use of a monospaced font and a font size whose EM square exactly matches > the cell size."**** > > > - This sets the 100% size of the glyph's EM square, which in this case > is not square but rectangular. [I suspect this is the point of divergence > in the interpretation]**** > > I'm not exactly sure what you mean by "this" in "This sets ...".**** > > ** ** > > In the case of outline fonts, the EM square is always square. In font > files, e.g., OpenType, the EM square is associated with a coordinates space > by specifying a resolution on this square, for OTF, this is unitsPerEm, > defined in the 'head' table [1].**** > > ** ** > > This resolution is always uniform in both dimensions. In many Postscript > based fonts, this is specified as 1000. In many OpenType and TrueType > fonts, this is specified as 2048; however, the number can vary from 16 to > 16384, as determined by font designer. Each glyph's outline is specified in > coordinates within this coordinate space (but notes that outline points are > not constrained to be interior to the EM square).**** > > ** ** > > [1] http://www.microsoft.com/typography/otspec/head.htm**** > > ** ** > > In the case of bitmap fonts, one may have a non-square "EM square", though > here, the EM square is generally associated with a font bounding box, whose > width and height can be construed as the EM square. For example, one might > have for a BDF font [2] the following:**** > > ** ** > > FONTBOUNDINGBOX 16 16 0 -2**** > > ** ** > > [2] http://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format**** > > ** ** > > Here, one could create a double height font using a bounding box of, say:* > *** > > ** ** > > FONTBOUNDINGBOX 16 32 0 0**** > > ** ** > > or one that corresponds to the example "cell size" in this thread:**** > > ** ** > > FONTBOUNDINGBOX 15 24 0 0**** > > ** ** > > So, let's say we are using a bitmap font whose bounding box is 16px by > 16px (square) with this example file whose cell size is 15px by 32px > (non-square). Then a fontSize="75%" is the same as specifying font size of > (32px * 75%) 24px. So, we need to scale this font by (24/16) 150% in both > width and height.**** > > ** ** > > Let's say that instead we had specified fontSize="75% 75%", then this is > the same as specifying of (15px * 75%) 11px (rounding to nearest integer) > width and (32px * 75%) 24px height, i.e., the same as fontSize="11px 24px". > So, we need to scale this font by (11/16) 68.75% in width and (24/16) 150% > in height.**** > > ** ** > > So, we have:**** > > ** ** > > fontSize="75%" : scale(24/16,24/16) : scale(150%,150%)**** > > fontSize="75% 75%" : scale(11/16,24/16) : scale(69%,150%)**** > > ** ** > > If instead, we used a bitmap font whose bounding box is 7px by 16px > (non-square), then we would arrive at:**** > > ** ** > > fontSize="75%" : scale(24/16,24/16) : scale(150%,150%)**** > > fontSize="75% 75%" : scale(11/7,24/16) : scale(157%,150%)**** > > ** ** > > > - The wording "If a single <length><http://www.w3.org/TR/ttaf1-dfxp/#style-value-length>value is specified, then this length applies equally to horizontal and > vertical scaling of a glyph's EM square" for a percentage means that the > same percentage scaling is applied to both dimensions.**** > - The note "The expression 1c means one cell, where 'c' expresses the * > cell* length unit as defined by *8.3.9 <length>*<http://www.w3.org/TR/ttaf1-dfxp/#style-value-length>. > When a single <length> is expressed using cell units, then it refers to the > height of the *Computed Cell Size*." does *not* apply because the > length is expressed in percentages not cell units.**** > - Therefore the width is 640/32 * 75%.**** > > I'd also note that I agree that the desired behaviour should primarily be > to select a font with the required height (or as close to it as possible) > and if any scaling is to be applied, do so equally in both dimensions if > the scaling factor is the same in both dimensions, regardless of whether > one or two values are provided. **** > > ** ** > > No. If two values are specified, then scaling is independent in width and > height.**** > > **** > > ** ** > > The wording in 8.3.9 is perhaps a model for this: "When specified relative > to a font whose size is expressed as a single length measure or as two > length measures of equal length, the unit of measure em is considered to > be identical to that defined by [XSL 1.1]<http://www.w3.org/TR/ttaf1-dfxp/#xsl11>, > § 5.9.13; however, when specified relative to a font whose size is > expressed as two length measures of non-equal lengths, then one em is > equal to the inline progression dimension of the anamorphically scaled font > when used to specify lengths in the inline progression direction and equal > to the block progression dimension of the scaled font when used to specify > lengths in the block progression direction."**** > > ** ** > > This text is correct, and defines how to interpret the meaning of the 'em' > unit in accordance to whether it applies in width or height.**** > > **** > > ** ** > > One could argue that the first paragraph in 8.2.9 sets up this problem:*** > * > > ** ** > > The tts:fontSize attribute is used to specify a style property that > defines the font size for glyphs that are selected for glyph areas > generated by content flowed into a region.**** > > ** ** > > Perhaps rewording this to be:**** > > ** ** > > The tts:fontSize attribute is used to specify a style property that > defines the desired font size for selecting and scaling glyphs that are > selected for glyph areas generated by content flowed into a region. Where > tts:fontSize is non-anamorphic, i.e. has the same computed value for > height and width, glyphs should be selected primarily to match as closely > as possible their height to the computed value, and any scaling should > preserve the ratio of height to width for each glyph. **** > > ** ** > > I'm not seeing a problem here. Perhaps your misunderstanding came from an > incorrect association with computed cell size and em square, since I notice > you didn't quote the language I noted from 6.2.1 above.**** > > **** > > ** ** > > would remove the issue?**** > > ** ** > > Nigel**** > > ** ** > > ** ** > > On 19/08/2013 14:08, "Glenn Adams" <glenn@skynav.com> wrote:**** > > ** ** > > ** ** > > ** ** > > On Mon, Aug 19, 2013 at 5:11 AM, Nigel Megitt <nigel.megitt@bbc.co.uk> > wrote:**** > > Hi Yves, **** > > ** ** > > The draft text for the next edition of the specification, at > http://www.w3.org/TR/ttaf1-dfxp/#style-attribute-fontSize includes a note > that hopefully answers your question, as well as making clear that when > only one length value is specified it applies equally to horizontal and > vertical scaling, and is proportional to the cell size when specifed as a > percentage. **** > > ** ** > > The answer to your first question is yes, the width is 640/32 * 75% = 15.* > *** > > ** ** > > Actually, this is wrong, since it doesn't preserve EM cell aspect ratio. > If there is one length specification, it applies uniformly to both > dimensions, however, the resolution of a percentage size is in accordance > only with the height of a cell (if resolved related to a cell unit).**** > > ** ** > > So, for example, if the intrinsic size of an EM square is 1px (width) x > 1px (height), then your example would scale this EM square to 24px (width) > x 24px (height).**** > > ** ** > > On the other hand, if you specified fontSize="75% 75%", then this would > scale the EM square to 15px (width) x 24px (height).**** > > ** ** > > The relevant spec language is at 8.2.9:**** > > ** ** > > If a single <length><https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttaf1-dfxp.html#style-value-length> value > is specified, then this length applies equally to horizontal and vertical > scaling of a glyph's EM square; if two <length><https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttaf1-dfxp.html#style-value-length> values > are specified, then the first expresses the horizontal scaling and the > second expresses vertical scaling.**** > > **** > > ** ** > > Non-proportional scaling is the expected behaviour to allow font sizes > that are 2 rows in height and 1 column in width to be denoted. **** > > ** ** > > Nigel**** > > ** ** > ------------------------------ > > *From:* Nigel Megitt > *Sent:* 19 August 2013 12:02 > *To:* De Muyter, Yves (Contractor); public-tt@w3.org > *Subject:* RE: fontSize and percentages**** > ------------------------------ > > *From:* De Muyter, Yves (Contractor) [Yves.DeMuyter@eu.sony.com] > *Sent:* 19 August 2013 08:30 > *To:* public-tt@w3.org > *Subject:* fontSize and percentages**** > > Hello,**** > > **** > > I have a question regarding percentages on fontSize and having 1 or 2 > values on the tts:fontSize attribute.**** > > **** > > Given this example (some unneeded attributes are omitted for readability): > **** > > **** > > <tt tts:extent="640px 480px" ttp:cellResolution="32 15">**** > > <head>**** > > <layout>**** > > <region xml:id="r1" tts:fontFamily="monospace" > tts:fontSize="75%">**** > > </layout>**** > > </head>**** > > <body>**** > > <div region="r1">**** > > <p>This is text</p>**** > > </div>**** > > </body>**** > > </tt>**** > > **** > > It means the height of the fontsize is 480/15 * 75% = 24**** > > **** > > Does it also mean the width of the fontsize is 640/32 * 75% = 15 ?**** > > **** > > Or does it mean we need to use the scaling value of the height and apply > that equally to the width to have proportional scaling ? The spec doesn¹t > clearly say that having a single scaling factor means you need to have > proportional scaling, that¹s why I¹m hesitating right now for this detail. > **** > > **** > > Yves De Muyter**** > > Techsoft Centre**** > > Technology and Software Centre Europe (TSCE)**** > > **** > > *Sony Belgium, bijkantoor van Sony Europe Ltd.***** > > The Corporate Village Da Vincilaan 7-D1 B-1935 Zaventem Belgium**** > > **** > > E-mail: Yves.DeMuyter@eu.sony.com<Vincent.Gaillez@eu.sony.com> > **** > > Internet: www.sony-europe.com**** > > **** > > Sony Europe Limited. A company registered in England and Wales.**** > > Registered Address: The Heights, Brooklands, Weybridge, Surrey, KT13 0XW, > United Kingdom.**** > > Bank Account Details:**** > > Account Name: Sony Europe Limited € Account number: 624335508 € IBAN: > BE63570624335508**** > > BIC: CITIBEBX € RPR Brussel / RPM Bruxelles: 0452161045 € VAT: BE0452161045 > **** > > **** > > **** > > [image: cid:image001.jpg@01CA1A63.F11B40A0]**** > > **** > > > ************************************************************************ > The information contained in this message or any of its attachments may be > confidential and is intended for the exclusive use of the addressee(s). Any > disclosure, reproduction, distribution or other dissemination or use of > this communication is strictly prohibited without the express permission of > the sender. The views expressed in this email are those of the individual > and not necessarily those of Sony or Sony affiliated companies. Sony email > is for business use only. This email and any response may be monitored by > Sony to be in compliance with Sony's global policies and standards **** > > ** ** > > **** > > ---------------------------- > > http://www.bbc.co.uk > This e-mail (and any attachments) is confidential and may contain personal > views which are not the views of the BBC unless specifically stated. > If you have received it in error, please delete it from your system. > Do not use, copy or disclose the information in any way nor act in > reliance on it and notify the sender immediately. > Please note that the BBC monitors e-mails sent or received. > Further communication will signify your consent to this.**** > > ---------------------**** > > ** ** > > ************************************************************************ > The information contained in this message or any of its attachments may be > confidential and is intended for the exclusive use of the addressee(s). Any > disclosure, reproduction, distribution or other dissemination or use of > this communication is strictly prohibited without the express permission of > the sender. The views expressed in this email are those of the individual > and not necessarily those of Sony or Sony affiliated companies. Sony email > is for business use only. This email and any response may be monitored by > Sony to be in compliance with Sony's global policies and standards >
Attachments
- image/jpeg attachment: image001.jpg
Received on Tuesday, 20 August 2013 14:49:08 UTC