Open justvanrossum opened 3 years ago
Since this isn't a table from MS (all caps) or Apple (all lowercase) I propose Cvar
as a mixed case "Component Variation" table. (Obviously this is potentially confused with the existing cvar
table ;)
all axes used for Variable Components are hidden
This suggests to me that we will need a 2nd flag (3rd state) for axes that distinguish "advanced user" axes (hidden by default, but useful for some sophisticated/educated users to interact with directly) from "non-user axes" (which require a higher level UI to interact with, or should never be interacted with.)
I am somewhat uncomfortable with the current RoboCJK parameters
I hope @raphlinus can review these soon too :)
There should be an interface between variable components and OpenType features, such as smcp
or onum
or sups
(as David Berlow proposed in http://variationsguide.typenetwork.com/#votf)
(It seems David's proposal for "Variable Unicode IDs" (http://variationsguide.typenetwork.com/#vuid) is provisioned for already, by simply having glyphs with the relevant variable component that are correctly encoded.)
(It seems David's proposal for "Variable Unicode IDs" (http://variationsguide.typenetwork.com/#vuid) is provisioned for already, by simply having glyphs with the relevant variable component that are correctly encoded.)
Yes, I think that's indeed a logical (and pleasant) consequence of this proposal.
Static font using Static Components
glyf
table:Variable font using Static Components
glyf
table:gvar
table:fvar
table:Main idea of the proposal
Static font using (non-nested) Variable Components
glyf
table:Designspace Location-->VaCo
tableVaCo
table:gvar
table:fvar
table:Variable font using Variable Components
glyf
table:Designspace Location-->VaCo
tableVaCo
table:gvar
table:fvar
table:To be determined: exactly which transform parameters are needed
RoboCJK uses:
x
y
rotation
scalex
scaley
rcenterx
(in component source coordinates)rcentery
(in component source coordinates)There are two things to consider:
I am somewhat uncomfortable with the current RoboCJK parameters, as they seem a little arbitrary.
My proposal would be this:
glyf
tableVaCo
tableWith this, it is possible to exactly replicate GS-CJK at the masters, but the behavior in-between may sometimes be subtly different. I want to do experiments to figure out how much any such differences are, and whether they are show-stoppers or acceptable.