Comments (7)
This:
Thus, interpreting TrueType instructions (or CFF hints) is required when activating ppem axis.
combined wit this:
Pixel alignment may be crucial in some cases, and the form of such mechanism (TrueType instructions) are very hard to understand, for designers. Therefore, a variation axis could be a easier way to encode pixel alignment data into fonts.
seems to be a contradiction, since hinting seems still required even when the adjustments are made by the ppem
variations.
from opentypedesignvariationaxistags.
What about ppem-related changes in the sidebearings? ‘The ppem axis is used to encode deltas that shift points to the place closer to the pixel grid’ seems to include the phantom points. But this may lead to significant differences in text length if e.g. the same text is rendered in a preview on screen and then printed with high resolution.
It is like the issues around the hdmx
table and ClearType’s compatible/natural widths.
from opentypedesignvariationaxistags.
[Taken from the OpenType mailing list]
Interesting! I'm not sure how this will behave size-wise, since adjustments to the grid are certainly not linear; this might lead to quite large gvar tables – essentially, there would be one 'master' per a single ppem value. I would like to see a prototype implemention of, say, a single, simple CJK glyph that demonstrates this proposal.
Another issue would be the behaviour for different scaling values along the x and y axis – perhaps also registering XPEM
and YPEM
?
from opentypedesignvariationaxistags.
I can imagine how this axis can be used with FeatureVariations to, eg, switch to simpler forms of CJK ideographs at small sizes. But I don't see how it can be used to perform hinting using glyph deltas, since we have to and do support fractional pixel sizes. So, deltas cannot be used to align stems to grid the way hinting does.
from opentypedesignvariationaxistags.
@behdad: are you talking about fractional PPEM (after scaling), or fractional UPM, or something else?
from opentypedesignvariationaxistags.
Fractional PPEM
from opentypedesignvariationaxistags.
*lemzwerg “...this might lead to quite large gvar tables”
I think this is minimal, if reduced by interpolation of untouched points, to only a few deltas per glyph. Besides the fact that people do make big fonts anyway, I think that quality, as a choice, is sometimes to be made over the quantity it may cause. In this case, something a standard could not be blamed for allowing.
I like Rob’s idea of separate x and y a lot, and it got me thinking about some kind of super-efficient additional way to shift all the grid-fit glyph positions at once, in x and y sub pixel space, to provide a sort of fine-tuning that could be offered at a number of possible levels, keeping in mind that this proposed axis would be operating in variable space potentially with other axes, beside via a variety of devices, sizing, scaling and rendering methods .
from opentypedesignvariationaxistags.
Related Issues (16)
- Proposal for a "Spacing" axis ('spac') has been submitted. Please discuss in this thread. HOT 16
- Proposal for a "height" axis ('hght') has been submitted. Please discuss in this thread. HOT 46
- Axis type and PPEM: "optical" or "parametric" HOT 11
- numeric scale for PPEM axis: can't restrict to integers HOT 5
- PPEM axis: programmatic interaction & UI HOT 6
- [ppem] Axis ranges and special axis values like 0, ∞ HOT 9
- Type Network proposal for a system of parametric and optical axes has been submitted. HOT 60
- Scale in Type Network parametric axes HOT 9
- Script applicability for TN's proposed ytas, ytde, ytlc, ytuc axes HOT 20
- New proposal for a Glyph-Extension axis HOT 23
- Meta proposal: font demos & typography demos HOT 5
- Meta proposal: "demo day" events HOT 13
- Slant axis for script faces and more HOT 7
- Clarify relationship between the 'grad' proposal here and the 'grad' proposal in the TypeNetwork repo HOT 1
- This repo is missing important files
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentypedesignvariationaxistags.