[HarfBuzz] Retrieving optical size info?
Adam Twardoch (List)
list.adam at twardoch.com
Thu Nov 29 12:03:45 PST 2012
On 12-11-27 20:07, Khaled Hosny wrote:
> I was hoping for some plain language :) anyway the relevant part of the
> old code is:
> https://github.com/mojca/xetex/blob/15b7827a5d8344c685fe27128cd4a03a729e1ee2/texk/web2c/xetexdir/XeTeXFontMgr.cpp#L492
Here's the plain language explanation:
==
Read Roberts wrote on 9/15/06 on opentype-list at indx.co.uk :
Yes, it is correct that a new version of the AFDKO (version 2.0) will be
coming out soon, and that the makeotf program will build a font with a
'size' feature that is correct by the specification.
The specification for this feature tag is in the "OpenType Layout Tag
Registry". You can see a copy of this at:
http://partners.adobe.com/public/developer/opentype/index_tag8.html#size
Here is one set of rules to determine if the 'size' feature is built
correctly, or as by the older versions of MakeOTF. You may be able to do
better.
Assume that the offset to the size feature is according to specification,
and make the following value checks. If it fails, assume the the size
feature is calculated as versions of MakeOTF before the AFDKO 2.0 built it.
If this fails, reject the 'size' feature. The older makeOTF's calculated the
offset from the beginning of the FeatureList table, rather than from the
beginning of the 'size' Feature table.
If "design size" == 0:
fails check
Else if ("subfamily identifier" == 0 and
"range start" == 0 and
"range end" == 0 and
"range start" == 0 and
"menu name ID" == 0)
passes check: this is the format used when there is a design size
specified, but there is no recommended size range.
Else if ("design size" < "range start" or
"design size" > "range end" or
"range end" <= "range start" or
"menu name ID" < 256 or
"menu name ID" > 32767 or
menu name ID is not a name ID which is actually in the name table)
fails test
Else
passes test.
- Read Roberts
==
--
May success attend your efforts,
-- Adam Twardoch
(Remove "list." from e-mail address to contact me directly.)
More information about the HarfBuzz
mailing list