[mpeg-OTspec] Proposed OS/2 table updates

David Lemon lemon at adobe.com
Sat May 17 01:20:43 CEST 2014


Michelle,
The proposal below is missing a mechanism to identify the set of fonts that work together as a series of optical size ranges. In families that go beyond the simple four-style model (Regular, Bold, Italic, & Bold Italic) I believe it’s necessary to include some means of associating the correct set of fonts. That’s why the earlier ‘SIZE’ layout feature included this information. I thought that there was going to be an update to the proposal to include this. I don’t think it makes sense to add this to the spec if a patch is on the way.

FWIW Adobe was going to add this feature to our fonts two months ago but remains blocked by the absence of the missing piece.
thanks,
David L

From: mpeg-OTspec at yahoogroups.com [mailto:mpeg-OTspec at yahoogroups.com]
Sent: Friday, May 16, 2014 10:31 AM
To: mpeg-OTspec at yahoogroups.com
Subject: [mpeg-OTspec] Proposed OS/2 table updates



Hello,

Microsoft would like to propose an update to the OS/2 table to add support for optical size ranges. Some are already aware of the work we’ve been doing in this area. We’ve already implemented these new fields privately in the new Sitka font that shipped with Windows 8.1 and we’re very happy with the result.



Here are the fields we’d like to propose:



usLowerOpticalPointSize

Format:                two-byte USHORT

Units:                    TWIPs

Description:        This field is used for fonts with multiple optical styles.

                                This value is the lower value of the size range for which this font has been designed.

                                The units for this field are TWIPs (one-twentieth of a point, or 1440 per inch). The

                                value is inclusive—meaning that that font was designed to work best at this point

                                size through, but not including, the point size indicated by usUpperOpticalPointSize.

                                When used with other optical fonts that set usLowerOpticalPointSize and

                                usUpperOpticalPointSize, it would be expected that another font has this same value as

                                this entry in the usUpperOpticalPointSize field, unless this font is designed for the

                                lowest size range. The smallest font in an optical size set should set this value to 0.

                                When working across multiple optical fonts, there should be no intentional gaps or

                                overlaps in the ranges. usLowerOpticalPointSize must be less than

                                usUpperOpticalPointSize. The maximum valid value is 0xFFFE.

                                For fonts that were not designed for multiple optical styles, this field should be set to

                                0 (zero) and the corresponding usUpperOpticalPointSize set to 0xFFFF.



usUpperOpticalPointSize

Format:                two-byte USHORT

Units:                    TWIPs

Description:        This field is used for fonts with multiple optical styles.

                                This value is the upper value of the size range for which this font has been designed.

                                The units for this field are TWIPs (one-twentieth of a point, or 1440 per inch). The

                                value is exclusive—meaning that that font was designed to work best below this point

                                size down to the usLowerOpticalPointSize threshold. When used with other optical fonts

                                that set usLowerOpticalPointSize and usUpperOpticalPointSize, it would be expected that

                                another font has this same value as this entry in the usLowerOpticalPointSize field, unless

                                this font is designed for the highest size range. The largest font in an optical size set should

                                set this value to 0xFFFF, which is interpreted as infinity. When working across multiple

                                optical fonts, there should be no intentional or overlaps left in the ranges.

                                usUpperOpticalPointSize must be greater than usLowerOpticalPointSize. The minimum valid

                                value for this field is 2 (two).  The largest possible inclusive point size represented by this

                                field is 3276.65 points, any higher values would be represented as infinity.

                                For fonts that were not designed for multiple optical styles, this field should be set to 0xFFFF

                                and the corresponding usLowerOpticalPointSize set to 0 (zero).





The decision to add these additional metrics to the OS/2 table went through several evolutions. Our early plans were to implement the changes through TrueType instructions. We also considered using the OpenType Layout SIZE feature, but decided against these for a myriad of reasons. Ultimately we settled on the new fields in the OS/2 table. We’d like to update the version number on the OS/2 table if these are added.



The choice of using TWIPs for measurement is embedded somewhat in Windows history. For the OS/2 table we preferred not using a fixed point notation. Although the SIZE feature used tenths of a point, TWIPs had been used in Windows GDI and OS/2 as a scaling option since the mid-80's.



As always, we welcome feedback and discussion on this.



Michelle Perham

Microsoft Typography Group


Visit Your Group<https://groups.yahoo.com/neo/groups/mpeg-OTspec/info;_ylc=X3oDMTJmZzdhbzUyBF9TAzk3MzU5NzE0BGdycElkAzEyODYwOTU1BGdycHNwSWQDMTcwNjAzMDM4OQRzZWMDdnRsBHNsawN2Z2hwBHN0aW1lAzE0MDAyNjE0NzU->
[Yahoo! Groups]<https://groups.yahoo.com/neo;_ylc=X3oDMTJlaHI5MzFrBF9TAzk3NDc2NTkwBGdycElkAzEyODYwOTU1BGdycHNwSWQDMTcwNjAzMDM4OQRzZWMDZnRyBHNsawNnZnAEc3RpbWUDMTQwMDI2MTQ3NQ-->
• Privacy<https://info.yahoo.com/privacy/us/yahoo/groups/details.html> • Unsubscribe<mailto:mpeg-OTspec-unsubscribe at yahoogroups.com?subject=Unsubscribe> • Terms of Use<https://info.yahoo.com/legal/us/yahoo/utos/terms/>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aau.at/pipermail/mpeg-otspec/attachments/20140516/3bb88397/attachment.html>


More information about the mpeg-otspec mailing list