diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2022-05-13 17:36:16 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-05-13 17:36:16 +0000 |
commit | 2f76e5ea08a08dc7ffef910e066da6777a3c829f (patch) | |
tree | 1dff6c1c2a08ce8152e5b964fc0021acdf9696f1 /Doc/source/designspaceLib/v5_split_downconvert.puml | |
parent | 29956f91d34a6e7e114e9e04c4c22296e20b80c8 (diff) | |
parent | 4b0e404dd93f9675738b1f0c25606798873cda3c (diff) | |
download | fonttools-2f76e5ea08a08dc7ffef910e066da6777a3c829f.tar.gz |
Updating fonttools 4.31.2 to fonttools 4.33.3 am: fc762b5499 am: 4b0e404dd9
Original change: https://android-review.googlesource.com/c/platform/external/fonttools/+/2097373
Change-Id: I58d2c6777a2a523922f82ccde59534891f3308e6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'Doc/source/designspaceLib/v5_split_downconvert.puml')
-rw-r--r-- | Doc/source/designspaceLib/v5_split_downconvert.puml | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/Doc/source/designspaceLib/v5_split_downconvert.puml b/Doc/source/designspaceLib/v5_split_downconvert.puml new file mode 100644 index 00000000..6f51f80c --- /dev/null +++ b/Doc/source/designspaceLib/v5_split_downconvert.puml @@ -0,0 +1,147 @@ +@startuml v5_split_downconvert + +title +How to split and down-convert a DesignSpace version 5 +<size:14>so that existing tools can work with it +end title + + +start + +#lightgrey:DesignSpace 5.0 +- with STAT data +- optional instance names +- with discrete axes +- with multiple VFs] + +note left + - STAT data means that compilers will need + to write that data to the ouput TTFs + - optional instance names means that + compilers will need to generate any missing + names using the STAT data + - discrete axes mean that not all sources + are compatible for interpolation + - multiple VFs means that compilers will + need to output several TTFs for one DS +end note + +split +split again + +:""splitInterpolating()""; + +note left + - Create one DS document per interpolating + sub-space, for example: with a discrete + axis for Upright vs Italics, create 2 + DesignSpaces, one for the Uprights, and + one for the Italics. + - Expand all missing instance names using + the STAT data. + - Drop all the STAT data because as we start + taking out discrete axes, the sub-documents + lose STAT data anyway (only the full + document at the start of the process should + be used to generate the STAT table) +end note + +split + + #lightgrey:DesignSpace 5.0 + - (no STAT data) + - (explicit instance names) + - (at discrete location #1) + - with multiple VFs] + + note left + All sources in this sub-space are + (supposed to be) compatible for + interpolation + end note + +split again + + #lightgrey:DesignSpace 5.0 + - (no STAT data) + - (explicit instance names) + - (at discrete location #2) + - with multiple VFs] + detach + +split again + + #lightgrey:etc + ...] + detach + +end split + +:check compatibility; +:build compatible master TTFs with cu2qu; + +:""splitVariableFonts()""; + +note left + Create one DS document per variable font, + for example: the above document may + describe a weight and width space, out of + which we'll build 3 variable fonts: + full weight + width, weight only, width only. +end note + +split + + #lightgrey:DesignSpace 5.0 + - (no STAT data) + - (explicit instance names) + - (at discrete location #1) + - (describing just VF #1)] + + note left + This document looks very much + like version 4.1, you can just + change the version number at + the top and feed it to a tool + that doesn't know about v5; + see ""convert5to4()"". + end note + +split again + + #lightgrey:DesignSpace 5.0 + - (no STAT data) + - (explicit instance names) + - (at discrete location #1) + - (describing just VF #2)] + detach + +split again + + #lightgrey:etc + ...] + detach + +end split + +:""varLib.build()""; + +#lightgrey:Variable font TTF +No STAT data] + +end split + +:""buildVFStatTable()""; + +note left +Apply STAT data using the full document +from the start of the process + filtering +entries based on this VF's location +end note + +#lightgrey:Variable font TTF +With STAT data] + +end + +@enduml |