Adds contextual alternates for [] () {} when enclosing upper-case characters

This commit is contained in:
Rasmus Andersson 2017-08-25 00:44:50 -07:00
parent c976260ba5
commit 0945b58f8f
25 changed files with 503 additions and 143 deletions

View file

@ -13,7 +13,8 @@ VERSION := $(shell misc/version.py)
# all styles and alias targets # all styles and alias targets
include build/etc/generated.make include build/etc/generated.make
res_files := src/fontbuild.cfg src/diacritics.txt src/glyphlist.txt src/glyphorder.txt res_files := src/fontbuild.cfg src/diacritics.txt src/glyphlist.txt \
src/glyphorder.txt src/features.fea
# UFO -> TTF & OTF (note that UFO deps are defined by generated.make) # UFO -> TTF & OTF (note that UFO deps are defined by generated.make)
build/tmp/InterfaceTTF/Interface-%.ttf: $(res_files) build/tmp/InterfaceTTF/Interface-%.ttf: $(res_files)

View file

@ -108,23 +108,10 @@ e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 eA eB eC eD eE eF ea eb ec ed ee ef
f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fA fB fC fD fE fF fa fb fc fd fe ff f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fA fB fC fD fE fF fa fb fc fd fe ff
`) `)
samples.set('Kerning wip', ` samples.set('Contextual alternates', `
Var Vcr Vdlav Verify Vgi Vox Vqms (m) (M) (6)
var vcr vdlav verify vgi vox vqms [m] [M] [6]
Yar Ycr Ydlav Year Ygi Yox Yqms {m} {M} {6}
yar ycr ydlav year ygi yox yqms
// \\\\ A\\ VA VJ V/ WA WJ W/ \\W \\w \\V \\v
AV AW Av Aw WAV WAW wav waw Wav Waw
FF3345 FA3345 FA8 7F6544 7A6544
far fcr fdlav fear fgi fox fqms
Far Fcr Fdlav Fear Fgi Fox Fqms
Ear Ecr Edlav Eear Egi Eox Eqms
AO AU AT AY BT BY CT ET Ec
".x." '.x.' .x. “.x.” x. x.‟
",x," ',x,' ,x, “,x,” x, x,‟
L" L' L L” L L‟
version (s -><- i)
Viewed (e -><- w)
`) `)
// From http://justanotherfoundry.com/generator // From http://justanotherfoundry.com/generator
@ -155,7 +142,21 @@ ji ug um ob ns dz qe sn hr ap uh ea rc nt yu ae oj zj ud js fu pu cl vs gg
`) `)
samples.set('Kerning German sample', ` samples.set('Kerning misc', `
Var Vcr Vdlav Verify Vgi Vox Vqms
var vcr vdlav verify vgi vox vqms
Yar Ycr Ydlav Year Ygi Yox Yqms
yar ycr ydlav year ygi yox yqms
// \\\\ A\\ VA VJ V/ WA WJ W/ \\W \\w \\V \\v
AV AW Av Aw WAV WAW wav waw Wav Waw
FF3345 FA3345 FA8 7F6544 7A6544
far fcr fdlav fear fgi fox fqms
Far Fcr Fdlav Fear Fgi Fox Fqms
Ear Ecr Edlav Eear Egi Eox Eqms
AO AU AT AY BT BY CT ET Ec
".x." '.x.' .x. “.x.” x. x.‟
",x," ',x,' ,x, “,x,” x, x,‟
L" L' L L” L L‟
aufkauf aufhalt aufbleib aufkauf aufhalt aufbleib
ver/fl ixt auflassen ver/fl ixt auflassen
ho/f_f e auffassen ho/f_f e auffassen
@ -715,14 +716,15 @@ h2 {
width: 275px; width: 275px;
box-sizing:border-box; box-sizing:border-box;
position:fixed; position:fixed;
top:0; right:0; bottom:-1000px; top:0; right:0; bottom:0;
background:#f4f4f4; background:#f4f4f4;
border-left:1px solid #ddd; border-left:1px solid #ddd;
border-bottom:1px solid rgba(0,0,0,0.15); /*border-bottom:1px solid rgba(0,0,0,0.15);*/
margin-bottom:24px; /*margin-bottom:24px;*/
padding: 24px; padding: 24px;
user-select:none; user-select:none;
font-family: sans-serif !important; font-family: sans-serif !important;
overflow: auto;
} }
.options > * { .options > * {
display: block; display: block;
@ -1082,21 +1084,23 @@ document.head.appendChild(fontCSS)
<div class="checkbox-group"> <div class="checkbox-group">
<span>Features:</span> <span>Features:</span>
<label><input type="checkbox" class="featopt" name="feat:ss01"> Stylistic set 1 *</label> <!-- <label><input type="checkbox" class="featopt" name="feat:dlig"> Enable dlig</label> -->
<label><input type="checkbox" class="featopt" name="feat:ss02"> Stylistic set 2</label> <!-- <label><input type="checkbox" class="featopt" name="feat:onum"> Enable onum</label> -->
<label><input type="checkbox" class="featopt" name="feat:ss03"> Stylistic set 3</label> <!-- <label><input type="checkbox" class="featopt" name="feat:pnum"> Enable pnum</label> -->
<label><input type="checkbox" class="featopt" name="feat:ss04"> Stylistic set 4</label> <label><input type="checkbox" class="featopt" name="feat:tnum"> Enable tnum *</label>
<label><input type="checkbox" class="featopt" name="feat:ss05"> Stylistic set 5</label> <!-- <label><input type="checkbox" class="featopt" name="feat:lnum"> Enable lnum</label> -->
<label><input type="checkbox" class="featopt" name="feat:ss06"> Stylistic set 6</label> <label><input type="checkbox" class="featopt" name="feat:kern"> Enable kern</label>
<label><input type="checkbox" class="featopt" name="feat:salt"> Stylistic alternates</label> <label><input type="checkbox" class="featopt" name="feat:case"> Enable case</label>
<label><input type="checkbox" class="featopt" name="feat:c2sc"> c2sc</label> <label><input type="checkbox" class="featopt" name="feat:calt=0"> <em>Disable</em> calt *</label>
<label><input type="checkbox" class="featopt" name="feat:dlig"> dlig</label> <label><input type="checkbox" class="featopt" name="feat:zero"> Enable (slashed) zero *</label>
<label><input type="checkbox" class="featopt" name="feat:onum"> onum</label> <!-- <label><input type="checkbox" class="featopt" name="feat:c2sc"> Enable c2sc</label> -->
<label><input type="checkbox" class="featopt" name="feat:pnum"> pnum</label> <label><input type="checkbox" class="featopt" name="feat:ss01"> Enable Stylistic set 1 *</label>
<label><input type="checkbox" class="featopt" name="feat:tnum"> tnum *</label> <label><input type="checkbox" class="featopt" name="feat:ss02"> Enable Stylistic set 2</label>
<label><input type="checkbox" class="featopt" name="feat:lnum"> lnum</label> <label><input type="checkbox" class="featopt" name="feat:ss03"> Enable Stylistic set 3</label>
<label><input type="checkbox" class="featopt" name="feat:kern"> kern</label> <label><input type="checkbox" class="featopt" name="feat:ss04"> Enable Stylistic set 4</label>
<label><input type="checkbox" class="featopt" name="feat:zero"> (slashed) zero *</label> <label><input type="checkbox" class="featopt" name="feat:ss05"> Enable Stylistic set 5</label>
<label><input type="checkbox" class="featopt" name="feat:ss06"> Enable Stylistic set 6</label>
<label><input type="checkbox" class="featopt" name="feat:salt"> Enable Stylistic alternates</label>
<small>* currently implemented</small> <small>* currently implemented</small>
</div> </div>
@ -1580,9 +1584,10 @@ function main() {
let features = new Set() let features = new Set()
for (let e of Array.prototype.slice.call(document.querySelectorAll('input.featopt'))) { for (let e of Array.prototype.slice.call(document.querySelectorAll('input.featopt'))) {
let feat = e.name.replace(/^feat\:/, '') let p = e.name.replace(/^feat\:/, '').split('=')
vars.bind('feat-' + feat, e, (e, on) => { let name = p[0], value = p[1] || '1'
let val = '"'+feat+'" 1' vars.bind('feat-' + name, e, (e, on) => {
let val = '"' + name + '" ' + value
if (on) { if (on) {
features.add(val) features.add(val)
} else { } else {

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="braceleft.cap" format="1">
<advance width="1024"/>
<outline>
<component base="braceleft" yOffset="172"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 920, 'leftMargin': 59, 'rightMargin': 52}</string>
</dict>
</lib>
</glyph>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="braceright.cap" format="1">
<advance width="1024"/>
<outline>
<component base="braceright" yOffset="172"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 920, 'leftMargin': 54, 'rightMargin': 58}</string>
</dict>
</lib>
</glyph>

View file

@ -3,42 +3,7 @@
<advance width="1024"/> <advance width="1024"/>
<unicode hex="007D"/> <unicode hex="007D"/>
<outline> <outline>
<contour> <component base="braceleft" xScale="-1" xOffset="1024"/>
<point x="108" y="1956" type="line"/>
<point x="260" y="1900"/>
<point x="300" y="1744"/>
<point x="300" y="1556" type="curve" smooth="yes"/>
<point x="300" y="1276" type="line" smooth="yes"/>
<point x="300" y="1000"/>
<point x="480" y="780"/>
<point x="916" y="780" type="curve"/>
<point x="916" y="1008" type="line"/>
<point x="756" y="1008"/>
<point x="688" y="1112"/>
<point x="688" y="1276" type="curve" smooth="yes"/>
<point x="688" y="1556" type="line" smooth="yes"/>
<point x="688" y="1844"/>
<point x="572" y="2092"/>
<point x="192" y="2196" type="curve"/>
</contour>
<contour>
<point x="192" y="-496" type="line"/>
<point x="572" y="-388"/>
<point x="688" y="-144"/>
<point x="688" y="148" type="curve"/>
<point x="688" y="424" type="line"/>
<point x="688" y="588"/>
<point x="756" y="696"/>
<point x="916" y="696" type="curve"/>
<point x="916" y="924" type="line"/>
<point x="480" y="924"/>
<point x="300" y="704"/>
<point x="300" y="424" type="curve"/>
<point x="300" y="148" type="line"/>
<point x="300" y="-40"/>
<point x="260" y="-196"/>
<point x="108" y="-252" type="curve"/>
</contour>
</outline> </outline>
<lib> <lib>
<dict> <dict>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="bracketleft.cap" format="1">
<advance width="1024"/>
<outline>
<component base="bracketleft" yOffset="64"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 791, 'leftMargin': 154, 'rightMargin': 20}</string>
</dict>
</lib>
</glyph>

View file

@ -5,8 +5,8 @@
<outline> <outline>
<contour> <contour>
<point x="820" y="2348" type="line"/> <point x="820" y="2348" type="line"/>
<point x="204" y="2348" type="line"/> <point x="240" y="2348" type="line"/>
<point x="204" y="-480" type="line"/> <point x="240" y="-480" type="line"/>
<point x="820" y="-480" type="line"/> <point x="820" y="-480" type="line"/>
<point x="820" y="-144" type="line"/> <point x="820" y="-144" type="line"/>
<point x="648" y="-144" type="line"/> <point x="648" y="-144" type="line"/>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="bracketright.cap" format="1">
<advance width="1024"/>
<outline>
<component base="bracketright" yOffset="64"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 791, 'leftMargin': 19, 'rightMargin': 154}</string>
</dict>
</lib>
</glyph>

View file

@ -1,18 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<glyph name="bracketright" format="1"> <glyph name="bracketright" format="1">
<advance width="768"/> <advance width="1024"/>
<unicode hex="005D"/> <unicode hex="005D"/>
<outline> <outline>
<contour> <component base="bracketleft" xScale="-1" xOffset="1024"/>
<point x="76" y="2008" type="line"/>
<point x="252" y="2008" type="line"/>
<point x="252" y="-144" type="line"/>
<point x="76" y="-144" type="line"/>
<point x="76" y="-480" type="line"/>
<point x="692" y="-480" type="line"/>
<point x="692" y="2348" type="line"/>
<point x="76" y="2348" type="line"/>
</contour>
</outline> </outline>
<lib> <lib>
<dict> <dict>

View file

@ -468,12 +468,20 @@
<string>blackleftpointingtriangle.glif</string> <string>blackleftpointingtriangle.glif</string>
<key>braceleft</key> <key>braceleft</key>
<string>braceleft.glif</string> <string>braceleft.glif</string>
<key>braceleft.cap</key>
<string>braceleft.cap.glif</string>
<key>braceright</key> <key>braceright</key>
<string>braceright.glif</string> <string>braceright.glif</string>
<key>braceright.cap</key>
<string>braceright.cap.glif</string>
<key>bracketleft</key> <key>bracketleft</key>
<string>bracketleft.glif</string> <string>bracketleft.glif</string>
<key>bracketleft.cap</key>
<string>bracketleft.cap.glif</string>
<key>bracketright</key> <key>bracketright</key>
<string>bracketright.glif</string> <string>bracketright.glif</string>
<key>bracketright.cap</key>
<string>bracketright.cap.glif</string>
<key>breve</key> <key>breve</key>
<string>breve.glif</string> <string>breve.glif</string>
<key>breveacutecomb</key> <key>breveacutecomb</key>
@ -1316,12 +1324,16 @@
<string>paragraph.glif</string> <string>paragraph.glif</string>
<key>parenleft</key> <key>parenleft</key>
<string>parenleft.glif</string> <string>parenleft.glif</string>
<key>parenleft.cap</key>
<string>parenleft.cap.glif</string>
<key>parenleftinferior</key> <key>parenleftinferior</key>
<string>parenleftinferior.glif</string> <string>parenleftinferior.glif</string>
<key>parenleftsuperior</key> <key>parenleftsuperior</key>
<string>parenleftsuperior.glif</string> <string>parenleftsuperior.glif</string>
<key>parenright</key> <key>parenright</key>
<string>parenright.glif</string> <string>parenright.glif</string>
<key>parenright.cap</key>
<string>parenright.cap.glif</string>
<key>parenrightsub</key> <key>parenrightsub</key>
<string>parenrightsub.glif</string> <string>parenrightsub.glif</string>
<key>parenrightsuperior</key> <key>parenrightsuperior</key>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="parenleft.cap" format="1">
<advance width="1024"/>
<outline>
<component base="parenleft" yOffset="140"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.guides</key>
<array>
<dict>
<key>angle</key>
<integer>0</integer>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>1096</integer>
<key>y</key>
<integer>1640</integer>
</dict>
<dict>
<key>angle</key>
<integer>0</integer>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>804</integer>
<key>y</key>
<integer>1752</integer>
</dict>
<dict>
<key>angle</key>
<real>90.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>364</integer>
<key>y</key>
<integer>1692</integer>
</dict>
<dict>
<key>angle</key>
<real>90.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>656</integer>
<key>y</key>
<integer>1584</integer>
</dict>
</array>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 993, 'leftMargin': 168, 'rightMargin': 55}</string>
</dict>
</lib>
</glyph>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="parenright.cap" format="1">
<advance width="1024"/>
<outline>
<component base="parenright" yOffset="140"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.guides</key>
<array>
<dict>
<key>angle</key>
<real>0.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>x</key>
<real>0.0</real>
<key>y</key>
<real>1238.875</real>
</dict>
<dict>
<key>angle</key>
<real>0.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>x</key>
<real>0.0</real>
<key>y</key>
<real>763.125</real>
</dict>
</array>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.gridadjust.original</key>
<string>{'width': 993, 'leftMargin': 55, 'rightMargin': 139}</string>
</dict>
</lib>
</glyph>

View file

@ -508,11 +508,17 @@
<string>question</string> <string>question</string>
<string>questiondown</string> <string>questiondown</string>
<string>parenleft</string> <string>parenleft</string>
<string>parenleft.cap</string>
<string>parenright</string> <string>parenright</string>
<string>parenright.cap</string>
<string>bracketleft</string> <string>bracketleft</string>
<string>bracketleft.cap</string>
<string>bracketright</string> <string>bracketright</string>
<string>bracketright.cap</string>
<string>braceleft</string> <string>braceleft</string>
<string>braceleft.cap</string>
<string>braceright</string> <string>braceright</string>
<string>braceright.cap</string>
<string>at</string> <string>at</string>
<string>numbersign</string> <string>numbersign</string>
<string>currency</string> <string>currency</string>
@ -2705,11 +2711,17 @@
<string>question</string> <string>question</string>
<string>questiondown</string> <string>questiondown</string>
<string>parenleft</string> <string>parenleft</string>
<string>parenleft.cap</string>
<string>parenright</string> <string>parenright</string>
<string>parenright.cap</string>
<string>bracketleft</string> <string>bracketleft</string>
<string>bracketleft.cap</string>
<string>bracketright</string> <string>bracketright</string>
<string>bracketright.cap</string>
<string>braceleft</string> <string>braceleft</string>
<string>braceleft.cap</string>
<string>braceright</string> <string>braceright</string>
<string>braceright.cap</string>
<string>at</string> <string>at</string>
<string>numbersign</string> <string>numbersign</string>
<string>currency</string> <string>currency</string>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="braceleft.cap" format="1">
<advance width="768"/>
<outline>
<component base="braceleft" yOffset="172"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
</dict>
</lib>
</glyph>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="braceright.cap" format="1">
<advance width="768"/>
<outline>
<component base="braceright" yOffset="172"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
</dict>
</lib>
</glyph>

View file

@ -3,42 +3,7 @@
<advance width="768"/> <advance width="768"/>
<unicode hex="007D"/> <unicode hex="007D"/>
<outline> <outline>
<contour> <component base="braceleft" xScale="-1" xOffset="768"/>
<point x="-20" y="2032" type="line"/>
<point x="196" y="1964"/>
<point x="260" y="1780"/>
<point x="260" y="1556" type="curve" smooth="yes"/>
<point x="260" y="1276" type="line" smooth="yes"/>
<point x="260" y="1000"/>
<point x="372" y="792"/>
<point x="768" y="792" type="curve"/>
<point x="768" y="956" type="line"/>
<point x="568" y="956"/>
<point x="484" y="1080"/>
<point x="484" y="1276" type="curve" smooth="yes"/>
<point x="484" y="1556" type="line" smooth="yes"/>
<point x="484" y="1844"/>
<point x="420" y="2092"/>
<point x="40" y="2196" type="curve"/>
</contour>
<contour>
<point x="40" y="-496" type="line"/>
<point x="420" y="-388"/>
<point x="484" y="-144"/>
<point x="484" y="148" type="curve" smooth="yes"/>
<point x="484" y="424" type="line" smooth="yes"/>
<point x="484" y="620"/>
<point x="568" y="748"/>
<point x="768" y="748" type="curve"/>
<point x="768" y="908" type="line"/>
<point x="372" y="908"/>
<point x="260" y="704"/>
<point x="260" y="424" type="curve" smooth="yes"/>
<point x="260" y="148" type="line" smooth="yes"/>
<point x="260" y="-76"/>
<point x="196" y="-260"/>
<point x="-20" y="-328" type="curve"/>
</contour>
</outline> </outline>
<lib> <lib>
<dict> <dict>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="bracketleft.cap" format="1">
<advance width="640"/>
<outline>
<component base="bracketleft" yOffset="128"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
</dict>
</lib>
</glyph>

View file

@ -4,14 +4,14 @@
<unicode hex="005B"/> <unicode hex="005B"/>
<outline> <outline>
<contour> <contour>
<point x="640" y="2304" type="line"/> <point x="640" y="2240" type="line"/>
<point x="128" y="2304" type="line"/> <point x="128" y="2240" type="line"/>
<point x="128" y="-384" type="line"/> <point x="128" y="-448" type="line"/>
<point x="640" y="-384" type="line"/> <point x="640" y="-448" type="line"/>
<point x="640" y="-164" type="line"/> <point x="640" y="-228" type="line"/>
<point x="360" y="-164" type="line"/> <point x="360" y="-228" type="line"/>
<point x="360" y="2084" type="line"/> <point x="360" y="2020" type="line"/>
<point x="640" y="2084" type="line"/> <point x="640" y="2020" type="line"/>
</contour> </contour>
</outline> </outline>
<lib> <lib>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="bracketright.cap" format="1">
<advance width="640"/>
<outline>
<component base="bracketright" yOffset="128"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
</dict>
</lib>
</glyph>

View file

@ -3,16 +3,7 @@
<advance width="640"/> <advance width="640"/>
<unicode hex="005D"/> <unicode hex="005D"/>
<outline> <outline>
<contour> <component base="bracketleft" xScale="-1" xOffset="640"/>
<point x="0" y="2084" type="line"/>
<point x="280" y="2084" type="line"/>
<point x="280" y="-164" type="line"/>
<point x="0" y="-164" type="line"/>
<point x="0" y="-384" type="line"/>
<point x="512" y="-384" type="line"/>
<point x="512" y="2304" type="line"/>
<point x="0" y="2304" type="line"/>
</contour>
</outline> </outline>
<lib> <lib>
<dict> <dict>

View file

@ -468,12 +468,20 @@
<string>blackleftpointingtriangle.glif</string> <string>blackleftpointingtriangle.glif</string>
<key>braceleft</key> <key>braceleft</key>
<string>braceleft.glif</string> <string>braceleft.glif</string>
<key>braceleft.cap</key>
<string>braceleft.cap.glif</string>
<key>braceright</key> <key>braceright</key>
<string>braceright.glif</string> <string>braceright.glif</string>
<key>braceright.cap</key>
<string>braceright.cap.glif</string>
<key>bracketleft</key> <key>bracketleft</key>
<string>bracketleft.glif</string> <string>bracketleft.glif</string>
<key>bracketleft.cap</key>
<string>bracketleft.cap.glif</string>
<key>bracketright</key> <key>bracketright</key>
<string>bracketright.glif</string> <string>bracketright.glif</string>
<key>bracketright.cap</key>
<string>bracketright.cap.glif</string>
<key>breve</key> <key>breve</key>
<string>breve.glif</string> <string>breve.glif</string>
<key>breveacutecomb</key> <key>breveacutecomb</key>
@ -1314,12 +1322,16 @@
<string>paragraph.glif</string> <string>paragraph.glif</string>
<key>parenleft</key> <key>parenleft</key>
<string>parenleft.glif</string> <string>parenleft.glif</string>
<key>parenleft.cap</key>
<string>parenleft.cap.glif</string>
<key>parenleftinferior</key> <key>parenleftinferior</key>
<string>parenleftinferior.glif</string> <string>parenleftinferior.glif</string>
<key>parenleftsuperior</key> <key>parenleftsuperior</key>
<string>parenleftsuperior.glif</string> <string>parenleftsuperior.glif</string>
<key>parenright</key> <key>parenright</key>
<string>parenright.glif</string> <string>parenright.glif</string>
<key>parenright.cap</key>
<string>parenright.cap.glif</string>
<key>parenrightsub</key> <key>parenrightsub</key>
<string>parenrightsub.glif</string> <string>parenrightsub.glif</string>
<key>parenrightsuperior</key> <key>parenrightsuperior</key>

View file

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="parenleft.cap" format="1">
<advance width="984"/>
<outline>
<component base="parenleft" yOffset="192"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.guides</key>
<array>
<dict>
<key>angle</key>
<real>90.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>384</integer>
<key>y</key>
<integer>-128</integer>
</dict>
<dict>
<key>angle</key>
<real>90.0</real>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>584</integer>
<key>y</key>
<integer>4</integer>
</dict>
<dict>
<key>angle</key>
<integer>0</integer>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>388</integer>
<key>y</key>
<integer>1752</integer>
</dict>
<dict>
<key>angle</key>
<integer>0</integer>
<key>isGlobal</key>
<false/>
<key>magnetic</key>
<integer>5</integer>
<key>name</key>
<string></string>
<key>x</key>
<integer>556</integer>
<key>y</key>
<integer>1640</integer>
</dict>
</array>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.width-adjustments</key>
<array>
<integer>-16</integer>
</array>
</dict>
</lib>
</glyph>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<glyph name="parenright.cap" format="1">
<advance width="984"/>
<outline>
<component base="parenright" yOffset="192"/>
</outline>
<lib>
<dict>
<key>com.typemytype.robofont.mark</key>
<array>
<real>0.94</real>
<real>0.94</real>
<real>0.94</real>
<real>1.0</real>
</array>
<key>interface.width-adjustments</key>
<array>
<integer>-16</integer>
</array>
</dict>
</lib>
</glyph>

View file

@ -591,11 +591,17 @@
<string>question</string> <string>question</string>
<string>questiondown</string> <string>questiondown</string>
<string>parenleft</string> <string>parenleft</string>
<string>parenleft.cap</string>
<string>parenright</string> <string>parenright</string>
<string>parenright.cap</string>
<string>bracketleft</string> <string>bracketleft</string>
<string>bracketleft.cap</string>
<string>bracketright</string> <string>bracketright</string>
<string>bracketright.cap</string>
<string>braceleft</string> <string>braceleft</string>
<string>braceleft.cap</string>
<string>braceright</string> <string>braceright</string>
<string>braceright.cap</string>
<string>at</string> <string>at</string>
<string>numbersign</string> <string>numbersign</string>
<string>currency</string> <string>currency</string>
@ -2783,11 +2789,17 @@
<string>question</string> <string>question</string>
<string>questiondown</string> <string>questiondown</string>
<string>parenleft</string> <string>parenleft</string>
<string>parenleft.cap</string>
<string>parenright</string> <string>parenright</string>
<string>parenright.cap</string>
<string>bracketleft</string> <string>bracketleft</string>
<string>bracketleft.cap</string>
<string>bracketright</string> <string>bracketright</string>
<string>bracketright.cap</string>
<string>braceleft</string> <string>braceleft</string>
<string>braceleft.cap</string>
<string>braceright</string> <string>braceright</string>
<string>braceright.cap</string>
<string>at</string> <string>at</string>
<string>numbersign</string> <string>numbersign</string>
<string>currency</string> <string>currency</string>

View file

@ -21,6 +21,8 @@ languagesystem grek dflt;
@UC_SET1 = [ zero one two three four five six seven eight nine Euro Idotaccent Mu dollar lira sterling afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061 afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10050 Ghestrokecyrillic Zhedescendercyrillic Zedescendercyrillic Kadescendercyrillic Kaverticalstrokecyrillic Kabashkircyrillic Endescendercyrillic Haabkhasiancyrillic Esdescendercyrillic Ustraightcyrillic Ustraightstrokecyrillic Hadescendercyrillic Tetsecyrillic Cheverticalstrokecyrillic Shhacyrillic Cheabkhasiancyrillic Chedescenderabkhasiancyrillic Schwacyrillic Dzeabkhasiancyrillic Imacroncyrillic Obarredcyrillic Umacroncyrillic hryvnia tenge uni20BD numero yen ]; @UC_SET1 = [ zero one two three four five six seven eight nine Euro Idotaccent Mu dollar lira sterling afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061 afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10050 Ghestrokecyrillic Zhedescendercyrillic Zedescendercyrillic Kadescendercyrillic Kaverticalstrokecyrillic Kabashkircyrillic Endescendercyrillic Haabkhasiancyrillic Esdescendercyrillic Ustraightcyrillic Ustraightstrokecyrillic Hadescendercyrillic Tetsecyrillic Cheverticalstrokecyrillic Shhacyrillic Cheabkhasiancyrillic Chedescenderabkhasiancyrillic Schwacyrillic Dzeabkhasiancyrillic Imacroncyrillic Obarredcyrillic Umacroncyrillic hryvnia tenge uni20BD numero yen ];
@UC = [ @UC_ROMAN @UC_SET1 ];
@LC_SET2 = [ dotlessi sigma1 mugreek afii10065 becyrillic vecyrillic gecyrillic decyrillic iecyrillic zhecyrillic zecyrillic iicyrillic iishortcyrillic kacyrillic elcyrillic emcyrillic encyrillic ocyrillic pecyrillic ercyrillic escyrillic tecyrillic ucyrillic efcyrillic khacyrillic tsecyrillic checyrillic shacyrillic shchacyrillic hardsigncyrillic yericyrillic softsigncyrillic ereversedcyrillic iucyrillic iacyrillic iocyrillic djecyrillic gjecyrillic ecyrillic dzecyrillic icyrillic yicyrillic jecyrillic ljecyrillic njecyrillic tshecyrillic kjecyrillic ushortcyrillic dzhecyrillic gheupturncyrillic ghestrokecyrillic zhedescendercyrillic zedescendercyrillic kadescendercyrillic kaverticalstrokecyrillic kabashkircyrillic endescendercyrillic haabkhasiancyrillic esdescendercyrillic ustraightcyrillic ustraightstrokecyrillic hadescendercyrillic tetsecyrillic cheverticalstrokecyrillic shhacyrillic cheabkhasiancyrillic chedescenderabkhasiancyrillic schwacyrillic dzeabkhasiancyrillic imacroncyrillic obarredcyrillic umacroncyrillic ]; @LC_SET2 = [ dotlessi sigma1 mugreek afii10065 becyrillic vecyrillic gecyrillic decyrillic iecyrillic zhecyrillic zecyrillic iicyrillic iishortcyrillic kacyrillic elcyrillic emcyrillic encyrillic ocyrillic pecyrillic ercyrillic escyrillic tecyrillic ucyrillic efcyrillic khacyrillic tsecyrillic checyrillic shacyrillic shchacyrillic hardsigncyrillic yericyrillic softsigncyrillic ereversedcyrillic iucyrillic iacyrillic iocyrillic djecyrillic gjecyrillic ecyrillic dzecyrillic icyrillic yicyrillic jecyrillic ljecyrillic njecyrillic tshecyrillic kjecyrillic ushortcyrillic dzhecyrillic gheupturncyrillic ghestrokecyrillic zhedescendercyrillic zedescendercyrillic kadescendercyrillic kaverticalstrokecyrillic kabashkircyrillic endescendercyrillic haabkhasiancyrillic esdescendercyrillic ustraightcyrillic ustraightstrokecyrillic hadescendercyrillic tetsecyrillic cheverticalstrokecyrillic shhacyrillic cheabkhasiancyrillic chedescenderabkhasiancyrillic schwacyrillic dzeabkhasiancyrillic imacroncyrillic obarredcyrillic umacroncyrillic ];
@ -831,6 +833,17 @@ feature numr {
sub @frac1 by @frac2; sub @frac1 by @frac2;
} numr; } numr;
feature calt {
sub braceleft' @UC by braceleft.cap;
sub @UC braceright' by braceright.cap;
sub bracketleft' @UC by bracketleft.cap;
sub @UC bracketright' by bracketright.cap;
sub parenleft' @UC by parenleft.cap;
sub @UC parenright' by parenright.cap;
} calt;
# Stylistic set 1: open digits # Stylistic set 1: open digits
feature ss01 { feature ss01 {
sub four by four.1; sub four by four.1;