- From: De Muyter, Yves (Contractor) <Yves.DeMuyter@eu.sony.com>
- Date: Tue, 20 Aug 2013 08:58:44 +0100
- To: Glenn Adams <glenn@skynav.com>, Nigel Megitt <nigel.megitt@bbc.co.uk>
- CC: <public-tt@w3.org>
- Message-ID: <498902CA26923C4184C28BF585E36FF6108FE8E4@GBISE0BASMSX01.eu.sony.com>
I can make following conclusion: used tts:fontSize=”75%” default tts:fontSize=”1c” cellResolution=”16 32” tt extend=”640px 480px” scaleH = scaling factor to scale emH to 480/16 ( = 1c height ) font height: (scaleH * emH) * 75% font width: (scaleH * emW) * 75% 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% 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 <mailto:Vincent.Gaillez@eu.sony.com> Internet: www.sony-europe.com <http://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 ************************************************************************ 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 08:03:56 UTC