Added weight "heavy".

This commit is contained in:
be5invis 2015-12-15 08:40:58 +08:00
parent 33787fed5a
commit 5dee202ded
12 changed files with 136 additions and 72 deletions

View File

@ -238,7 +238,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
define [superxy x] : Math.pow (1 - [Math.pow x SUPERNESS]) (1 / SUPERNESS)
define [adviceSSmooth y sign] : begin
local ss : y * 0.22 + STROKE * 0.22 + 0.02 * (RIGHTSB - SB)
local ss : y * 0.22 + STROKE * 0.225 + 0.02 * (RIGHTSB - SB)
return : ss + sign * globalTransform.yx * para.smoothadjust * (ss / SMALLSMOOTH)
define [adviceGlottalStopSmooth y sign] : ((y - STROKE) * 0.25 + STROKE / 2) + sign * globalTransform.yx * para.smoothadjust
define [shoulderMidSlope _fine _stroke _dir] : 0.5 * CORRECTION_HX * ([fallback _stroke STROKE] - [fallback _fine SHOULDERFINE]) / [fallback _stroke STROKE] + [fallback _dir 1] * globalTransform.yx

View File

@ -93,6 +93,7 @@ if(argv.feature) {
};*/
if(argv.svg) {
function cov(x){ return x.toFixed(4) }
function toSVGPath(glyph){
var buf = '';
if(glyph.contours) for(var j = 0; j < glyph.contours.length; j++) {
@ -102,15 +103,15 @@ if(argv.svg) {
if(contour.length) {
lx = contour[0].x;
ly = contour[0].y;
buf += 'M' + lx + ' ' + ly;
buf += 'M' + cov(lx) + ' ' + cov(ly);
for(var k = 1; k < contour.length; k++) if(contour[k].onCurve){
lx = contour[k].x;
ly = contour[k].y;
buf += 'L' + lx + ' ' + ly;
buf += 'L' + cov(lx) + ' ' + cov(ly);
} else if(contour[k].cubic) {
var rx = contour[k + 2].x;
var ry = contour[k + 2].y;
buf += 'C' + [contour[k].x, contour[k].y, contour[k + 1].x, contour[k + 1].y, rx, ry].join(' ');
buf += 'C' + [contour[k].x, contour[k].y, contour[k + 1].x, contour[k + 1].y, rx, ry].map(cov).join(' ');
lx = rx;
ly = ry;
k += 2;
@ -127,14 +128,14 @@ if(argv.svg) {
var x2 = mix(rx, contour[k].x, 2 / 3);
var y2 = mix(ry, contour[k].y, 2 / 3);
buf += 'C' + [x1, y1, x2, y2, rx, ry].join(' ');
buf += 'C' + [cov(x1), cov(y1), cov(x2), cov(y2), cov(rx), cov(ry)].join(' ');
lx = rx;
ly = ry;
if(contour[k + 1].onCurve) k += 1;
} else {
var rx = contour[0].x;
var ry = contour[0].y;
buf += 'Q' + contour[k].x + ' ' + contour[k].y + ' ' + contour[0].x + ' ' + contour[0].y;
buf += 'Q' + cov(contour[k].x) + ' ' + cov(contour[k].y) + ' ' + cov(contour[0].x) + ' ' + cov(contour[0].y);
lx = rx;
ly = ry;
}

View File

@ -226,7 +226,7 @@ define [suggestName name] : begin
define [createCircledGlyphs records] : if [not recursive] : begin
local dscale 0.55
local pendingGlyphs : records.map : [record] -> record.1
local miniatureFont : Miniature pendingGlyphs 3.5 0.65
local miniatureFont : Miniature pendingGlyphs [fallback para.smallCrowd 3.5] 0.65
foreach {unicode glyphid w} [items-of records] : create-glyph [suggestName : 'circle' + glyphid] : glyph-construction
local width : fallback w WIDTH
@ -250,7 +250,7 @@ define [createCircledGlyphs records] : if [not recursive] : begin
define [createSuperscripts records] : if [not recursive] : begin
local pendingGlyphs : records.map : [record] -> record.1
local miniatureFont : Miniature pendingGlyphs 3.5 0.7
local miniatureFont : Miniature pendingGlyphs [fallback para.smallCrowd 3.5] 0.7
foreach {unicode glyphid} [items-of records] : create-glyph [suggestName : 'sup' + glyphid] : glyph-construction
if unicode : assign-unicode unicode
include miniatureFont.(glyphid) AS_BASE
@ -262,7 +262,7 @@ define [createSuperscripts records] : if [not recursive] : begin
define [createSubscripts records] : if [not recursive] : begin
local pendingGlyphs : records.map : [record] -> record.1
local miniatureFont : Miniature pendingGlyphs 3.5 0.7
local miniatureFont : Miniature pendingGlyphs [fallback para.smallCrowd 3.5] 0.7
foreach {unicode glyphid} [items-of records] : create-glyph [suggestName : 'sub' + glyphid] : glyph-construction
if unicode : assign-unicode unicode
include miniatureFont.(glyphid) AS_BASE
@ -285,7 +285,7 @@ define [createSMCPs records] : if [not recursive] : begin
define [createMedievalCombs records] : if [not recursive] : begin
local pendingGlyphs : records.map : [record] -> record.1
local miniatureFont : Miniature pendingGlyphs 3.7 0.7
local miniatureFont : Miniature pendingGlyphs [fallback para.smallCrowd2 3.5] 0.7
foreach {unicode glyphid} [items-of records] : create-glyph [suggestName : 'comb' + glyphid] : glyph-construction
set-width 0
if unicode : assign-unicode unicode

View File

@ -158,8 +158,8 @@ define [OBarLeftShape _top _left] : glyph-construction
arcvh
g4 (mb) O [widths.heading STROKE 0 {.y (1) .x (-sb)}]
archv
flat.ai (RIGHTSB - OX) (0 + SMALLSMOOTHA)
curl.ai (RIGHTSB - OX) (top - SMALLSMOOTHB)
[if ((SMALLSMOOTHA + SMALLSMOOTHB) / top > 0.75) flat.ai flat] (RIGHTSB - OX) (0 + SMALLSMOOTHA)
[if ((SMALLSMOOTHA + SMALLSMOOTHB) / top > 0.75) curl.ai curl] (RIGHTSB - OX) (top - SMALLSMOOTHB)
arcvh
close
@ -434,11 +434,12 @@ define [HooktopLeftBar stroke bottom] : glyph-construction
flat SB (CAP - SMALLSMOOTHA)
curl SB [fallback bottom 0] [heading DOWNWARD]
define [CurlyTail fine rinner m1 bottom _right x2 y2] : begin
define [CurlyTail fine rinner m1 bottom _right x2 y2 adj adj2 adj3] : begin
local right : _right - fine * [if (_right > m1) 1 (-1)]
local mid : mix [mix m1 right 0.5] (right - rinner * [if (_right > m1) 1 (-1)]) 0.4
local mid : mix [mix m1 right 0.5] (right - rinner * [if (_right > m1) 1 (-1)]) [fallback adj 0.4]
local midu : mix [mix m1 right 0.5] (right - rinner * [if (_right > m1) 1 (-1)]) [fallback adj2 0.4]
return : list
g4 mid (bottom + fine + O) [widths [if (_right > m1) 0 fine] [if (_right > m1) fine 0]]
g4.[if (_right > m1) 'right' 'left'].mid (mid + CORRECTION_OMIDX * fine * [fallback adj3 0] * [if (_right > m1) 1 (-1)]) (bottom + fine + O) [widths [if (_right > m1) 0 fine] [if (_right > m1) fine 0]]
archv 2
g4 right (bottom + fine + rinner - 0.1)
g4 right (bottom + fine + rinner + 0.1)
@ -467,12 +468,12 @@ define [FlatSlashShape middlex middle fine kx ky] : glyph-construction
curl (middlex + LONGJUT * [fallback kx 0.8]) (middle + LONGJUT * [fallback ky 0.4])
# Spiro shapes
define [determineMixR w v] : piecewise
define [determineMixR w v adj] : piecewise
(w <= v) 0.5
true : 1 / ([Math.pow (1 - [Math.pow (1 - v / w) SUPERNESS]) (1 / SUPERNESS)] + 1)
define nHookSegments 4
true : (adj || 1) / ([Math.pow (1 - [Math.pow (1 - v / w) SUPERNESS]) (1 / SUPERNESS)] + 1)
define nHookSegments 8
define [HookShape toStraight toFinish isStart y tight s kkaf] : begin
define [HookShape toStraight toFinish isStart y tight s kkaf adj] : begin
local atBottom : toStraight.y > y
local ltr : if isStart (toFinish.x < toStraight.x) (toFinish.x > toStraight.x)
toFinish.x = toFinish.x + OXHOOK * [if ltr (-1) 1] * [if isStart (-1) 1]
@ -483,7 +484,7 @@ define [HookShape toStraight toFinish isStart y tight s kkaf] : begin
local w : Math.abs (toStraight.y - y)
local v : Math.abs (toFinish.y - y)
local u : Math.abs (toFinish.x - toStraight.x)
local mixr : determineMixR w v
local mixr : determineMixR w v adj
local mx ([mix toStraight.x toFinish.x mixr] + ([if tight 0 : if atBottom 1 (-1)] * CORRECTION_OMIDX) * [fallback s STROKE])
local keyKnot : g4.[if ltr "right" "left"].mid mx y [fallback kkaf : if tight [heading [if ltr RIGHTWARD LEFTWARD]] nothing]
@ -506,8 +507,8 @@ define [HookShape toStraight toFinish isStart y tight s kkaf] : begin
* keyKnot
* segAfter
define [hookstart y tight s kkaf] : return {.type 'interpolate' .af [lambda [before after] [HookShape after before true y tight s kkaf]]}
define [hookend y tight s kkaf] : return {.type 'interpolate' .af [lambda [before after] [HookShape before after false y tight s kkaf]]}
define [hookstart y tight s kkaf adj] : return {.type 'interpolate' .af [lambda [before after] [HookShape after before true y tight s kkaf adj]]}
define [hookend y tight s kkaf adj] : return {.type 'interpolate' .af [lambda [before after] [HookShape before after false y tight s kkaf adj]]}
define [WaveShape l r cy extendy tension sw] : glyph-construction
local cx : mix l r 0.5

View File

@ -384,7 +384,7 @@ symbol-block 'l'
create-glyph 'looprevesh' : glyph-construction
assign-unicode 0x1AA
include ifMarks
local fine : adviceBlackness 5
local fine : adviceBlackness 4
include : dispiro
widths.center fine
g4 MIDDLE (CAP - fine * 1.5) [heading DOWNWARD]
@ -1345,7 +1345,7 @@ symbol-block 'r'
assign-unicode 'r'
include eMarks
local fine : SHOULDERFINE * 0.75
local fine : SHOULDERFINE * CTHIN
local rhookx (RIGHTSB + RBALANCE2 - OXE)
local mixp : 0.54 + 2 * globalTransform.yx * STROKE / WIDTH
local mixpin : 0.65 + globalTransform.yx * [linreg 72 0.1 108 0.5 STROKE]
@ -1495,7 +1495,7 @@ define {CShape} : symbol-block 'C'
flat.ai (SB + OX) (XH - SMALLSMOOTHA)
curl.ai (SB + OX) SMALLSMOOTHB
arcvh
CurlyTail fine rinner m1 0 RIGHTSB x2 y2
CurlyTail fine rinner m1 0 RIGHTSB x2 y2 [linreg 500 (0.5) 375 (-0.25) WIDTH] nothing 1
create-glyph 'cyrE' : glyph-construction
assign-unicode 0x42D
@ -2262,7 +2262,7 @@ define {FShape} : symbol-block 'F'
define [FShape top y] : glyph-construction
include : VBarLeft (SB * 1.5) 0 [fallback top CAP]
include : HBarTop (SB * 1.5 - O) RIGHTSB [fallback top CAP]
include : HBar (SB * 1.5 - O) (RIGHTSB - [if SLAB (STROKE * 0.75) HALFSTROKE]) ([fallback top CAP] * [fallback y [if SLAB 0.52 0.54]])
include : HBar (SB * 1.5 - O) (RIGHTSB - [Math.max HALFSTROKE ((RIGHTSB - SB) * 0.1)] - [if SLAB (STROKE * 0.25) 0]) ([fallback top CAP] * [fallback y [if SLAB 0.52 0.54]])
if SLAB : begin
include : LeftwardTopSerif (SB * 1.5) [fallback top CAP] SIDEJUT
include : CenterBottomSerif (SB * 1.5 + HALFSTROKE * CORRECTION_HX) 0 JUT
@ -2484,8 +2484,8 @@ define {SmallEShape} : symbol-block 'e'
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (top - O)
archv
[if (top <= XH) flat.ai flat] (SB + OX) (top - SMALLSMOOTHA)
[if (top <= XH) curl.ai curl] (SB + OX) (0 + SMALLSMOOTHB)
[if ((SMALLSMOOTHA + SMALLSMOOTHB) / top > 0.75) flat.ai flat] (SB + OX) (top - SMALLSMOOTHA)
[if ((SMALLSMOOTHA + SMALLSMOOTHB) / top > 0.75) curl.ai curl] (SB + OX) (0 + SMALLSMOOTHB)
hookend O nothing stroke
g4 (RIGHTSB - OX * 0.5) AHOOK
include : HBarBottom (SB + (stroke / 2) + OX) (RIGHTSB - (stroke / 2) - OX) barbottom stroke
@ -2677,19 +2677,20 @@ symbol-block 'S'
g4 SB HOOK
alias 'cyrDze' 0x405 'S'
local smallSMix : clamp 0 1 : linreg 0 [linreg 18 1 108 0.95 STROKE] 50 1 [Math.abs : WIDTH - 500]
create-glyph 's' : glyph-construction
set-width WIDTH
assign-unicode 's'
include eMarks
define smooth : adviceSSmooth XH (-1)
define smooth : adviceSSmooth XH (-1 - globalTransform.yx * 3)
include : dispiro
widths.lhs
g4 RIGHTSB (XH - SHOOK)
hookstart XO
hookstart XO nothing nothing nothing smallSMix
g4.down.mid SB (XH - smooth)
alsothru 0.5 0.5 [widths (ESS / 2) (ESS / 2)]
alsothru 0.5 0.5 [widths.center ESS]
g4.down.mid RIGHTSB (smooth) [widths 0 STROKE]
hookend O
hookend O nothing nothing nothing smallSMix
g4 SB SHOOK
alias 'cyrdze' 0x455 's'
@ -2710,15 +2711,15 @@ symbol-block 'S'
create-glyph 'revs' : glyph-construction
assign-unicode 0x1A8
include eMarks
local smooth : adviceSSmooth XH 1
local smooth : adviceSSmooth XH (1 + globalTransform.yx * 5)
include : dispiro
widths.rhs
g4 SB (XH - SHOOK)
hookstart XO
hookstart XO nothing nothing nothing smallSMix
g4 RIGHTSB (XH - smooth)
alsothru 0.5 0.5 [widths (ESS / 2) (ESS / 2)]
alsothru 0.5 0.5 [widths.center ESS]
g4 SB (smooth) [widths STROKE 0]
hookend O
hookend O nothing nothing nothing smallSMix
g4 RIGHTSB SHOOK
create-glyph 'srtail' : glyph-construction
@ -2808,11 +2809,10 @@ symbol-block 'Z'
eject-contour 'serifRB'
include : dispiro
widths.lhs
flat SB 0
flat SB 0 [heading RIGHTWARD]
curl (RIGHTSB - HOOKX) 0
archv
flat RIGHTSB (-HOOK) [widths 0 STROKE]
curl RIGHTSB (-HOOK - 1)
straight.down.end RIGHTSB (-HOOK) [widths.heading 0 STROKE DOWNWARD]
create-glyph 'zdtail' : glyph-construction
assign-unicode 0x225
@ -2824,7 +2824,7 @@ symbol-block 'Z'
flat SB 0 [heading RIGHTWARD]
curl (RIGHTSB - HOOKX) 0
archv
g4 RIGHTSB (-HOOK) [widths.heading 0 STROKE DOWNWARD]
straight.down.end RIGHTSB (-HOOK) [widths.heading 0 STROKE DOWNWARD]
create-glyph 'Zswash' : glyph-construction
assign-unicode 0x2C7F

View File

@ -188,7 +188,7 @@ symbol-block 'Delta and cyrbe'
flat.ai (RIGHTSB - OX) (XH - SMALLSMOOTHB)
curl.ai (RIGHTSB - OX) SMALLSMOOTHA
arcvh
g4 (MIDDLE + CORRECTION_OMIDX) O
g4 (MIDDLE + CORRECTION_OMIDS) O
archv
flat (SB + OX) SMALLSMOOTHB
curl (SB + OX) (XH - SMALLSMOOTHA)
@ -284,7 +284,7 @@ symbol-block 'zeta and xi'
include : dispiro
widths.rhs
g4 (RIGHTSB + O) (CAP - STROKE)
bezcontrols 0.7 0.35 1 0.64
bezcontrols 0.7 0.35 1 0.64 12
g4.down.mid (SB + STROKE * CORRECTION_HX) [mix 0 CAP 0.27]
arcvh
g4 [mix SB RIGHTSB 0.55] STROKE
@ -389,7 +389,7 @@ symbol-block 'pi'
alsothru 0.5 0.85 important
g4 [mix SB RIGHTSB 0.1] O
local m2 : mix SB RIGHTSB (1 - m)
local hook : HOOK * 0.8
local hook : Math.max (STROKE * CORRECTION_HX * 1.1) (HOOK * 0.8)
include : dispiro
widths.center
flat m2 XH [heading DOWNWARD]
@ -1055,12 +1055,14 @@ symbol-block 'CyrChe'
create-glyph 'cyrChevbar' : glyph-construction
assign-unicode 0x4B8
include glyphs.cyrChe AS_BASE
include : FlatSlashShape MIDDLE (CAP * [if SLAB 0.45 0.35] + STROKE * 0.1) (OVERLAYSTROKE / 2) 0 0.8
local yc (CAP * [if SLAB 0.45 0.35] + STROKE * 0.1)
include : VBar MIDDLE (yc + LONGJUT * 0.8) (yc - LONGJUT * 0.8) OVERLAYSTROKE
create-glyph 'cyrchevbar' : glyph-construction
assign-unicode 0x4B9
include glyphs.cyrche AS_BASE
include : FlatSlashShape MIDDLE (XH * [if SLAB 0.45 0.4] + STROKE * 0.1) (OVERLAYSTROKE / 2) 0 0.8
local yc (XH * [if SLAB 0.45 0.35] + STROKE * 0.1)
include : VBar MIDDLE (yc + LONGJUT * 0.8) (yc - LONGJUT * 0.8) OVERLAYSTROKE
symbol-block 'CyrYu'
define [CyrYuShape top sma smb] : glyph-construction
@ -1272,7 +1274,7 @@ symbol-block 'Digraphs'
define aeepart : glyph-construction
local eLeft : MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX + 0.1
local eMiddle : [mix eLeft (RIGHTSB - OX * 2) 0.5] - MVERTSTROKE * globalTransform.yx
local barbottom (XH * EBARPOS)
local barbottom (XH * EBARPOS - HALFSTROKE)
local sma : SMALLSMOOTHA * 0.6
local smb : SMALLSMOOTHB * 0.6

View File

@ -171,7 +171,7 @@ symbol-block "Numbers"
if SLAB : begin
include : DownwardLeftSerif (SB + OXE) CAP VJUT
local pr : linreg 18 0.85 120 0.975 STROKE
create-glyph 'eight' : glyph-construction
include capitalMarks
set-width WIDTH
@ -185,15 +185,15 @@ symbol-block "Numbers"
widths.rhs
g4.right.mid (MIDDLE - CORRECTION_OMIDS) (CAP - O)
archv
g4 [mix l r p] (CAP - SMOOTHB * p)
g4 [mix l r p] (CAP - SMOOTHB * pr * p)
alsothru 0.5 0.5 [widths.center]
g4 (l) SMOOTHB [widths.lhs]
g4 (l) (SMOOTHB * pr) [widths.lhs]
arcvh
g4.right.mid (MIDDLE + CORRECTION_OMIDS) (O)
archv
g4 (r) SMOOTHA [widths.lhs]
g4 (r) (SMOOTHA * pr) [widths.lhs]
alsothru 0.5 0.5 [widths.center]
g4 [mix r l p] (CAP - SMOOTHA * p) [widths.rhs]
g4 [mix r l p] (CAP - SMOOTHA * pr * p) [widths.rhs]
arcvh
close
@ -207,11 +207,11 @@ symbol-block "Numbers"
widths.lhs
straight.up.start r 0 [heading UPWARD]
alsothru 0.5 (1 - py) [widths (STROKE * py) (STROKE * (1 - py))]
g4 [mix r l p] (CAP - SMOOTHA * p) [widths.rhs]
g4 [mix r l p] (CAP - SMOOTHA * p * pr) [widths.rhs]
arcvh
g4 (MIDDLE - CORRECTION_OMIDS) (CAP - O)
archv
g4 [mix l r p] (CAP - SMOOTHB * p)
g4 [mix l r p] (CAP - SMOOTHB * p * pr)
alsothru 0.5 py [widths (STROKE * py) (STROKE * (1 - py))]
straight.down.end l 0 [widths.heading STROKE 0 DOWNWARD]

View File

@ -1,20 +1,22 @@
###### Other symbols
# IPA tonal marks
symbol-block 'Phonetic Symbols'
local triangleSize : Math.min (PERIODRADIUS) (XH / 6)
create-glyph 'trianglecolon' : glyph-construction
assign-unicode 0x2D0
start-from (MIDDLE - PERIODRADIUS * 1.35) XH
line-to MIDDLE (XH - PERIODRADIUS * 2.75)
line-to (MIDDLE + PERIODRADIUS * 1.35) XH
start-from (MIDDLE - PERIODRADIUS * 1.35) 0
line-to MIDDLE (0 + PERIODRADIUS * 2.75)
line-to (MIDDLE + PERIODRADIUS * 1.35) 0
start-from (MIDDLE - triangleSize * 1.35) XH
line-to MIDDLE (XH - triangleSize * 2.75)
line-to (MIDDLE + triangleSize * 1.35) XH
start-from (MIDDLE - triangleSize * 1.35) 0
line-to MIDDLE (0 + triangleSize * 2.75)
line-to (MIDDLE + triangleSize * 1.35) 0
create-glyph 'halftrianglecolon' : glyph-construction
assign-unicode 0x2D1
start-from (MIDDLE - PERIODRADIUS * 1.35) XH
line-to MIDDLE (XH - PERIODRADIUS * 2.75)
line-to (MIDDLE + PERIODRADIUS * 1.35) XH
start-from (MIDDLE - triangleSize * 1.35) XH
line-to MIDDLE (XH - triangleSize * 2.75)
line-to (MIDDLE + triangleSize * 1.35) XH
foreach tone [range 4 downtill 0] : begin
create-glyph ('tone' + tone) : glyph-construction
assign-unicode (0x2E5 + 4 - tone)

View File

@ -337,7 +337,7 @@ symbol-block 'Typographic Symbols'
alsothru 0.5 0.5 [widths HALFSTROKE HALFSTROKE]
g4 RIGHTSB [mix bot top 0.501] [widths 0 STROKE]
g4 RIGHTSB [mix bot top 0.5] [widths 0 STROKE]
g4 [mix SB RIGHTSB 0.6] [mix bot top : linreg 18 0.325 108 0.3 STROKE]
g4 [mix SB RIGHTSB 0.6] [mix bot top : [linreg 18 0.325 108 0.3 STROKE] * (1 - globalTransform.yx * 0.1)]
include s
include : FlipAround MIDDLE parenMid

View File

@ -19,8 +19,8 @@ endif
NODE_FDT = node --expose-gc
NODE = node
UPRIGHT = $(OBJDIR)/$(PREFIX)-thin.ttf $(OBJDIR)/$(PREFIX)-extralight.ttf $(OBJDIR)/$(PREFIX)-light.ttf $(OBJDIR)/$(PREFIX)-regular.ttf $(OBJDIR)/$(PREFIX)-bold.ttf
ITALIC = $(OBJDIR)/$(PREFIX)-thinitalic.ttf $(OBJDIR)/$(PREFIX)-extralightitalic.ttf $(OBJDIR)/$(PREFIX)-lightitalic.ttf $(OBJDIR)/$(PREFIX)-italic.ttf $(OBJDIR)/$(PREFIX)-bolditalic.ttf
UPRIGHT = $(OBJDIR)/$(PREFIX)-thin.ttf $(OBJDIR)/$(PREFIX)-extralight.ttf $(OBJDIR)/$(PREFIX)-light.ttf $(OBJDIR)/$(PREFIX)-regular.ttf $(OBJDIR)/$(PREFIX)-bold.ttf $(OBJDIR)/$(PREFIX)-heavy.ttf
ITALIC = $(OBJDIR)/$(PREFIX)-thinitalic.ttf $(OBJDIR)/$(PREFIX)-extralightitalic.ttf $(OBJDIR)/$(PREFIX)-lightitalic.ttf $(OBJDIR)/$(PREFIX)-italic.ttf $(OBJDIR)/$(PREFIX)-bolditalic.ttf $(OBJDIR)/$(PREFIX)-heavyitalic.ttf
EXTUPRG =
EXTITAL =
OUTPUTS = $(UPRIGHT) $(ITALIC)
@ -71,6 +71,10 @@ $(OBJDIR)/.pass0-$(PREFIX)-bold.fdt : $(SCRIPTS) | $(OBJDIR)
$(NODE_FDT) generate -o $@ iosevka $(STYLE_COMMON) w-bold s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX)
$(OBJDIR)/.pass0-$(PREFIX)-bolditalic.fdt : $(SCRIPTS) | $(OBJDIR)
$(NODE_FDT) generate -o $@ iosevka $(STYLE_COMMON) w-bold s-italic $(STYLE_ITALIC) $(STYLE_SUFFIX)
$(OBJDIR)/.pass0-$(PREFIX)-heavy.fdt : $(SCRIPTS) | $(OBJDIR)
$(NODE_FDT) generate -o $@ iosevka $(STYLE_COMMON) w-heavy s-upright $(STYLE_UPRIGHT) $(STYLE_SUFFIX)
$(OBJDIR)/.pass0-$(PREFIX)-heavyitalic.fdt : $(SCRIPTS) | $(OBJDIR)
$(NODE_FDT) generate -o $@ iosevka $(STYLE_COMMON) w-heavy s-italic $(STYLE_ITALIC) $(STYLE_SUFFIX)
$(PASS0) : $(OBJDIR)/.pass0-%.ttf : $(OBJDIR)/.pass0-%.fdt
$(NODE) extract --upm 16000 --uprightify 1 --ttf $@ $<

View File

@ -141,7 +141,6 @@ jut = 90
vjut = 165
barpos = 0.51
#ebarpos = 0.4
fivebarpos = 0.64
oxhook = -5
ahook = 120
@ -149,10 +148,40 @@ rbalance = 50
rbalance2 = 25
rhook = 95
smooth = 210
smallsmooth = 230
jbalance2 = 60
tbalance = 50
sbalance = 0.5
[w-heavy]
isBold = true
weight = 900
style = 'Heavy'
sb = 42
stroke = 120
dotsize = 180
periodsize = 200
essx = 1.05
jut = 95
vjut = 170
barpos = 0.51
fivebarpos = 0.64
oxhook = -5
ahook = 120
rbalance = 50
rbalance2 = 25
rhook = 95
smooth = 210
smallsmooth = 230
jbalance2 = 60
tbalance = 50
sbalance = 0.5
smallCrowd = 4
smallCrowd2 = 4.25
# Slants
[s-upright]
isItalic = false

View File

@ -50,15 +50,26 @@
}
@font-face {
font-family: IosevkaWEB;
font-weight: bold;
font-weight: 700;
src: url('assets/iosevka-bold.woff') format('woff'), url('assets/iosevka-bold.ttf') format('truetype');
}
@font-face {
font-family: IosevkaWEB;
font-style: italic;
font-weight: bold;
font-weight: 700;
src: url('assets/iosevka-bolditalic.woff') format('woff'), url('assets/iosevka-bolditalic.ttf') format('truetype');
}
@font-face {
font-family: IosevkaWEB;
font-weight: 900;
src: url('assets/iosevka-heavy.woff') format('woff'), url('assets/iosevka-heavy.ttf') format('truetype');
}
@font-face {
font-family: IosevkaWEB;
font-style: italic;
font-weight: 900;
src: url('assets/iosevka-heavyitalic.woff') format('woff'), url('assets/iosevka-heavyitalic.ttf') format('truetype');
}
@font-face {
font-family: IosevkaSlabWEB;
font-weight: 100;
@ -103,15 +114,26 @@
}
@font-face {
font-family: IosevkaSlabWEB;
font-weight: bold;
font-weight: 700;
src: url('assets/iosevka-slab-bold.woff') format('woff'), url('assets/iosevka-slab-bold.ttf') format('truetype');
}
@font-face {
font-family: IosevkaSlabWEB;
font-style: italic;
font-weight: bold;
font-weight: 700;
src: url('assets/iosevka-slab-bolditalic.woff') format('woff'), url('assets/iosevka-slab-bolditalic.ttf') format('truetype');
}
@font-face {
font-family: IosevkaSlabWEB;
font-weight: 900;
src: url('assets/iosevka-slab-heavy.woff') format('woff'), url('assets/iosevka-slab-heavy.ttf') format('truetype');
}
@font-face {
font-family: IosevkaSlabWEB;
font-style: italic;
font-weight: 900;
src: url('assets/iosevka-slab-heavyitalic.woff') format('woff'), url('assets/iosevka-slab-heavyitalic.ttf') format('truetype');
}
a {
color: black;
background-image: linear-gradient(white 50%, #888 50%);
@ -152,6 +174,7 @@
.extralight { font-weight: 200 }
.light { font-weight: 300 }
.bold { font-weight: 700 }
.heavy { font-weight: 900 }
.italic { font-style: italic }
.show table.block {
width: 68rem;
@ -328,7 +351,9 @@
[ {name: 'iosevka-regular', cls: '', display: 'Iosevka'}, {name: 'iosevka-slab-regular', cls: 'slab', display: 'Iosevka Slab'},
{name: 'iosevka-italic', cls:'italic', display: 'Iosevka Italic'}, {name: 'iosevka-slab-italic', cls:'slab italic', display: 'Iosevka Slab Italic'} ],
[ {name: 'iosevka-bold', cls: 'bold', display: 'Iosevka Bold'}, {name: 'iosevka-slab-bold', cls: 'slab bold', display: 'Iosevka Slab Bold'},
{name: 'iosevka-bolditalic', cls:'bold italic', display: 'Iosevka Bold Italic'}, {name: 'iosevka-slab-bolditalic', cls:'slab bold italic', display: 'Iosevka Slab Bold Italic'} ]
{name: 'iosevka-bolditalic', cls:'bold italic', display: 'Iosevka Bold Italic'}, {name: 'iosevka-slab-bolditalic', cls:'slab bold italic', display: 'Iosevka Slab Bold Italic'} ],
[ {name: 'iosevka-heavy', cls: 'heavy', display: 'Iosevka Heavy'}, {name: 'iosevka-slab-heavy', cls: 'slab heavy', display: 'Iosevka Slab Heavy'},
{name: 'iosevka-heavyitalic', cls:'heavy italic', display: 'Iosevka Heavy Italic'}, {name: 'iosevka-slab-heavyitalic', cls:'slab heavy italic', display: 'Iosevka Slab Heavy Italic'} ]
];
var REGULAR = 3;
var lipsums = ['Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur semper ipsum quam, at molestie libero euismod vitae. Etiam vehicula felis mi, et ultricies libero consequat at. Donec consequat, nunc id elementum tempor, lectus orci vulputate leo, eget lobortis lectus nulla sed orci. Donec in dolor non orci aliquet gravida. Nulla volutpat magna et nulla pretium, quis consequat nibh euismod. Suspendisse eget metus enim. Fusce vulputate scelerisque eros et consequat. Quisque dapibus accumsan augue, et semper lectus vehicula sit amet. Ut ornare venenatis tortor, non gravida tellus mattis interdum. In hac habitasse platea dictumst. Donec interdum commodo ex eu tincidunt. Curabitur non fermentum enim. Proin luctus orci ut commodo auctor. Pellentesque accumsan id sem eu semper. Sed non pharetra nibh. Vivamus mattis luctus arcu, a rutrum dui venenatis sit amet. aja ojo ojoined',