Comments (2)
Process
I’m trying this in a branch, just so I can easily back out if it goes wrong.
-
Remove stacked accents from font ... I think there were some pieces of data left over from copying in roboto glyphs, early on
-
Use Glyph Construction to build the stacked accents:
# vietnamese stacked accents
?breveacutecomb = brevecomb + acutecomb@top
?brevegravecomb = brevecomb + gravecomb@top
?brevehookabovecomb = brevecomb + hookabovecmb@top
?brevetildecomb = brevecomb + tildecomb@top
?circumflexacutecomb = circumflexcomb + acutecomb@side
?circumflexgravecomb = circumflexcomb + gravecomb@side
?circumflexhookabovecomb = circumflexcomb + hookabovecmb@side
?circumflextildecomb = circumflexcomb + tildecomb@top
# other stacked accents
?ringacutecomb = ringcomb.A + acutecomb@top
?dieresismacroncomb = dieresiscomb + macroncomb@top
?tildemacroncomb = tildecomb + macroncomb@top
?dotmacroncomb = dotaccentcmb + macroncomb@top
- Add
_top
anchors to the new glyphs with a RoboFont script
f = CurrentFont()
for gname in f.selection:
if "_top" not in [a.name for a in f[gname].anchors]:
f[gname].appendAnchor("_top", (0, f.info.xHeight))
-
Adjust positioning in stacked accents. Decompose them, to make it simpler (because their design is already settled ... in another family, I would try leaving them as components, and make sure they ran through a build filter to decompose as nested comps).
-
Build stacked glyphs w/ Glyph Construction
Acircumflexacute = A + circumflexacutecomb @ top
acircumflexacute = a + circumflexacutecomb @ top
Acircumflexgrave = A + circumflexgravecomb @ top
acircumflexgrave = a + circumflexgravecomb @ top
Acircumflexhoi = A + circumflexhookabovecomb @ top
acircumflexhoi = a + circumflexhookabovecomb @ top
Ecircumflexacute = E + circumflexacutecomb @ top
ecircumflexacute = e + circumflexacutecomb @ top
Ecircumflexgrave = E + circumflexgravecomb @ top
ecircumflexgrave = e + circumflexgravecomb @ top
Ecircumflexhoi = E + circumflexhookabovecomb @ top
ecircumflexhoi = e + circumflexhookabovecomb @ top
Ocircumflexacute = O + circumflexacutecomb @ top
ocircumflexacute = o + circumflexacutecomb @ top
Ocircumflexgrave = O + circumflexgravecomb @ top
ocircumflexgrave = o + circumflexgravecomb @ top
Ocircumflexhoi = O + circumflexhookabovecomb @ top
ocircumflexhoi = o + circumflexhookabovecomb @ top
Acircumflextilde = A + circumflextildecomb @ top
acircumflextilde = a + circumflextildecomb @ top
Abreveacute = A + breveacutecomb @ top
abreveacute = a + breveacutecomb @ top
Abrevegrave = A + brevegravecomb @ top
abrevegrave = a + brevegravecomb @ top
Abrevehoi = A + brevehookabovecomb @ top
abrevehoi = a + brevehookabovecomb @ top
Abrevetilde = A + brevetildecomb @ top
abrevetilde = a + brevetildecomb @ top
Ecircumflextilde = E + circumflextildecomb @ top
ecircumflextilde = e + circumflextildecomb @ top
Ocircumflextilde = O + circumflextildecomb @ top
ocircumflextilde = o + circumflextildecomb @ top
# Non-Vietnamese Stacks
Aringacute = A + ringacutecomb@ring # but maybe there should be a ringacutecomb.A connected at "top" instead?
aringacute = a + ringacutecomb@top
Odieresismacron = O + dieresismacroncomb@top
odieresismacron = o + dieresismacroncomb@top
Otildemacron = O + tildemacroncomb@top
otildemacron = o + tildemacroncomb@top
Odotmacron = O + dotmacroncomb@top
odotmacron = o + dotmacroncomb@top
from shantell-sans.
After doing the above in the primary 4 sources, and without adjusting the build scripts at all, it builds! And it works quite well:
Screen.Recording.2022-05-07.at.5.06.27.PM.mov
from shantell-sans.
Related Issues (20)
- Latin glyph shaping tweaks
- A couple of distracting parts of the `б` and `в` shaping/contrast HOT 1
- Problem compiling “GPOS” table Subtable Overflow in lookup: 2 type: PairAdjustment HOT 5
- Update axis naming once new axes are accepted into Google Fonts Axis Registry HOT 2
- Probably too loose right sidebearing of K HOT 2
- Handle kerning exceptions in font build prep HOT 1
- opentype fractions were broken by the move of features into GlyphsApp HOT 1
- OpenType features not all working in static "Normal" fonts HOT 1
- Google Fonts onboarding feedback from Yanone HOT 3
- Update browser slnt/ital test page HOT 1
- Images to create for blog post
- Make press deck / images / PDF specimen HOT 1
- Subfamily name discrepancy HOT 6
- Triangle icons move in x direction for Bounce axis HOT 2
- correct GDEF additions (broken by upstream change to glyphsLib) HOT 1
- Update README.md materials for new axis names, instances, features, and character set HOT 1
- Adjust BNCE axis to make intermediate value simpler?
- Interpolation issue in "Ẵ" and "ẵ" leading to nonideal rendering of the tilde HOT 1
- Not showing up in MS Word / MS Office for Mac HOT 1
- macOS Ventura uses unexpected style as default in variable font HOT 4
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 shantell-sans.