From efa768e83665bcec2798ee26bbdaa89c6b85813c Mon Sep 17 00:00:00 2001 From: be5invis Date: Sun, 9 Aug 2015 04:30:37 +0800 Subject: [PATCH] Balances. --- .gitignore | 4 +- glyphs/autobuilds.patel | 38 ++++- glyphs/cyrillic-basic.patel | 16 +- glyphs/cyrillic-extended.patel | 10 +- glyphs/greek.patel | 22 +-- glyphs/latin-basic-capital.patel | 2 +- glyphs/latin-basic-lower.patel | 4 +- glyphs/latin-extend.patel | 8 +- glyphs/numbers.patel | 4 +- glyphs/symbol-punctuation.patel | 1 + parameters.patel | 2 +- testdrive/index.html | 272 +++++++++++++++++++++++++++++++ 12 files changed, 350 insertions(+), 33 deletions(-) create mode 100644 testdrive/index.html diff --git a/.gitignore b/.gitignore index 41d3b2672..870e213ee 100644 --- a/.gitignore +++ b/.gitignore @@ -43,4 +43,6 @@ previewer/ buildglyphs.js parameters.js support/glyph.js -support/stroke.js \ No newline at end of file +support/stroke.js +testdrive/*.ttf +testdrive/*.charmap \ No newline at end of file diff --git a/glyphs/autobuilds.patel b/glyphs/autobuilds.patel index ee87754f0..119a0eee1 100644 --- a/glyphs/autobuilds.patel +++ b/glyphs/autobuilds.patel @@ -140,9 +140,15 @@ createSuperscripts : list { list 0x2077 'seven' list 0x2078 'eight' list 0x2079 'nine' + list 0x207A 'plus' + list 0x207B 'minus' + list 0x207C 'equal' + list 0x207D 'parenLeft' + list 0x207E 'parenRight' list 0x02B0 'h' list 0x02B2 'j' list 0x02B3 'r' + list 0x02B4 'turnr' list 0x02B7 'w' list 0x02B8 'y' list 0x02E1 'l' @@ -151,19 +157,39 @@ createSuperscripts : list { list 0x2071 'i' list 0x207F 'n' list 0x1D43 'a' + list 0x1D44 'turna' + list 0x1D45 'scripta' list 0x1D47 'b' list 0x1D48 'd' list 0x1D49 'e' + list 0x1D4A 'turne' + list 0x1D4B 'epsilon' + list 0x1D4C 'cyrze' list 0x1D4D 'g' list 0x1D4F 'k' list 0x1D50 'm' + list 0x1D51 'eng' list 0x1D52 'o' + list 0x1D53 'turnc' list 0x1D56 'p' list 0x1D57 't' list 0x1D58 'u' + list 0x1D5A 'turnm' list 0x1D5B 'v' + list 0x1D5D 'beta' + list 0x1D5E 'gamma' + list 0x1D5F 'delta' + list 0x1D60 'phi' + list 0x1D61 'chi' + list 0x1D9B 'turnscripta' list 0x1D9C 'c' list 0x1DA0 'f' + list 0x1DA3 'turnh' + list 0x1DB2 'varphi' + list 0x1DB4 'esh' + list 0x1DBA 'turnv' + list 0x1DBE 'ezh' + list 0x1DBF 'theta' list 0x1DBB 'z' list 0x1D2C 'A' list 0x1D2E 'B' @@ -197,11 +223,16 @@ createSubscripts : list { list 0x2087 'seven' list 0x2088 'eight' list 0x2089 'nine' + list 0x208A 'plus' + list 0x208B 'minus' + list 0x208C 'equal' + list 0x208D 'parenLeft' + list 0x208E 'parenRight' list 0x2090 'a' list 0x2091 'e' list 0x2092 'o' list 0x2093 'x' - # list 0x2094 'reve' + list 0x2094 'turne' list 0x2095 'h' list 0x2096 'k' list 0x2097 'l' @@ -214,6 +245,11 @@ createSubscripts : list { list 0x1D63 'r' list 0x1D64 'u' list 0x1D65 'v' + list 0x1D66 'beta' + list 0x1D67 'gamma' + list 0x1D68 'rho' + list 0x1D69 'phi' + list 0x1D6A 'chi' } createFractions : list { diff --git a/glyphs/cyrillic-basic.patel b/glyphs/cyrillic-basic.patel index c8a7c3391..0c37dbe30 100644 --- a/glyphs/cyrillic-basic.patel +++ b/glyphs/cyrillic-basic.patel @@ -25,7 +25,7 @@ alias 'cyrte.upright' null 'tau' alias 'cyrte.italic' null 'm' italic-variant 'cyrte' 0x442 alias 'Ef' 0x424 'Phi' -alias 'cyref' 0x444 'phi' +alias 'cyref' 0x444 'varphi' alias 'cyrHa' 0x425 'X' alias 'cyrha' 0x445 'x' alias 'cyru' 0x443 'y' @@ -197,7 +197,7 @@ create-glyph 'cyrde.italic' : glyph-construction { } italic-variant 'cyrde' 0x434 define [CyrZheShape top] : glyph-construction { - local fine : adviceBlackness 3.75 + local fine : adviceBlackness 3.5 local midx : mix SB MIDDLE 0.3 define [CyrAngleShape] : glyph-construction { local cor 1 @@ -227,16 +227,18 @@ create-glyph 'cyrzhe' : glyph-construction { } define [CyrZeShape top] : glyph-construction { local mid : mix RIGHTSB SB 0.65 - include : twoHookUpper top [SMOOTHB * 0.87 / [XH / top]] SHOOK - include : sHookLower 0 [SMOOTHA * 0.87 / [XH / top]] SHOOK + local smb : SMOOTHB * 0.815 + local sma : SMOOTHA * 0.815 + include : twoHookUpper top [smb / [XH / top]] SHOOK + include : sHookLower 0 [sma / [XH / top]] SHOOK include : create-stroke - :.start-from RIGHTSB [top - SMOOTHB * 0.87 / [XH / top]] + :.start-from RIGHTSB [top - smb / [XH / top]] :.set-width 0 STROKE :.arc-vh-to MIDDLE [top / 2 - HALFSTROKE] KAPPA :.line-to mid [top / 2 - HALFSTROKE] :.heads-to LEFTWARD include : create-stroke - :.start-from RIGHTSB [SMOOTHA * 0.87 / [XH / top]] + :.start-from RIGHTSB [sma / [XH / top]] :.set-width STROKE 0 :.arc-vh-to MIDDLE [top / 2 + HALFSTROKE] KAPPA :.line-to mid [top / 2 + HALFSTROKE] @@ -397,7 +399,7 @@ create-glyph 'cyre' : glyph-construction { define [CyrYuShape top sma smb] : glyph-construction { local fine : adviceBlackness 3.5 include : VBarLeft [SB + O] 0 top fine - include : smallo top 0 [mix [SB + fine * ITALICCOR] RIGHTSB 0.15] RIGHTSB fine [sma * 0.8] [smb * 0.8] + include : smallo top 0 [mix [SB + fine * ITALICCOR] RIGHTSB 0.15] [RIGHTSB - O] fine [sma * 0.8] [smb * 0.8] include : HBar [SB + fine * 0.1] [mix [SB + fine * ITALICCOR] RIGHTSB 0.15] [top / 2] } create-glyph 'cyrYu' : glyph-construction { diff --git a/glyphs/cyrillic-extended.patel b/glyphs/cyrillic-extended.patel index e166d93cf..ea40db144 100644 --- a/glyphs/cyrillic-extended.patel +++ b/glyphs/cyrillic-extended.patel @@ -31,8 +31,8 @@ create-glyph 'cyrdzhe' : glyph-construction { define [CyrLjeShape top] : glyph-construction { local fine : adviceBlackness 3.5 local xlefttop : mix SB RIGHTSB 0.075 - include : LegShape xlefttop [mix SB RIGHTSB 0.025] [mix SB 0 0.25] top 0 fine - include : CyrYeriShape top [MIDDLE - fine / 2 * ITALICCOR] RIGHTSB fine + include : LegShape xlefttop [mix SB RIGHTSB 0.025] [mix SB 0 0.5] top 0 fine + include : CyrYeriShape top [MIDDLE - fine / 2 * ITALICCOR] [RIGHTSB - O] fine include : HBarTop xlefttop MIDDLE top } create-glyph 'cyrLje' : glyph-construction { @@ -49,7 +49,7 @@ define [CyrNjeShape top] : glyph-construction { local fine : adviceBlackness 3.5 local xlefttop : mix SB RIGHTSB 0.075 include : VBarLeft SB 0 top fine - include : CyrYeriShape top [MIDDLE - fine / 2 * ITALICCOR] RIGHTSB fine + include : CyrYeriShape top [MIDDLE - fine / 2 * ITALICCOR] [RIGHTSB - O] fine include : HBar [SB + fine * 0.1] MIDDLE [top / 2] } create-glyph 'cyrNje' : glyph-construction { @@ -107,4 +107,6 @@ create-glyph 'cyrge' : glyph-construction { assign-unicode 0x491 include eMarks include : CyrGeShape XH -} \ No newline at end of file +} +alias 'Palochka' 0x4C0 'I' +alias 'palochka' 0x4CF 'l' \ No newline at end of file diff --git a/glyphs/greek.patel b/glyphs/greek.patel index 505fe1654..f891e98fb 100644 --- a/glyphs/greek.patel +++ b/glyphs/greek.patel @@ -334,16 +334,18 @@ create-glyph 'epsilon' : glyph-construction { include eMarks local mid : mix SB RIGHTSB 0.65 - include : sHookUpper XH [SMOOTHA * 0.87] SHOOK - include : XSHookLower 0 [RIGHTSB - OXHOOK + TAILADJX * globalTransform.yx] MIDDLE SB [SMOOTHB * 0.87] [SHOOK - TAILADJY * globalTransform.yx] + local sma : SMOOTHA * 0.815 + local smb : SMOOTHB * 0.815 + include : sHookUpper XH sma SHOOK + include : XSHookLower 0 [RIGHTSB - OXHOOK + TAILADJX * globalTransform.yx] MIDDLE SB smb [SHOOK - TAILADJY * globalTransform.yx] include : create-stroke - :.start-from SB [XH - SMOOTHA * 0.87] + :.start-from SB [XH - sma] :.set-width STROKE 0 :.arc-vh-to MIDDLE [XH / 2 - HALFSTROKE] KAPPA :.line-to mid [XH / 2 - HALFSTROKE] :.heads-to RIGHTWARD include : create-stroke - :.start-from SB [SMOOTHB * 0.87] + :.start-from SB smb :.set-width 0 STROKE :.arc-vh-to MIDDLE [XH / 2 + HALFSTROKE] KAPPA :.line-to mid [XH / 2 + HALFSTROKE] @@ -499,7 +501,7 @@ create-glyph 'omega' : glyph-construction { :.heads-to UPWARD } -create-glyph 'phi' : glyph-construction { +create-glyph 'varphi' : glyph-construction { assign-unicode 0x3D5 include ifMarks local fine : adviceBlackness 3.5 @@ -510,14 +512,14 @@ create-glyph 'phi' : glyph-construction { include : VBar MIDDLE y1 y2 fine include : VBar MIDDLE [y2 - HALFSTROKE] CAP } -create-glyph 'varphi' : glyph-construction { +create-glyph 'phi' : glyph-construction { assign-unicode 0x3C6 include pMarks - local fine : adviceBlackness 3.5 + local fine : adviceBlackness 3.25 local x0 : [mix SB RIGHTSB 0.1] + fine local y0 : XH - STROKE * 0.2 local y1 : mix 0 XH 0.75 - local x1 : SB + fine * ITALICCOR + O + local x1 : SB + fine * ITALICCOR + O * 2 local y3 : XH / 2 local y4 : XH * 0.65 @@ -529,8 +531,8 @@ create-glyph 'varphi' : glyph-construction { :.arc-hv-to [WIDTH - x1] [XH / 2] :.arc-vh-to [mix [WIDTH - x1] [MIDDLE + fine / 2] 0.5] [XH - fine - O] :.arc-hv-to [MIDDLE + fine / 2] y3 - :.line-to [MIDDLE + fine / 2] DESCENDER - :.heads-to DOWNWARD + :.line-to [MIDDLE + fine / 2] 0 + include : VBar MIDDLE DESCENDER 0 } create-glyph 'psi' : glyph-construction { diff --git a/glyphs/latin-basic-capital.patel b/glyphs/latin-basic-capital.patel index 5a6803371..b878fc8bd 100644 --- a/glyphs/latin-basic-capital.patel +++ b/glyphs/latin-basic-capital.patel @@ -417,7 +417,7 @@ create-glyph 'E' : glyph-construction { define [HShape top] : glyph-construction { include : VBarLeft SB 0 top include : VBarRight RIGHTSB 0 top - include : HBar SB RIGHTSB [top / 2] + include : HBar [SB - O] [RIGHTSB + O] [top / 2] } create-glyph 'H' : glyph-construction { set-width WIDTH diff --git a/glyphs/latin-basic-lower.patel b/glyphs/latin-basic-lower.patel index 9b1d45046..c08409a60 100644 --- a/glyphs/latin-basic-lower.patel +++ b/glyphs/latin-basic-lower.patel @@ -546,7 +546,7 @@ create-glyph 'v' : glyph-construction { #bottom cap start-from [MIDDLE + STROKE / 2] 0 line-to [MIDDLE - STROKE / 2] 0 - line-to MIDDLE STROKE + line-to MIDDLE [STROKE * 0.8] } create-glyph 'w' : glyph-construction { set-width WIDTH @@ -658,7 +658,7 @@ define [SmallKShape] : glyph-construction { :.start-from [right - HALFSTROKE] 0 :.heads-to UPWARD :.set-width HALFSTROKE HALFSTROKE - :.curve-to [right - HALFSTROKE] [rturn + 0.05 * [XH - rturn]] attach2 [XH * 0.5 + HALFSTROKE] + :.curve-to [right - HALFSTROKE] [rturn + 0.05 * [XH - rturn]] attach2 [XH * 0.52 + HALFSTROKE] :.set-width [fine / 2] [fine / 2] } diff --git a/glyphs/latin-extend.patel b/glyphs/latin-extend.patel index 23af271a9..972575a46 100644 --- a/glyphs/latin-extend.patel +++ b/glyphs/latin-extend.patel @@ -74,7 +74,7 @@ create-glyph 'OE' : glyph-construction { create-glyph 'ae-epart' : glyph-construction { dont-export - local sw : adviceBlackness 3.5 + local sw : adviceBlackness 3.25 local eLeft : MIDDLE - sw / 2 * ITALICCOR local eMiddle : [mix eLeft [RIGHTSB - O] 0.5] - sw * globalTransform.yx local barbottom [XH * EBARPOS] @@ -104,7 +104,7 @@ create-glyph 'ae-epart' : glyph-construction { } create-glyph 'ae-apart' : glyph-construction { dont-export - local sw : adviceBlackness 3.5 + local sw : adviceBlackness 3.25 local bartop [XH * BARPOS + sw] local abarRight : MIDDLE + sw / 2 * ITALICCOR @@ -131,7 +131,7 @@ create-glyph 'ae-apart' : glyph-construction { } create-glyph 'oe-opart' : glyph-construction { dont-export - local sw : adviceBlackness 3.5 + local sw : adviceBlackness 3.25 local abarRight : MIDDLE + sw / 2 * ITALICCOR local m1 : mix [SB + O] abarRight 0.5 @@ -487,7 +487,7 @@ create-glyph 'scripta' : glyph-construction { } turned nothing 0x252 'scripta' MIDDLE [XH / 2] turned nothing 0x254 'c' MIDDLE [XH / 2] -turned nothing 0x08E 'E' MIDDLE [CAP / 2] +turned nothing 0x18E 'E' MIDDLE [CAP / 2] turned nothing 0x1DD 'e' MIDDLE [XH / 2] alias 'schwa' 0x259 'turne' turned nothing 0x265 'h' MIDDLE [XH / 2] diff --git a/glyphs/numbers.patel b/glyphs/numbers.patel index 53bf2cfcd..d1aeca8a1 100644 --- a/glyphs/numbers.patel +++ b/glyphs/numbers.patel @@ -191,8 +191,8 @@ create-glyph 'nine' : glyph-construction { set-width WIDTH assign-unicode '9' - include : smallo CAP [CAP * 0.4] SB [RIGHTSB + O] - local ymiddlea : [CAP - SMALLSMOOTHB + CAP * 0.4 + SMALLSMOOTHA] / 2 + include : smallo CAP [CAP * 0.425 - HALFSTROKE] SB [RIGHTSB + O] + local ymiddlea : mix CAP [CAP * 0.425 - HALFSTROKE] 0.5 include : create-stroke :.start-from RIGHTSB ymiddlea :.set-width 0 STROKE diff --git a/glyphs/symbol-punctuation.patel b/glyphs/symbol-punctuation.patel index 33bd6e0d2..6f13f683a 100644 --- a/glyphs/symbol-punctuation.patel +++ b/glyphs/symbol-punctuation.patel @@ -253,6 +253,7 @@ create-glyph 'ellipsis' : glyph-construction { } alias 'bullet' 0x2022 'interpunct' alias 'hyphenpoint' 0x2027 'interpunct' +alias 'greekbullet' 0x387 'interpunct' create-glyph 'permille' : glyph-construction { assign-unicode 0x2030 local dotwidth [[adviceBlackness 4] * 1.5] diff --git a/parameters.patel b/parameters.patel index ea6d9136a..4268a3c7b 100644 --- a/parameters.patel +++ b/parameters.patel @@ -54,7 +54,7 @@ bold.dotsize = 160 bold.periodsize = 180 bold.ebarpos = 0.4 bold.barpos = 0.42 -bold.hook = 150 +bold.hook = 135 bold.ahook = 100 bold.smooth = 200 bold.oxhook = [-8] diff --git a/testdrive/index.html b/testdrive/index.html new file mode 100644 index 000000000..a28db753e --- /dev/null +++ b/testdrive/index.html @@ -0,0 +1,272 @@ + + + + Iosevka + + + + + + + + +