Corrected CORRECTION_HX in italics. It is also renamed to HVCONTRAST.
This commit is contained in:
parent
c717d900c8
commit
acbe71d4e2
|
@ -123,6 +123,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
define CAP para.cap
|
||||
define XH para.xheight
|
||||
define DESCENDER : fallback para.descender (XH - CAP)
|
||||
define CONTRAST : fallback para.contrast 1
|
||||
# Key metrics for symbols
|
||||
local parenTop ((XH * 0.625) + (CAP - XH) * 2.5)
|
||||
local parenBot ((XH * 0.625) - (CAP - XH) * 2.5)
|
||||
|
@ -141,11 +142,11 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
|
||||
define globalTransform : Italify para.italicAngle
|
||||
define deGlobalTransform : inverse globalTransform
|
||||
define CORRECTION_HX : [fallback para.contrast 1] / [Math.sqrt (1 - globalTransform.yx * globalTransform.yx)]
|
||||
define HVCONTRAST : CONTRAST * [Math.cos (para.italicangle / 180 * Math.PI)] + [Math.sin (para.italicangle / 180 * Math.PI)] * globalTransform.yx
|
||||
|
||||
# Orient parameters
|
||||
define UPWARD {.x (-CORRECTION_HX) .y 0}
|
||||
define DOWNWARD {.x CORRECTION_HX .y 0}
|
||||
define UPWARD {.x (-HVCONTRAST) .y 0}
|
||||
define DOWNWARD {.x HVCONTRAST .y 0}
|
||||
define RIGHTWARD {.x globalTransform.yx .y 1}
|
||||
define LEFTWARD {.x (- globalTransform.yx) .y (-1)}
|
||||
|
||||
|
@ -163,7 +164,6 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
define SMOOTH para.smooth
|
||||
define SMALLSMOOTH para.smallsmooth
|
||||
define STROKE para.stroke
|
||||
define CONTRAST para.contrast
|
||||
define DOTSIZE : fallback para.dotsize STROKE
|
||||
define PERIODSIZE : fallback para.periodsize DOTSIZE
|
||||
define BARPOS : fallback para.barpos 0.5
|
||||
|
@ -213,7 +213,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
define CAP_SMOOTH : CAP - SMOOTH
|
||||
define DOTRADIUS : DOTSIZE / 2
|
||||
define PERIODRADIUS : PERIODSIZE / 2
|
||||
define SIDEJUT : JUT - HALFSTROKE * CORRECTION_HX
|
||||
define SIDEJUT : JUT - HALFSTROKE * HVCONTRAST
|
||||
|
||||
define SMOOTHA : SMOOTH - globalTransform.yx * para.smoothadjust
|
||||
define SMOOTHB : SMOOTH + globalTransform.yx * para.smoothadjust
|
||||
|
@ -228,7 +228,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
# Blackness parameters
|
||||
# We will estimate blackness using lower-case 'e'
|
||||
define WHITENESS : ((XH - STROKE * 3) * (RIGHTSB - SB) * (1 / 3)) / (XH * (RIGHTSB - SB))
|
||||
define [adviceBlackness crowdedness] : Math.min STROKE ((RIGHTSB - SB) * (1 - WHITENESS) / (crowdedness * CORRECTION_HX))
|
||||
define [adviceBlackness crowdedness] : Math.min STROKE ((RIGHTSB - SB) * (1 - WHITENESS) / (crowdedness * HVCONTRAST))
|
||||
define MVERTSTROKE : adviceBlackness : fallback para.lllcrowdedness (3 + 1 / 3)
|
||||
define OVERLAYSTROKE : adviceBlackness 3.75
|
||||
define OPERATORSTROKE : adviceBlackness 3.2
|
||||
|
@ -241,7 +241,7 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
local ss : y * 0.22 + STROKE * 0.23 + 0.02 * (RIGHTSB - SB)
|
||||
return : ss + sign * globalTransform.yx * para.smoothadjust * (ss / SMALLSMOOTH)
|
||||
define [adviceGlottalStopSmooth y sign] : ((y - STROKE) * 0.24 + STROKE * 0.625) + 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
|
||||
define [shoulderMidSlope _fine _stroke _dir] : 0.5 * HVCONTRAST * ([fallback _stroke STROKE] - [fallback _fine SHOULDERFINE]) / [fallback _stroke STROKE] + [fallback _dir 1] * globalTransform.yx
|
||||
|
||||
# Anchor parameters
|
||||
define BASE Anchor.BASE
|
||||
|
|
|
@ -145,8 +145,12 @@ if(argv.svg) {
|
|||
return buf;
|
||||
}
|
||||
var svg = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" ><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><defs><font id="' + font.name.postScriptName + '">'
|
||||
svg += '<font-face font-family="' + font.name.fontFamily + '" font-weight="' + font['OS/2'].usWeightClass + '" font-stretch="normal" units-per-em="1000"/>'
|
||||
|
||||
var skew = (argv.uprightify ? 1 : 0) * Math.tan((font.post.italicAngle || 0) / 180 * Math.PI);
|
||||
var scale = (argv.upm || 1000) / 1000;
|
||||
|
||||
svg += '<font-face font-family="' + font.name.fontFamily + '" font-weight="' + font['OS/2'].usWeightClass + '" font-stretch="normal" units-per-em="' + (1000 * scale) + '"/>'
|
||||
|
||||
for(var j = 0; j < font.glyf.length; j++){
|
||||
var g = font.glyf[j];
|
||||
if(g.contours) {
|
||||
|
@ -154,8 +158,11 @@ if(argv.svg) {
|
|||
var contour = g.contours[k];
|
||||
for(var p = 0; p < contour.length; p++) {
|
||||
contour[p].x += contour[p].y * skew;
|
||||
contour[p].x *= scale;
|
||||
contour[p].y *= scale;
|
||||
}
|
||||
}
|
||||
g.advanceWidth *= scale;
|
||||
Glyph.prototype.cleanup.call(g, 0.25);
|
||||
}
|
||||
var gd = '<' + (j === 0 ? 'missing-glyph' : 'glyph') + ' glyph-name="' + g.name + '" horiz-adv-x="' + g.advanceWidth + '" '+ (g.unicode && g.unicode.length ? 'unicode="&#x' + g.unicode[0].toString(16) + ';"' : '') +' d="' + toSVGPath(g) + '" />'
|
||||
|
|
|
@ -153,8 +153,8 @@ define [OBarLeftShape _top _left] : glyph-construction
|
|||
widths.lhs
|
||||
g4 (mt) (top - O) [heading {.y (-1) .x (-st)}]
|
||||
archv
|
||||
flat (left + (STROKE - fine) * CORRECTION_HX) (top - SMALLSMOOTHA) [widths fine 0]
|
||||
curl (left + (STROKE - fine) * CORRECTION_HX) (0 + SMALLSMOOTHB) [widths fine 0]
|
||||
flat (left + (STROKE - fine) * HVCONTRAST) (top - SMALLSMOOTHA) [widths fine 0]
|
||||
curl (left + (STROKE - fine) * HVCONTRAST) (0 + SMALLSMOOTHB) [widths fine 0]
|
||||
arcvh
|
||||
g4 (mb) O [widths.heading STROKE 0 {.y (1) .x (-sb)}]
|
||||
archv
|
||||
|
@ -171,25 +171,25 @@ define SERIF_SHIFT_X 0.6
|
|||
define [LeftwardTopSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : dispiro
|
||||
flat (x + HALFSTROKE * CORRECTION_HX) y [widths.heading sw 0 LEFTWARD]
|
||||
flat (x + HALFSTROKE * HVCONTRAST) y [widths.heading sw 0 LEFTWARD]
|
||||
curl (x - length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [LeftwardBottomSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : dispiro
|
||||
flat (x + HALFSTROKE * CORRECTION_HX) y [widths.heading 0 sw LEFTWARD]
|
||||
flat (x + HALFSTROKE * HVCONTRAST) y [widths.heading 0 sw LEFTWARD]
|
||||
curl (x - length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [RightwardTopSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : dispiro
|
||||
flat (x - HALFSTROKE * CORRECTION_HX) y [widths.heading 0 sw RIGHTWARD]
|
||||
flat (x - HALFSTROKE * HVCONTRAST) y [widths.heading 0 sw RIGHTWARD]
|
||||
curl (x + length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [RightwardBottomSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : dispiro
|
||||
flat (x - HALFSTROKE * CORRECTION_HX) y [widths.heading sw 0 RIGHTWARD]
|
||||
flat (x - HALFSTROKE * HVCONTRAST) y [widths.heading sw 0 RIGHTWARD]
|
||||
curl (x + length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [CenterTopSerif x y length _sw] : glyph-construction
|
||||
|
@ -230,44 +230,44 @@ define [AIVSerifs top _left _right] : glyph-construction
|
|||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (left + STROKE * sideSerifK * CORRECTION_HX) top JUT
|
||||
include : CenterTopSerif (left + STROKE * sideSerifK * HVCONTRAST) top JUT
|
||||
tag-contour 'serifLT'
|
||||
include : CenterTopSerif (right - STROKE * sideSerifK * CORRECTION_HX) top JUT
|
||||
include : CenterTopSerif (right - STROKE * sideSerifK * HVCONTRAST) top JUT
|
||||
tag-contour 'serifRT'
|
||||
define [AIHSerifs top _left _right] : glyph-construction
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
if SLAB : begin
|
||||
include : AIVSerifs top _left _right
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * HVCONTRAST) 0 JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * HVCONTRAST) 0 JUT
|
||||
define [AINSerifs top _left _right sw xn] : glyph-construction
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
local jut : JUT * [fallback xn 1]
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (left + sw * (sideSerifK - 0.5) * CORRECTION_HX) top (jut - sw / 2 * CORRECTION_HX)
|
||||
include : CenterTopSerif (right - sw * sideSerifK * CORRECTION_HX) top jut
|
||||
include : CenterBottomSerif (left + sw * sideSerifK * CORRECTION_HX) 0 jut
|
||||
include : LeftwardTopSerif (left + sw * (sideSerifK - 0.5) * HVCONTRAST) top (jut - sw / 2 * HVCONTRAST)
|
||||
include : CenterTopSerif (right - sw * sideSerifK * HVCONTRAST) top jut
|
||||
include : CenterBottomSerif (left + sw * sideSerifK * HVCONTRAST) 0 jut
|
||||
tag-contour 'serifLB'
|
||||
#include : CenterdBottomSerif (right - STROKE * (sideSerifK - 0.5) * CORRECTION_HX) 0 (JUT / 2)
|
||||
#include : CenterdBottomSerif (right - STROKE * (sideSerifK - 0.5) * HVCONTRAST) 0 (JUT / 2)
|
||||
define [AICyrISerifs top _left _right] : glyph-construction
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
if SLAB : begin
|
||||
include : LeftwardBottomSerif left 0 SIDEJUT
|
||||
include : RightwardTopSerif right top SIDEJUT
|
||||
include : CenterTopSerif (left + STROKE * sideSerifK * CORRECTION_HX) top JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (left + STROKE * sideSerifK * HVCONTRAST) top JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifRB'
|
||||
define [AIMSerifs top _left _right] : glyph-construction
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (left + STROKE * (sideSerifK - 0.5) * CORRECTION_HX) top SIDEJUT
|
||||
include : RightwardTopSerif (right - STROKE * (sideSerifK - 0.5) * CORRECTION_HX) top SIDEJUT
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : LeftwardTopSerif (left + STROKE * (sideSerifK - 0.5) * HVCONTRAST) top SIDEJUT
|
||||
include : RightwardTopSerif (right - STROKE * (sideSerifK - 0.5) * HVCONTRAST) top SIDEJUT
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * HVCONTRAST) 0 JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * HVCONTRAST) 0 JUT
|
||||
|
||||
|
||||
define [xsStrand _xleft yleft _xright yright _halfstroke0 _halfstroke1 _ess _expansion _roundp] : begin
|
||||
|
@ -313,7 +313,7 @@ define [sStrand yleft yright _expansion] : begin
|
|||
|
||||
|
||||
define [halfXStrand _leftx lefty rightx righty turn straight tension _fine] : glyph-construction
|
||||
local leftx : _leftx + (HALFSTROKE * CORRECTION_HX * [if (rightx > _leftx) 1 (-1)])
|
||||
local leftx : _leftx + (HALFSTROKE * HVCONTRAST * [if (rightx > _leftx) 1 (-1)])
|
||||
local fine : (_fine || STROKE) * 0.5
|
||||
|
||||
local turnyleft : mix lefty righty turn
|
||||
|
@ -345,7 +345,7 @@ define [nShoulderKnots left right fine _top _bottom _sma _smb _wide] : begin
|
|||
local smb : fallback _smb SMALLSMOOTHB
|
||||
local stroke : fallback _wide STROKE
|
||||
local slope : shoulderMidSlope fine
|
||||
local middle : [mix (left - stroke * CORRECTION_HX) right 0.5] + (slope - CORRECTION_OMIDX) * stroke
|
||||
local middle : [mix (left - stroke * HVCONTRAST) right 0.5] + (slope - CORRECTION_OMIDX) * stroke
|
||||
return : list
|
||||
flat left (top - sma - 2) [widths fine 0]
|
||||
curl left (top - sma)
|
||||
|
@ -360,20 +360,20 @@ define [nShoulder left right fine _top _bottom _sma _smb _wide] : let [a argumen
|
|||
|
||||
|
||||
define [mShoulderSpiro left right top bottom width fine] : glyph-construction
|
||||
local fix : CORRECTION_VS * CORRECTION_HX * width / STROKE
|
||||
local fix : CORRECTION_VS * HVCONTRAST * width / STROKE
|
||||
local sm : SMALLSMOOTH * 0.75
|
||||
include : spiro-outline
|
||||
corner (right - width * CORRECTION_HX) bottom
|
||||
curl (right - width * CORRECTION_HX) (top - sm + fix)
|
||||
corner (right - width * HVCONTRAST) bottom
|
||||
curl (right - width * HVCONTRAST) (top - sm + fix)
|
||||
arcvh 8 'no-tiny'
|
||||
g2 [mix left (right - width * CORRECTION_HX) 0.5] (top - O - width)
|
||||
g2 [mix left (right - width * HVCONTRAST) 0.5] (top - O - width)
|
||||
archv 8 'no-tiny'
|
||||
flat left (top - sm - fix)
|
||||
corner left (top - sm - fix - 1)
|
||||
corner (left - fine) (top - sm - 1)
|
||||
curl (left - fine) (top - sm)
|
||||
arcvh 8 'no-tiny'
|
||||
g2 [mix (left - fine * CORRECTION_HX) right 0.5] (top - O)
|
||||
g2 [mix (left - fine * HVCONTRAST) right 0.5] (top - O)
|
||||
archv 8 'no-tiny'
|
||||
flat right (top - sm)
|
||||
corner right bottom
|
||||
|
@ -398,8 +398,8 @@ define [VBar x ydown yup _fine] : glyph-construction
|
|||
flat x ydown [heading [if (ydown < yup) UPWARD DOWNWARD]]
|
||||
curl x yup [heading [if (ydown < yup) UPWARD DOWNWARD]]
|
||||
|
||||
define [VBarLeft x yd yu _fine] : VBar (x + [fallback _fine STROKE] * 0.5 * CORRECTION_HX) yd yu _fine
|
||||
define [VBarRight x yd yu _fine] : VBar (x - [fallback _fine STROKE] * 0.5 * CORRECTION_HX) yd yu _fine
|
||||
define [VBarLeft x yd yu _fine] : VBar (x + [fallback _fine STROKE] * 0.5 * HVCONTRAST) yd yu _fine
|
||||
define [VBarRight x yd yu _fine] : VBar (x - [fallback _fine STROKE] * 0.5 * HVCONTRAST) yd yu _fine
|
||||
|
||||
define [VerticalHook x y extend depth fine strg] : glyph-construction
|
||||
include : dispiro
|
||||
|
@ -459,7 +459,7 @@ define [HCurlyTail fine wide rinner left m1 _right x1 x2 y2] : glyph-constructio
|
|||
flat left wide [heading RIGHTWARD]
|
||||
curl m1 wide [heading RIGHTWARD]
|
||||
archv 8
|
||||
g4 right (wide + rinner - O / 2) [widths.heading 0 fine {.x (-CORRECTION_HX) .y ((wide - fine) / (wide + rinner * 2 - O))}]
|
||||
g4 right (wide + rinner - O / 2) [widths.heading 0 fine {.x (-HVCONTRAST) .y ((wide - fine) / (wide + rinner * 2 - O))}]
|
||||
arcvh 8
|
||||
g4.left.mid mid (wide + rinner * 2 - O) [heading LEFTWARD]
|
||||
quadcontrols ((x1 - mid) / (x2 - mid)) 0 8
|
||||
|
@ -543,7 +543,7 @@ define [WaveShape l r cy extendy tension sw] : glyph-construction
|
|||
define [CyrDescender x shift] : glyph-construction
|
||||
local descenderOverflow : if SLAB SIDEJUT ((RIGHTSB - SB) * [fallback shift 0.1])
|
||||
include : VBarRight (x + descenderOverflow + 0.25 * STROKE) (HALFSTROKE - LONGJUT) STROKE
|
||||
if (!SLAB && descenderOverflow > STROKE * 0.75) : include : HBarTop (x - HALFSTROKE * CORRECTION_HX) (x + descenderOverflow) STROKE
|
||||
if (!SLAB && descenderOverflow > STROKE * 0.75) : include : HBarTop (x - HALFSTROKE * HVCONTRAST) (x + descenderOverflow) STROKE
|
||||
|
||||
# Derived subfonts
|
||||
define [Fork gs params] : begin
|
||||
|
|
|
@ -51,7 +51,7 @@ symbol-block 'i'
|
|||
include : LeftwardBottomSerif MIDDLE 0 LONGJUT
|
||||
|
||||
create-glyph 'dotlessi.italic' : glyph-construction
|
||||
local left : [mix SB RIGHTSB [linreg 18 0.42 126 0.46 STROKE]] - HALFSTROKE * CORRECTION_HX
|
||||
local left : [mix SB RIGHTSB [linreg 18 0.42 126 0.46 STROKE]] - HALFSTROKE * HVCONTRAST
|
||||
local right : mix SB RIGHTSB 1.1
|
||||
local middle : mix left right 0.55
|
||||
include : dispiro
|
||||
|
@ -61,10 +61,10 @@ symbol-block 'i'
|
|||
hookend O
|
||||
g4 right (HOOK * [linreg 18 0.85 126 1 STROKE])
|
||||
include : dispiro
|
||||
flat (left - LONGJUT + HALFSTROKE * CORRECTION_HX) XH [widths 0 STROKE]
|
||||
flat (left - LONGJUT + HALFSTROKE * HVCONTRAST) XH [widths 0 STROKE]
|
||||
curl left XH
|
||||
include eMarks
|
||||
set-anchor 'above' BASE (left + HALFSTROKE * CORRECTION_HX + [linreg 18 0.25 126 0 STROKE] * globalTransform.yx * WIDTH) XH
|
||||
set-anchor 'above' BASE (left + HALFSTROKE * HVCONTRAST + [linreg 18 0.25 126 0 STROKE] * globalTransform.yx * WIDTH) XH
|
||||
set-anchor 'below' BASE middle 0
|
||||
|
||||
select-variant 'dotlessi' 0x131 [if para.italicangle 'italic' 'serifed']
|
||||
|
@ -111,8 +111,8 @@ symbol-block 'J'
|
|||
create-glyph 'J.straight' : glyph-construction
|
||||
set-width WIDTH
|
||||
include capitalMarks
|
||||
set-anchor 'above' BASE (RIGHTSB - STROKE * CORRECTION_HX * 0.75 - JBALANCE2) CAP
|
||||
set-anchor 'overlay' BASE (RIGHTSB - STROKE * CORRECTION_HX * 0.75 - JBALANCE2) (CAP * BARPOS)
|
||||
set-anchor 'above' BASE (RIGHTSB - STROKE * HVCONTRAST * 0.75 - JBALANCE2) CAP
|
||||
set-anchor 'overlay' BASE (RIGHTSB - STROKE * HVCONTRAST * 0.75 - JBALANCE2) (CAP * BARPOS)
|
||||
|
||||
local slope (STROKE * 0.00092)
|
||||
local expand 0.35
|
||||
|
@ -147,7 +147,7 @@ symbol-block 'J'
|
|||
create-glyph 'J.serifed' : glyph-construction
|
||||
set-width WIDTH
|
||||
include glyphs.'J.straight' AS_BASE
|
||||
include : LeftwardTopSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX - JBALANCE2) CAP LONGJUT
|
||||
include : LeftwardTopSerif (RIGHTSB - HALFSTROKE * HVCONTRAST - JBALANCE2) CAP LONGJUT
|
||||
|
||||
select-variant 'J' 'J' 'serifed'
|
||||
alias 'cyrJe' 0x408 'J'
|
||||
|
@ -156,10 +156,10 @@ symbol-block 'J'
|
|||
symbol-block 'j'
|
||||
create-glyph 'dotlessj.straight' : glyph-construction
|
||||
include pMarks
|
||||
set-anchor 'above' BASE (MIDDLE + JBALANCE - STROKE * 0.166 * CORRECTION_HX) XH
|
||||
set-anchor 'overlay' BASE (MIDDLE + JBALANCE - STROKE * 0.166 * CORRECTION_HX) (XH / 2)
|
||||
local center : MIDDLE + JBALANCE + HALFSTROKE * CORRECTION_HX
|
||||
local hookx : center - (WIDTH * 0.5) - STROKE * CORRECTION_HX + OXHOOK
|
||||
set-anchor 'above' BASE (MIDDLE + JBALANCE - STROKE * 0.166 * HVCONTRAST) XH
|
||||
set-anchor 'overlay' BASE (MIDDLE + JBALANCE - STROKE * 0.166 * HVCONTRAST) (XH / 2)
|
||||
local center : MIDDLE + JBALANCE + HALFSTROKE * HVCONTRAST
|
||||
local hookx : center - (WIDTH * 0.5) - STROKE * HVCONTRAST + OXHOOK
|
||||
local turn : [mix center hookx 0.5] + CORRECTION_OMIDS
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -189,7 +189,7 @@ symbol-block 'j'
|
|||
set-anchor 'above' BASE (MIDDLE + JBALANCE) XH
|
||||
local fine : adviceBlackness 3.5
|
||||
local rinner : LONGJUT / 2 - fine / 2
|
||||
local m1 : MIDDLE - HALFSTROKE * CORRECTION_HX + JBALANCE
|
||||
local m1 : MIDDLE - HALFSTROKE * HVCONTRAST + JBALANCE
|
||||
local x2 : mix RIGHTSB m1 0.25
|
||||
local y2 : DESCENDER + O
|
||||
include : LeftwardTopSerif (MIDDLE + JBALANCE) XH LONGJUT
|
||||
|
@ -208,7 +208,7 @@ symbol-block 'L'
|
|||
include : HBarBottom (SB * 1.5 - O) (RIGHTSB - OX) 0
|
||||
if SLAB : begin
|
||||
include : LeftwardBottomSerif (SB * 1.5) 0 SIDEJUT
|
||||
include : CenterTopSerif (SB * 1.5 + CORRECTION_HX * HALFSTROKE) top JUT
|
||||
include : CenterTopSerif (SB * 1.5 + HVCONTRAST * HALFSTROKE) top JUT
|
||||
include : UpwardRightSerif (RIGHTSB - OX) 0 VJUT
|
||||
|
||||
create-glyph 'L' : glyph-construction
|
||||
|
@ -315,7 +315,7 @@ symbol-block 'l'
|
|||
create-glyph 'lrtail' : glyph-construction
|
||||
assign-unicode 0x26D
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Translate (MIDDLE + HALFSTROKE * CORRECTION_HX) 0
|
||||
apply-transform : Translate (MIDDLE + HALFSTROKE * HVCONTRAST) 0
|
||||
include glyphs.'l.hooky'
|
||||
include ifMarks
|
||||
|
||||
|
@ -324,7 +324,7 @@ symbol-block 'l'
|
|||
include bMarks
|
||||
local fine : adviceBlackness 3.5
|
||||
local rinner : LONGJUT / 2 - fine / 2
|
||||
local m1 : MIDDLE + HALFSTROKE * CORRECTION_HX
|
||||
local m1 : MIDDLE + HALFSTROKE * HVCONTRAST
|
||||
local x2 : mix SB m1 0.25
|
||||
local y2 : - fine
|
||||
include : LeftwardTopSerif MIDDLE CAP LONGJUT
|
||||
|
@ -387,7 +387,7 @@ symbol-block 'l'
|
|||
|
||||
### V and v
|
||||
define VShape : symbol-block 'V, v and nu'
|
||||
local cornerdist : HALFSTROKE * CORRECTION_HX * [if SLAB 1.2 1]
|
||||
local cornerdist : HALFSTROKE * HVCONTRAST * [if SLAB 1.2 1]
|
||||
local vcurviness : if (SLAB && !para.isItalic) 0.15 0.3
|
||||
define [VShape top] : glyph-construction
|
||||
|
||||
|
@ -456,7 +456,7 @@ define VShape : symbol-block 'V, v and nu'
|
|||
local xmid : MIDDLE + HALFSTROKE * 0.75
|
||||
|
||||
include : dispiro
|
||||
g4 (SB + 0.4 * STROKE * CORRECTION_HX) (XH - O) [widths.rhs]
|
||||
g4 (SB + 0.4 * STROKE * HVCONTRAST) (XH - O) [widths.rhs]
|
||||
bezcontrols 0.33 0.2 1 0.76 6 important
|
||||
g4.down.end xmid 0 [heading DOWNWARD]
|
||||
|
||||
|
@ -494,7 +494,7 @@ symbol-block 'a'
|
|||
set-anchor 'trailing' BASE (RIGHTSB - markHalfStroke) 0
|
||||
local bartop (XH * BARPOS * 1.02 + HALFSTROKE)
|
||||
local lowslope : let [k : linreg 18 0 126 0.85 STROKE] : [shoulderMidSlope SHOULDERFINE nothing (-1)] * k - globalTransform.yx * (1 - k)
|
||||
local lowmiddle : [mix (SB + OX) (RIGHTSB - HALFSTROKE * CORRECTION_HX) [linreg 72 0.51 126 0.56 STROKE]] + CORRECTION_OMIDS
|
||||
local lowmiddle : [mix (SB + OX) (RIGHTSB - HALFSTROKE * HVCONTRAST) [linreg 72 0.51 126 0.56 STROKE]] + CORRECTION_OMIDS
|
||||
local barsmooth : mix SB RIGHTSB 0.55
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
|
@ -511,8 +511,8 @@ symbol-block 'a'
|
|||
arcvh
|
||||
g4 (lowmiddle + (-lowslope) * STROKE) O [heading {.y 1 .x lowslope}]
|
||||
archv
|
||||
flat (RIGHTSB - STROKE * CORRECTION_HX) (SMALLSMOOTHB * 0.9) [widths 0 SHOULDERFINE]
|
||||
curl (RIGHTSB - STROKE * CORRECTION_HX) (SMALLSMOOTHB * 0.9 + 1)
|
||||
flat (RIGHTSB - STROKE * HVCONTRAST) (SMALLSMOOTHB * 0.9) [widths 0 SHOULDERFINE]
|
||||
curl (RIGHTSB - STROKE * HVCONTRAST) (SMALLSMOOTHB * 0.9 + 1)
|
||||
if SLAB : begin
|
||||
include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
|
||||
|
@ -540,8 +540,8 @@ symbol-block 'a'
|
|||
include eMarks
|
||||
include : OBarRightShape
|
||||
start-from RIGHTSB 0
|
||||
line-to (RIGHTSB - STROKE * CORRECTION_HX) 0
|
||||
line-to (RIGHTSB - STROKE * CORRECTION_HX) (XH - STROKE / 2)
|
||||
line-to (RIGHTSB - STROKE * HVCONTRAST) 0
|
||||
line-to (RIGHTSB - STROKE * HVCONTRAST) (XH - STROKE / 2)
|
||||
line-to RIGHTSB (XH - O)
|
||||
if SLAB : begin
|
||||
include : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
|
@ -560,27 +560,27 @@ symbol-block 'W'
|
|||
flat SB top [heading DOWNWARD]
|
||||
curl SB (top * 0.75) [heading DOWNWARD]
|
||||
quadcontrols 0 0.3 6 unimportant
|
||||
g4 (WShape.m1 - WShape.fine / 2 * CORRECTION_HX) 0 [widths.lhs (WShape.fine * 0.8)]
|
||||
g4 (WShape.m1 - WShape.fine / 2 * HVCONTRAST) 0 [widths.lhs (WShape.fine * 0.8)]
|
||||
|
||||
# bottom cap 1
|
||||
start-from (WShape.m1 + WShape.fine / 2 * CORRECTION_HX) 0
|
||||
line-to (WShape.m1 - WShape.fine / 2 * CORRECTION_HX) 0
|
||||
start-from (WShape.m1 + WShape.fine / 2 * HVCONTRAST) 0
|
||||
line-to (WShape.m1 - WShape.fine / 2 * HVCONTRAST) 0
|
||||
line-to WShape.m1 WShape.fine
|
||||
|
||||
include : dispiro
|
||||
widths.rhs WShape.fine
|
||||
straight.down.start (MIDDLE + WShape.fine / 2 * CORRECTION_HX) wheight [heading DOWNWARD]
|
||||
straight.down.start (MIDDLE + WShape.fine / 2 * HVCONTRAST) wheight [heading DOWNWARD]
|
||||
quadcontrols 0 0.1 6 unimportant
|
||||
g4 (WShape.m1 + WShape.fine / 2 * CORRECTION_HX) 0 [widths.rhs WShape.fine]
|
||||
g4 (WShape.m1 + WShape.fine / 2 * HVCONTRAST) 0 [widths.rhs WShape.fine]
|
||||
include : dispiro
|
||||
widths.lhs WShape.fine
|
||||
straight.down.start (MIDDLE - WShape.fine / 2 * CORRECTION_HX) wheight [heading DOWNWARD]
|
||||
straight.down.start (MIDDLE - WShape.fine / 2 * HVCONTRAST) wheight [heading DOWNWARD]
|
||||
quadcontrols 0 0.1 6 unimportant
|
||||
g4 (WShape.m2 - WShape.fine / 2 * CORRECTION_HX) 0 [widths.lhs WShape.fine]
|
||||
g4 (WShape.m2 - WShape.fine / 2 * HVCONTRAST) 0 [widths.lhs WShape.fine]
|
||||
|
||||
# bottom cap 2
|
||||
start-from (WShape.m2 + WShape.fine / 2 * CORRECTION_HX) 0
|
||||
line-to (WShape.m2 - WShape.fine / 2 * CORRECTION_HX) 0
|
||||
start-from (WShape.m2 + WShape.fine / 2 * HVCONTRAST) 0
|
||||
line-to (WShape.m2 - WShape.fine / 2 * HVCONTRAST) 0
|
||||
line-to WShape.m2 WShape.fine
|
||||
|
||||
include : dispiro
|
||||
|
@ -588,7 +588,7 @@ symbol-block 'W'
|
|||
flat RIGHTSB top [heading DOWNWARD]
|
||||
curl RIGHTSB (top * 0.75) [heading DOWNWARD]
|
||||
quadcontrols 0 0.3 6 unimportant
|
||||
g4 (WShape.m2 + WShape.fine / 2 * CORRECTION_HX) 0 [widths.rhs (WShape.fine * 0.8)]
|
||||
g4 (WShape.m2 + WShape.fine / 2 * HVCONTRAST) 0 [widths.rhs (WShape.fine * 0.8)]
|
||||
include : AIVSerifs top
|
||||
set WShape.fine : adviceBlackness 6
|
||||
set WShape.m1 : WIDTH * 0.325
|
||||
|
@ -622,8 +622,8 @@ symbol-block 'W'
|
|||
widths.rhs
|
||||
straight.down.start RIGHTSB (top - HOOK) [heading DOWNWARD]
|
||||
quadcontrols 0 0.3 6 unimportant g2
|
||||
g4 (WShape.m2 + WShape.fine / 2 * CORRECTION_HX) 0 [widths.rhs (WShape.fine * 0.8)]
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) (top - HOOK) (HOOKX * 0.65) (-HOOK + HALFSTROKE)
|
||||
g4 (WShape.m2 + WShape.fine / 2 * HVCONTRAST) 0 [widths.rhs (WShape.fine * 0.8)]
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) (top - HOOK) (HOOKX * 0.65) (-HOOK + HALFSTROKE)
|
||||
|
||||
create-glyph 'Whooktop' : glyph-construction
|
||||
assign-unicode 0x2C72
|
||||
|
@ -709,7 +709,7 @@ symbol-block 'Y'
|
|||
straight.left.start (RIGHTSB + HOOKX / 3) (CAP - STROKE)
|
||||
g4 (RIGHTSB - HOOKX / 3) (CAP - HOOK)
|
||||
quadcontrols 0.55 0.7 8 unimportant
|
||||
g4 (MIDDLE + STROKE / 2 * CORRECTION_HX) cross
|
||||
g4 (MIDDLE + STROKE / 2 * HVCONTRAST) cross
|
||||
|
||||
create-glyph 'cyrue' : glyph-construction
|
||||
assign-unicode 0x4AF
|
||||
|
@ -732,7 +732,7 @@ symbol-block 'y'
|
|||
local dpy1 : (1 - [linreg (1 - px2) (1 - py2) px1 py1 1]) / (1 - py1)
|
||||
local dpy2 : (1 - [linreg (1 - px1) (1 - py1) px2 py2 1]) / (1 - py2)
|
||||
local yrstrokel : MIDDLE - WIDTH * [if SLAB 0.15 0.1] + [if SLAB HALFSTROKE 0]
|
||||
local yrstroker : RIGHTSB - HALFSTROKE * CORRECTION_HX
|
||||
local yrstroker : RIGHTSB - HALFSTROKE * HVCONTRAST
|
||||
local yshrink : linreg 18 1 126 0.85 STROKE
|
||||
local slabysize : JUT * [linreg 18 0.85 126 1 STROKE]
|
||||
local slabyvx : linreg 18 0.7 126 0.5 STROKE
|
||||
|
@ -776,7 +776,7 @@ symbol-block 'y'
|
|||
if SLAB
|
||||
: then
|
||||
include pMarks
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE
|
||||
include : FlipAround MIDDLE (XH / 2)
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -842,11 +842,11 @@ symbol-block 'K'
|
|||
g4 (SB + STROKE) attach [widths 0 fine]
|
||||
include : dispiro
|
||||
widths.center
|
||||
g4.up.start (RIGHTSB - O - HALFSTROKE * CORRECTION_HX) 0 [heading UPWARD]
|
||||
g4.up.start (RIGHTSB - O - HALFSTROKE * HVCONTRAST) 0 [heading UPWARD]
|
||||
quadcontrols 0 [if SLAB 0.125 0.25] 8
|
||||
g4 attach2 (top * 0.61) [widths.center fine]
|
||||
if SLAB : begin
|
||||
include : RightwardTopSerif (RIGHTSB - (STROKE * [if SLAB 1.15 1.05] * (WIDTH * 2 / UPM) / 2 - HALFSTROKE) * CORRECTION_HX) top (SIDEJUT)
|
||||
include : RightwardTopSerif (RIGHTSB - (STROKE * [if SLAB 1.15 1.05] * (WIDTH * 2 / UPM) / 2 - HALFSTROKE) * HVCONTRAST) top (SIDEJUT)
|
||||
include : RightwardBottomSerif (RIGHTSB - O) 0 SIDEJUT
|
||||
|
||||
create-glyph 'K' : glyph-construction
|
||||
|
@ -856,8 +856,8 @@ symbol-block 'K'
|
|||
include : VBarLeft SB 0 CAP
|
||||
include : KShape CAP
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (SB + HALFSTROKE * CORRECTION_HX) CAP JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * HVCONTRAST) CAP JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
alias 'Kappa' 0x39A 'K'
|
||||
alias 'cyrKa' 0x41A 'K'
|
||||
composite nothing glyphs.cyrKa [CyrDescender (RIGHTSB - O)] [into-unicode 0x49A]
|
||||
|
@ -871,7 +871,7 @@ symbol-block 'K'
|
|||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB CAP SIDEJUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'kappa' : glyph-construction
|
||||
|
@ -890,8 +890,8 @@ symbol-block 'K'
|
|||
include : VBarLeft SB 0 XH
|
||||
include : KShape XH
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * CORRECTION_HX) XH JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * HVCONTRAST) XH JUT
|
||||
composite nothing glyphs.cyrka [CyrDescender (RIGHTSB - O)] [into-unicode 0x49B]
|
||||
alias 'latinkappa' 0x138 'cyrka'
|
||||
|
||||
|
@ -900,14 +900,14 @@ symbol-block 'K'
|
|||
include capitalMarks
|
||||
include : KShape CAP
|
||||
include : VBarLeft SB 0 (CAP - HOOK - HALFSTROKE)
|
||||
include : VerticalHook (SB + HALFSTROKE * CORRECTION_HX) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
||||
include : VerticalHook (SB + HALFSTROKE * HVCONTRAST) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'khooktop' : glyph-construction
|
||||
assign-unicode 0x199
|
||||
include bMarks
|
||||
include : KShape XH
|
||||
include : VBarLeft SB 0 (CAP - HOOK - HALFSTROKE)
|
||||
include : VerticalHook (SB + HALFSTROKE * CORRECTION_HX) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
||||
include : VerticalHook (SB + HALFSTROKE * HVCONTRAST) (CAP - HOOK - HALFSTROKE) HOOKX (-HOOK)
|
||||
|
||||
turned nothing 0xA7B0 'K' MIDDLE (CAP / 2)
|
||||
turned nothing 0x29E 'k' MIDDLE (XH / 2) pMarks
|
||||
|
@ -963,8 +963,8 @@ symbol-block 'B'
|
|||
include eMarks
|
||||
local mid : mix RIGHTSB SB 0.65
|
||||
local midy : XH * BARPOS
|
||||
local smb : XH - [mix (midy + HALFSTROKE) (XH - O - STROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] + globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local sma : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] - globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local smb : XH - [mix (midy + HALFSTROKE) (XH - O - STROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] + globalTransform.yx * HVCONTRAST * STROKE
|
||||
local sma : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] - globalTransform.yx * HVCONTRAST * STROKE
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat mid (midy - HALFSTROKE) [heading RIGHTWARD]
|
||||
|
@ -1133,7 +1133,7 @@ symbol-block 'd'
|
|||
if SLAB : begin
|
||||
include : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
tag-contour 'serifRB'
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) CAP SIDEJUT
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) CAP SIDEJUT
|
||||
|
||||
create-glyph 'dcroat' : glyph-construction
|
||||
assign-unicode 0x111
|
||||
|
@ -1164,13 +1164,13 @@ symbol-block 'd'
|
|||
curl m1 (rinner * 2 + fine)
|
||||
CurlyTail fine rinner m1 0 (m1 + rinner * 2 + fine) x2 y2
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (m1 - STROKE * CORRECTION_HX) CAP SIDEJUT
|
||||
include : LeftwardTopSerif (m1 - STROKE * HVCONTRAST) CAP SIDEJUT
|
||||
|
||||
create-glyph 'dhooktop' : glyph-construction
|
||||
assign-unicode 0x257
|
||||
include bMarks
|
||||
include glyphs.'a.italic'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) XH HOOKX (-HOOK)
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) XH HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'ddot' : glyph-construction
|
||||
include glyphs.dotAbove
|
||||
|
@ -1207,7 +1207,7 @@ define {PShape} : symbol-block 'P'
|
|||
if SLAB : begin
|
||||
include : LeftwardTopSerif (SB * mul) top SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
include : CenterBottomSerif (SB * mul + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB * mul + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
create-glyph 'P' : glyph-construction
|
||||
set-width WIDTH
|
||||
assign-unicode 'P'
|
||||
|
@ -1236,7 +1236,7 @@ symbol-block 'p'
|
|||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
tag-contour 'serifLB'
|
||||
alias 'cyrer' 0x440 'p'
|
||||
|
||||
|
@ -1246,7 +1246,7 @@ symbol-block 'p'
|
|||
include : OBarLeftShape
|
||||
include : HooktopLeftBar nothing DESCENDER
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
### rho
|
||||
|
@ -1254,7 +1254,7 @@ symbol-block 'p'
|
|||
assign-unicode 0x3C1
|
||||
include pMarks
|
||||
include : OShape XH 0 (SB - OX + O) RIGHTSB
|
||||
include : VBar (SB + HALFSTROKE * CORRECTION_HX + O) DESCENDER SMALLSMOOTHB
|
||||
include : VBar (SB + HALFSTROKE * HVCONTRAST + O) DESCENDER SMALLSMOOTHB
|
||||
|
||||
### R and CyrYa
|
||||
symbol-block 'R and CyrYa'
|
||||
|
@ -1264,7 +1264,7 @@ symbol-block 'R and CyrYa'
|
|||
local right (RIGHTSB - O - [if SLAB (JUT / 8) 0])
|
||||
include : dispiro
|
||||
widths.center
|
||||
g4.up.start (right - HALFSTROKE * CORRECTION_HX) 0 [heading UPWARD]
|
||||
g4.up.start (right - HALFSTROKE * HVCONTRAST) 0 [heading UPWARD]
|
||||
quadcontrols 0 [if SLAB 0.3 0.4] 8
|
||||
g4 MIDDLE ((top - STROKE) * m)
|
||||
if SLAB : begin
|
||||
|
@ -1275,7 +1275,7 @@ symbol-block 'R and CyrYa'
|
|||
assign-unicode 'R'
|
||||
include capitalMarks
|
||||
include : RShape CAP
|
||||
set-anchor 'overlay' BASE (SB + STROKE * CORRECTION_HX) (CAP * PBARPOS - HALFSTROKE)
|
||||
set-anchor 'overlay' BASE (SB + STROKE * HVCONTRAST) (CAP * PBARPOS - HALFSTROKE)
|
||||
|
||||
create-glyph 'smcpR' : glyph-construction
|
||||
assign-unicode 0x280
|
||||
|
@ -1318,13 +1318,13 @@ symbol-block 'R and CyrYa'
|
|||
local left (SB + O + [if SLAB (JUT / 8) 0])
|
||||
include : dispiro
|
||||
widths.center
|
||||
g4.up.start (left + HALFSTROKE * CORRECTION_HX) 0 [heading UPWARD]
|
||||
g4.up.start (left + HALFSTROKE * HVCONTRAST) 0 [heading UPWARD]
|
||||
quadcontrols 0 [if SLAB 0.3 0.4] 8
|
||||
g4 MIDDLE ((top - STROKE) * m)
|
||||
|
||||
if SLAB : begin
|
||||
include : RightwardTopSerif barright top SIDEJUT
|
||||
include : CenterBottomSerif (barright - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (barright - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
include : LeftwardBottomSerif (SB + JUT / 8) 0 (SIDEJUT + JUT / 8)
|
||||
|
||||
create-glyph 'cyrYa' : glyph-construction
|
||||
|
@ -1341,9 +1341,9 @@ symbol-block 'R and CyrYa'
|
|||
|
||||
### r
|
||||
symbol-block 'r'
|
||||
local rbar : SB + RBALANCE + STROKE * CORRECTION_HX
|
||||
local [rBottomSerif y] : tagged 'serifLB' : CenterBottomSerif (rbar - HALFSTROKE * CORRECTION_HX + RBALANCE * 0.35) y (JUT + RBALANCE * 0.65)
|
||||
local [rTopSerif y] : tagged 'serifLT' : LeftwardTopSerif (rbar - STROKE * CORRECTION_HX) y (SIDEJUT + RBALANCE * 0.3)
|
||||
local rbar : SB + RBALANCE + STROKE * HVCONTRAST
|
||||
local [rBottomSerif y] : tagged 'serifLB' : CenterBottomSerif (rbar - HALFSTROKE * HVCONTRAST + RBALANCE * 0.35) y (JUT + RBALANCE * 0.65)
|
||||
local [rTopSerif y] : tagged 'serifLT' : LeftwardTopSerif (rbar - STROKE * HVCONTRAST) y (SIDEJUT + RBALANCE * 0.3)
|
||||
create-glyph 'r' : glyph-construction
|
||||
set-width WIDTH
|
||||
assign-unicode 'r'
|
||||
|
@ -1354,7 +1354,7 @@ symbol-block 'r'
|
|||
local mixp : 0.54 + 2 * globalTransform.yx * STROKE / WIDTH
|
||||
local mixpin : 0.65 + globalTransform.yx * [linreg 72 0.1 108 0.5 STROKE]
|
||||
local rmiddle : mix (rbar - fine) rhookx mixp
|
||||
local rmiddlein : [mix rbar (rhookx - STROKE * CORRECTION_HX * 1.05) mixpin] - CORRECTION_OMIDS
|
||||
local rmiddlein : [mix rbar (rhookx - STROKE * HVCONTRAST * 1.05) mixpin] - CORRECTION_OMIDS
|
||||
local skew : Math.max 0 : (rmiddle - rmiddlein) / STROKE - globalTransform.yx * [linreg 72 0.25 108 0.75 STROKE]
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
|
@ -1363,7 +1363,7 @@ symbol-block 'r'
|
|||
g4.left.mid (rmiddle - CORRECTION_OMIDS * [linreg 72 0.75 108 1 STROKE]) XO [widths.heading STROKE 0 {.y (-1) .x (-skew)}]
|
||||
#alsothru 0.75 [linreg 18 0.25 126 0.23 STROKE]
|
||||
archv
|
||||
straight.down.end (rbar - fine * CORRECTION_HX) (XH * 0.53 + (SMALLSMOOTH - SMALLSMOOTHA)) [widths.heading fine 0 DOWNWARD]
|
||||
straight.down.end (rbar - fine * HVCONTRAST) (XH * 0.53 + (SMALLSMOOTH - SMALLSMOOTHA)) [widths.heading fine 0 DOWNWARD]
|
||||
include : VBarRight rbar 0 XH
|
||||
set-anchor 'overlay' BASE (rbar - STROKE * 0.25) (XH * 0.5)
|
||||
|
||||
|
@ -1414,8 +1414,8 @@ symbol-block 'r'
|
|||
widths.lhs
|
||||
g4 rhookx (XH - RHOOK)
|
||||
hookstart XO
|
||||
flat (rbar - STROKE * CORRECTION_HX) (XH - SMALLSMOOTHA)
|
||||
curl (rbar - STROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (rbar - STROKE * HVCONTRAST) (XH - SMALLSMOOTHA)
|
||||
curl (rbar - STROKE * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : include : rBottomSerif 0
|
||||
|
||||
turned nothing 0x2C79 'rrtail' MIDDLE (XH / 2)
|
||||
|
@ -1467,13 +1467,13 @@ define {CShape} : symbol-block 'C'
|
|||
assign-unicode 0x187
|
||||
include glyphs.C AS_BASE
|
||||
include : VBarRight (RIGHTSB - OXHOOK) (CAP - HOOK) CAP
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX - OXHOOK) CAP HOOKX (-HOOK)
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) CAP HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'chooktop' : glyph-construction
|
||||
assign-unicode 0x188
|
||||
include glyphs.c AS_BASE
|
||||
include : VBarRight (RIGHTSB - OXHOOK) (XH - HOOK) XH
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX - OXHOOK) XH HOOKX (-HOOK)
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) XH HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'Cbar' : glyph-construction
|
||||
assign-unicode 0xA792
|
||||
|
@ -1490,7 +1490,7 @@ define {CShape} : symbol-block 'C'
|
|||
include eMarks
|
||||
local fine : adviceBlackness 3
|
||||
local rinner : ((XH * 0.45) - fine * 1.5) / 2
|
||||
local m1 : SB + O + STROKE * CORRECTION_HX
|
||||
local m1 : SB + O + STROKE * HVCONTRAST
|
||||
local x2 : SB + HALFSTROKE * 0.6
|
||||
local y2 : -XH * 0.05
|
||||
include : dispiro
|
||||
|
@ -1563,7 +1563,7 @@ define {CShape} : symbol-block 'C'
|
|||
alsothru 0.4 0.8
|
||||
g4 MIDDLE 0
|
||||
alsothru 0.5 0.135
|
||||
g4.down.mid (RIGHTSB - STROKE * CORRECTION_HX + OX) [mix DESCENDER STROKE 0.5] [heading DOWNWARD]
|
||||
g4.down.mid (RIGHTSB - STROKE * HVCONTRAST + OX) [mix DESCENDER STROKE 0.5] [heading DOWNWARD]
|
||||
arcvh
|
||||
straight.left.end (RIGHTSB - HOOKX + OX) (DESCENDER + STROKE) [heading LEFTWARD]
|
||||
list CShape
|
||||
|
@ -1603,13 +1603,13 @@ symbol-block 'G'
|
|||
assign-unicode 0x193
|
||||
include glyphs.G AS_BASE
|
||||
include : VBarRight (RIGHTSB - OXHOOK) (CAP - HOOK) CAP
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX - OXHOOK) CAP HOOKX (-HOOK) nothing O
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) CAP HOOKX (-HOOK) nothing O
|
||||
|
||||
create-glyph 'smcpGhooktop' : glyph-construction
|
||||
assign-unicode 0x29B
|
||||
include glyphs.smcpG AS_BASE
|
||||
include : VBarRight (RIGHTSB - OXHOOK) (XH - HOOK) XH
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX - OXHOOK) XH HOOKX (-HOOK) nothing O
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST - OXHOOK) XH HOOKX (-HOOK) nothing O
|
||||
|
||||
create-glyph 'Gbar' : glyph-construction
|
||||
assign-unicode 0x1E4
|
||||
|
@ -1672,7 +1672,7 @@ symbol-block 'g'
|
|||
assign-unicode 0x260
|
||||
include glyphs.scriptg AS_BASE
|
||||
eject-contour 'serifRT'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) XH HOOKX (-HOOK) nothing O
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) XH HOOKX (-HOOK) nothing O
|
||||
|
||||
create-glyph 'gbar' : glyph-construction
|
||||
assign-unicode 0x1E5
|
||||
|
@ -1772,9 +1772,9 @@ symbol-block 'Q'
|
|||
|
||||
start-from MIDDLE 0
|
||||
line-to (MIDDLE + WIDTH * 0.1) (-CAP * 0.2)
|
||||
line-to (MIDDLE + WIDTH * 0.1 + STROKE * CORRECTION_HX) (-CAP * 0.2)
|
||||
line-to (MIDDLE + STROKE * CORRECTION_HX) 0
|
||||
line-to (MIDDLE + STROKE * (1 - 0.5 / 3) * CORRECTION_HX) (STROKE * 0.5)
|
||||
line-to (MIDDLE + WIDTH * 0.1 + STROKE * HVCONTRAST) (-CAP * 0.2)
|
||||
line-to (MIDDLE + STROKE * HVCONTRAST) 0
|
||||
line-to (MIDDLE + STROKE * (1 - 0.5 / 3) * HVCONTRAST) (STROKE * 0.5)
|
||||
reverse-last
|
||||
alias 'cyrQa' 0x51A 'Q'
|
||||
|
||||
|
@ -1790,7 +1790,7 @@ symbol-block 'q'
|
|||
if SLAB : begin
|
||||
include : RightwardTopSerif RIGHTSB XH SIDEJUT
|
||||
tag-contour 'serifRT'
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
alias 'cyrqa' 0x51B 'q'
|
||||
|
||||
create-glyph 'Qrtail' : glyph-construction
|
||||
|
@ -1826,7 +1826,7 @@ symbol-block 'q'
|
|||
include pMarks
|
||||
include glyphs.q
|
||||
eject-contour 'serifRT'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) XH HOOKX (-HOOK)
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) XH HOOKX (-HOOK)
|
||||
|
||||
|
||||
### N
|
||||
|
@ -1865,7 +1865,7 @@ define {NShape} : symbol-block 'N'
|
|||
assign-unicode 0x19D
|
||||
include glyphs.N AS_BASE
|
||||
eject-contour 'serifLB'
|
||||
include : VerticalHook (SB + HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (SB + HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
list NShape
|
||||
|
||||
|
@ -1876,7 +1876,7 @@ symbol-block 'n'
|
|||
assign-unicode 'n'
|
||||
include eMarks
|
||||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE
|
||||
include : VBarLeft SB 0 XH
|
||||
|
||||
if SLAB : begin
|
||||
|
@ -1884,9 +1884,9 @@ symbol-block 'n'
|
|||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : tagged 'serifLB' : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : tagged 'serifLB' : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
alias 'cyrpe.italic' null 'n'
|
||||
|
||||
create-glyph 'napostrophe' : glyph-construction
|
||||
|
@ -1900,21 +1900,21 @@ symbol-block 'n'
|
|||
include pMarks
|
||||
include glyphs.n false
|
||||
eject-contour 'serifRB'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
create-glyph 'Eng' : glyph-construction
|
||||
assign-unicode 0x14A
|
||||
include capitalMarks
|
||||
|
||||
include : nShoulder (SB + STROKE) RIGHTSB SHOULDERFINE CAP (HOOK + HALFSTROKE + O) SMOOTHA SMOOTHB
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) (HOOK + HALFSTROKE + O) [Math.max ((SB - RIGHTSB) / 2 + HALFSTROKE) (-HOOKX)] HOOK
|
||||
include : VBar (SB + HALFSTROKE * CORRECTION_HX) 0 CAP
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) (HOOK + HALFSTROKE + O) [Math.max ((SB - RIGHTSB) / 2 + HALFSTROKE) (-HOOKX)] HOOK
|
||||
include : VBar (SB + HALFSTROKE * HVCONTRAST) 0 CAP
|
||||
|
||||
create-glyph 'nltail' : glyph-construction
|
||||
assign-unicode 0x272
|
||||
include glyphs.n AS_BASE
|
||||
eject-contour 'serifLB'
|
||||
include : VerticalHook (SB + HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (SB + HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
create-glyph 'ncurlytail' : glyph-construction
|
||||
assign-unicode 0x235
|
||||
|
@ -1927,14 +1927,14 @@ symbol-block 'n'
|
|||
include eMarks
|
||||
include : VBarLeft SB 0 XH wide
|
||||
include : dispiro
|
||||
nShoulderKnots (SB + wide * CORRECTION_HX) m1 SHOULDERFINE nothing (rinner * 2 + fine) nothing nothing wide
|
||||
nShoulderKnots (SB + wide * HVCONTRAST) m1 SHOULDERFINE nothing (rinner * 2 + fine) nothing nothing wide
|
||||
CurlyTail fine rinner m1 0 (m1 + rinner * 2 + fine) x2 y2
|
||||
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
# eta
|
||||
|
@ -1943,7 +1943,7 @@ symbol-block 'n'
|
|||
include pMarks
|
||||
set-anchor 'lf' BASE (SB + HALFSTROKE) 0
|
||||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBarLeft SB 0 XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
|
@ -1955,15 +1955,15 @@ symbol-block 'n'
|
|||
set-anchor 'lf' BASE (SB + HALFSTROKE) 0
|
||||
|
||||
include : nShoulder (SB + STROKE) RIGHTSB SHOULDERFINE CAP DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBar (SB + HALFSTROKE * CORRECTION_HX) 0 CAP
|
||||
include : VBar (SB + HALFSTROKE * HVCONTRAST) 0 CAP
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB CAP SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB DESCENDER SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'latineta' : glyph-construction
|
||||
|
@ -1971,16 +1971,16 @@ symbol-block 'n'
|
|||
include pMarks
|
||||
set-anchor 'lf' BASE (SB + HALFSTROKE) 0
|
||||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBarLeft SB 0 XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB DESCENDER SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
### U
|
||||
|
@ -2024,7 +2024,7 @@ symbol-block 'u'
|
|||
include : FlipAround MIDDLE (XH / 2)
|
||||
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) XH SIDEJUT
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) XH SIDEJUT
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
|
||||
# upsilon
|
||||
|
@ -2051,7 +2051,7 @@ symbol-block 'u'
|
|||
archv
|
||||
flat RIGHTSB sma
|
||||
curl RIGHTSB (top - HOOK - HALFSTROKE) [heading UPWARD]
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) (top - HOOK - HALFSTROKE) (-(RIGHTSB - HALFSTROKE * CORRECTION_HX - MIDDLE)) (-HOOK)
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) (top - HOOK - HALFSTROKE) (-(RIGHTSB - HALFSTROKE * HVCONTRAST - MIDDLE)) (-HOOK)
|
||||
|
||||
create-glyph 'latinUpsilon2' : glyph-construction
|
||||
assign-unicode 0x1B2
|
||||
|
@ -2101,10 +2101,10 @@ symbol-block 'M'
|
|||
### m
|
||||
symbol-block 'm'
|
||||
define [SmallMShape top bot] : glyph-construction
|
||||
local m1 : mix (SB + O) (MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX) 0.5
|
||||
local m2 : mix (RIGHTSB - O) (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) 0.5
|
||||
include : mShoulderSpiro (SB + O + MVERTSTROKE * CORRECTION_HX) (MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX) top bot MVERTSTROKE (MVERTSTROKE * SHOULDERFINE / STROKE)
|
||||
include : mShoulderSpiro (MIDDLE + MVERTSTROKE * 0.5 * CORRECTION_HX) (RIGHTSB - O) top bot MVERTSTROKE (MVERTSTROKE * SHOULDERFINE / STROKE)
|
||||
local m1 : mix (SB + O) (MIDDLE + MVERTSTROKE / 2 * HVCONTRAST) 0.5
|
||||
local m2 : mix (RIGHTSB - O) (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) 0.5
|
||||
include : mShoulderSpiro (SB + O + MVERTSTROKE * HVCONTRAST) (MIDDLE + MVERTSTROKE / 2 * HVCONTRAST) top bot MVERTSTROKE (MVERTSTROKE * SHOULDERFINE / STROKE)
|
||||
include : mShoulderSpiro (MIDDLE + MVERTSTROKE * 0.5 * HVCONTRAST) (RIGHTSB - O) top bot MVERTSTROKE (MVERTSTROKE * SHOULDERFINE / STROKE)
|
||||
include : VBarLeft (SB + O) bot top MVERTSTROKE
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB top SIDEJUT
|
||||
|
@ -2126,7 +2126,7 @@ symbol-block 'm'
|
|||
include pMarks
|
||||
include glyphs.m
|
||||
eject-contour 'serifRB'
|
||||
include : VerticalHook (RIGHTSB - O - MVERTSTROKE / 2 * CORRECTION_HX) 0 (-HOOKX) HOOK MVERTSTROKE
|
||||
include : VerticalHook (RIGHTSB - O - MVERTSTROKE / 2 * HVCONTRAST) 0 (-HOOKX) HOOK MVERTSTROKE
|
||||
|
||||
turned nothing 0x26F 'm' MIDDLE (XH / 2)
|
||||
create-glyph 'capitalTurnm' : glyph-construction
|
||||
|
@ -2179,31 +2179,31 @@ symbol-block 'h'
|
|||
assign-unicode 'h'
|
||||
include bMarks
|
||||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE
|
||||
include : VBarLeft SB 0 CAP
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB CAP SIDEJUT
|
||||
if (para.italicangle > 0)
|
||||
: then : include : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
: else : include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
: else : include : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifRB'
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
alias 'cyrshha' 0x4BB 'h'
|
||||
|
||||
create-glyph 'hhooktop' : glyph-construction
|
||||
assign-unicode 0x266
|
||||
include bMarks
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE
|
||||
include : HooktopLeftBar
|
||||
if SLAB : begin
|
||||
if (para.italicangle > 0)
|
||||
: then : include : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
: else : include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
: else : include : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifRB'
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'hhooktopltail' : glyph-construction
|
||||
|
@ -2211,20 +2211,20 @@ symbol-block 'h'
|
|||
include pMarks
|
||||
include glyphs.hhooktop
|
||||
eject-contour 'serifRB'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
create-glyph 'hltail' : glyph-construction
|
||||
assign-unicode 0xA727
|
||||
include pMarks
|
||||
include glyphs.h
|
||||
eject-contour 'serifRB'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
turned nothing 0x265 'h' MIDDLE (XH / 2) pMarks
|
||||
|
||||
create-glyph 'hookturnh' : glyph-construction
|
||||
assign-unicode 0x2AE
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + 1) SMOOTHA SMOOTHB
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + 1) SMOOTHA SMOOTHB
|
||||
include : VBarLeft SB 0 CAP
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.rtailBR
|
||||
|
@ -2234,12 +2234,12 @@ symbol-block 'h'
|
|||
include : FlipAround MIDDLE (XH / 2)
|
||||
include pMarks
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) XH SIDEJUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) XH SIDEJUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
|
||||
create-glyph 'hookturnhrtail' : glyph-construction
|
||||
assign-unicode 0x2AF
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + 1) SMOOTHA SMOOTHB
|
||||
include : nShoulder (SB + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + 1) SMOOTHA SMOOTHB
|
||||
include : VBarLeft SB 0 (XH - 1)
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.rtailBR
|
||||
|
@ -2254,7 +2254,7 @@ symbol-block 'h'
|
|||
apply-transform : Italify
|
||||
include pMarks
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) XH SIDEJUT
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * HVCONTRAST) XH SIDEJUT
|
||||
|
||||
create-glyph 'hbar' : glyph-construction
|
||||
assign-unicode 0x127
|
||||
|
@ -2270,7 +2270,7 @@ define {FShape} : symbol-block 'F'
|
|||
include : HBar (SB * 1.5 - O) (RIGHTSB - [Math.max HALFSTROKE ((RIGHTSB - SB) * 0.15)] - [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
|
||||
include : CenterBottomSerif (SB * 1.5 + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serifBottom'
|
||||
include : DownwardRightSerif RIGHTSB [fallback top CAP] VJUT
|
||||
|
||||
|
@ -2284,7 +2284,7 @@ define {FShape} : symbol-block 'F'
|
|||
assign-unicode 0x191
|
||||
include glyphs.F AS_BASE
|
||||
eject-contour 'serifBottom'
|
||||
include : VerticalHook (SB * 1.5 + HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (SB * 1.5 + HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
list FShape
|
||||
|
||||
|
@ -2305,8 +2305,8 @@ define {LongSShape} : symbol-block 'f'
|
|||
|
||||
create-glyph 'longs.upright' : glyph-construction
|
||||
include bMarks
|
||||
local m : MIDDLE - JBALANCE - HALFSTROKE * CORRECTION_HX
|
||||
local r : m + (WIDTH * 0.5) + STROKE * CORRECTION_HX - OXHOOK
|
||||
local m : MIDDLE - JBALANCE - HALFSTROKE * HVCONTRAST
|
||||
local r : m + (WIDTH * 0.5) + STROKE * HVCONTRAST - OXHOOK
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 r (CAP - HOOK)
|
||||
|
@ -2314,7 +2314,7 @@ define {LongSShape} : symbol-block 'f'
|
|||
flat m (CAP - SMOOTHA)
|
||||
curl m 0
|
||||
if SLAB : begin
|
||||
include : tagged 'serifLB' : CenterBottomSerif (m + HALFSTROKE * CORRECTION_HX + RBALANCE * 0.35) 0 (JUT + RBALANCE * 0.65)
|
||||
include : tagged 'serifLB' : CenterBottomSerif (m + HALFSTROKE * HVCONTRAST + RBALANCE * 0.35) 0 (JUT + RBALANCE * 0.65)
|
||||
|
||||
define [LongSShape top bottom hookx hooky fine] : glyph-construction
|
||||
local w [fallback fine STROKE]
|
||||
|
@ -2357,7 +2357,7 @@ define {LongSShape} : symbol-block 'f'
|
|||
include ifMarks
|
||||
local fine : adviceBlackness 3.5
|
||||
local rinner : LONGJUT / 2 - fine / 2
|
||||
local m1 : MIDDLE - HALFSTROKE * CORRECTION_HX - FBALANCE
|
||||
local m1 : MIDDLE - HALFSTROKE * HVCONTRAST - FBALANCE
|
||||
local x2 : mix RIGHTSB m1 0.25
|
||||
local y2 : DESCENDER + O
|
||||
include glyphs.'longs.straight' false
|
||||
|
@ -2387,7 +2387,7 @@ define {LongSShape} : symbol-block 'f'
|
|||
define fbar : XH * 0.91 + STROKE * 0.25
|
||||
create-glyph 'f.upright' : glyph-construction
|
||||
include bMarks
|
||||
local barleft : [mix SB RIGHTSB 0.35] - STROKE * 0.25 * CORRECTION_HX
|
||||
local barleft : [mix SB RIGHTSB 0.35] - STROKE * 0.25 * HVCONTRAST
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 (RIGHTSB + RBALANCE2 - OXE) (CAP - HOOK * 0.7)
|
||||
|
@ -2422,10 +2422,10 @@ define {LongSShape} : symbol-block 'f'
|
|||
if SLAB : begin
|
||||
if para.isItalic
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif barr 0 SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (barr - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (barr - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
|
||||
create-glyph 'f_l.upright' : glyph-construction
|
||||
local m : MIDDLE - JBALANCE - HALFSTROKE * CORRECTION_HX + shift
|
||||
local m : MIDDLE - JBALANCE - HALFSTROKE * HVCONTRAST + shift
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat m 0
|
||||
|
@ -2435,8 +2435,8 @@ define {LongSShape} : symbol-block 'f'
|
|||
include : VBarRight barr 0 (CAP - HOOK)
|
||||
include : HBarTop hbarleft [mix SB barr 0.6] fbar
|
||||
if SLAB : begin
|
||||
include : tagged 'serifLB' : CenterBottomSerif (m + HALFSTROKE * CORRECTION_HX + RBALANCE * 0.35) 0 (JUT + RBALANCE * 0.65)
|
||||
include : tagged 'serifRB' : CenterBottomSerif (barr - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : tagged 'serifLB' : CenterBottomSerif (m + HALFSTROKE * HVCONTRAST + RBALANCE * 0.35) 0 (JUT + RBALANCE * 0.65)
|
||||
include : tagged 'serifRB' : CenterBottomSerif (barr - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
|
||||
create-glyph 'f_l.italic' : glyph-construction
|
||||
include : create-glyph : glyph-construction
|
||||
|
@ -2558,18 +2558,18 @@ symbol-block 'T'
|
|||
set-width WIDTH
|
||||
assign-unicode 'T'
|
||||
include capitalMarks
|
||||
set-anchor 'bottomright' BASE (MIDDLE + HALFSTROKE * CORRECTION_HX) 0
|
||||
set-anchor 'bottomright' BASE (MIDDLE + HALFSTROKE * HVCONTRAST) 0
|
||||
include : TShape CAP
|
||||
|
||||
alias 'Tau' 0x3A4 'T'
|
||||
alias 'cyrTe' 0x422 'T'
|
||||
composite nothing glyphs.cyrTe [CyrDescender (MIDDLE + HALFSTROKE * CORRECTION_HX)] ifMarks [into-unicode 0x4AC]
|
||||
composite nothing glyphs.cyrTe [CyrDescender (MIDDLE + HALFSTROKE * HVCONTRAST)] ifMarks [into-unicode 0x4AC]
|
||||
turned 'turnT' 0xA7B1 'T' MIDDLE (CAP / 2)
|
||||
|
||||
create-glyph 'cyrte.upright' : glyph-construction
|
||||
include eMarks
|
||||
include : TShape XH
|
||||
composite 'cyrtedescender.upright' glyphs.'cyrte.upright' [CyrDescender (MIDDLE + HALFSTROKE * CORRECTION_HX)] pMarks
|
||||
composite 'cyrtedescender.upright' glyphs.'cyrte.upright' [CyrDescender (MIDDLE + HALFSTROKE * HVCONTRAST)] pMarks
|
||||
italic-variant 'cyrtedescender' 0x4AD
|
||||
|
||||
create-glyph 'Thookleft' : glyph-construction
|
||||
|
@ -2594,9 +2594,9 @@ symbol-block 'T'
|
|||
|
||||
### t
|
||||
symbol-block 't'
|
||||
define tcenter : MIDDLE - TBALANCE - STROKE * 0.5 * CORRECTION_HX
|
||||
define tcenter : MIDDLE - TBALANCE - STROKE * 0.5 * HVCONTRAST
|
||||
define [SmallTShape top bot] : glyph-construction
|
||||
local hookx : tcenter + (WIDTH - SB * 2) * 0.8 + STROKE * 0.25 * CORRECTION_HX
|
||||
local hookx : tcenter + (WIDTH - SB * 2) * 0.8 + STROKE * 0.25 * HVCONTRAST
|
||||
local turn : [mix tcenter hookx 0.5] + CORRECTION_OMIDS
|
||||
local smb : Math.max HOOK ((turn - tcenter) * 1.2)
|
||||
|
||||
|
@ -2624,13 +2624,13 @@ symbol-block 't'
|
|||
include glyphs.t
|
||||
local attach : utp currentGlyph.gizmo glyphs.t.anchors.bottomright
|
||||
include : VBarRight attach.x 0 attach.y
|
||||
include : VerticalHook (attach.x - HALFSTROKE * CORRECTION_HX) 0 (-HOOKX) HOOK
|
||||
include : VerticalHook (attach.x - HALFSTROKE * HVCONTRAST) 0 (-HOOKX) HOOK
|
||||
|
||||
create-glyph 'thooktop' : glyph-construction
|
||||
assign-unicode 0x1AD
|
||||
include eMarks
|
||||
include : SmallTShape (XH - HALFSTROKE) 0
|
||||
include : VerticalHook (tcenter + HALFSTROKE * CORRECTION_HX) XH HOOKX (-HOOK)
|
||||
include : VerticalHook (tcenter + HALFSTROKE * HVCONTRAST) XH HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'trtail' : glyph-construction
|
||||
assign-unicode 0x288
|
||||
|
@ -2649,13 +2649,13 @@ symbol-block 't'
|
|||
widths.lhs
|
||||
flat tcenter CAP [heading DOWNWARD]
|
||||
curl tcenter (fine + rinner * 2)
|
||||
CurlyTail fine rinner (tcenter+ STROKE * CORRECTION_HX) 0 (tcenter + STROKE * CORRECTION_HX + LONGJUT) x2 y2
|
||||
CurlyTail fine rinner (tcenter+ STROKE * HVCONTRAST) 0 (tcenter + STROKE * HVCONTRAST + LONGJUT) x2 y2
|
||||
|
||||
create-glyph 'tbar' : glyph-construction
|
||||
assign-unicode 0x167
|
||||
|
||||
include glyphs.t AS_BASE
|
||||
include : HOverlayBar ([mix MIDDLE SB 0.7] - TBALANCE * 0.5 - STROKE * 0.25 * CORRECTION_HX) ([mix MIDDLE RIGHTSB 0.7] - TBALANCE * 0.5 - STROKE * 0.25 * CORRECTION_HX) [mix 0 XH 0.6]
|
||||
include : HOverlayBar ([mix MIDDLE SB 0.7] - TBALANCE * 0.5 - STROKE * 0.25 * HVCONTRAST) ([mix MIDDLE RIGHTSB 0.7] - TBALANCE * 0.5 - STROKE * 0.25 * HVCONTRAST) [mix 0 XH 0.6]
|
||||
|
||||
create-glyph 'tcaron' : glyph-construction
|
||||
assign-unicode 0x165
|
||||
|
@ -2730,7 +2730,7 @@ symbol-block 'S'
|
|||
assign-unicode 0x282
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate (SB + STROKE * CORRECTION_HX + OXHOOK) 0
|
||||
apply-transform : Translate (SB + STROKE * HVCONTRAST + OXHOOK) 0
|
||||
apply-transform : Italify
|
||||
include pMarks
|
||||
include glyphs.s
|
||||
|
@ -2765,7 +2765,7 @@ symbol-block 'Z'
|
|||
assign-unicode 'Z'
|
||||
include capitalMarks
|
||||
|
||||
local cor : 1.15 * CORRECTION_HX
|
||||
local cor : 1.15 * HVCONTRAST
|
||||
|
||||
include : HBarTop SB RIGHTSB CAP
|
||||
|
||||
|
@ -2789,7 +2789,7 @@ symbol-block 'Z'
|
|||
assign-unicode 'z'
|
||||
include eMarks
|
||||
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
local cor : 1.2 * HVCONTRAST
|
||||
|
||||
include : HBarTop SB RIGHTSB XH
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ symbol-block 'Gamma'
|
|||
include : HBarTop (SB * 1.5 - O) (RIGHTSB - OX) top
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (SB * 1.5) top SIDEJUT
|
||||
include : CenterBottomSerif (SB * 1.5 + CORRECTION_HX * HALFSTROKE) 0 JUT
|
||||
include : CenterBottomSerif (SB * 1.5 + HVCONTRAST * HALFSTROKE) 0 JUT
|
||||
include : tagged 'serifRT' : DownwardRightSerif (RIGHTSB - OX) top VJUT
|
||||
|
||||
create-glyph 'Gamma' : glyph-construction
|
||||
|
@ -86,7 +86,7 @@ symbol-block 'gamma'
|
|||
|
||||
local xmid : [mix SB RIGHTSB 0.46] + HALFSTROKE
|
||||
include : dispiro
|
||||
g4 (SB + 0.4 * STROKE * CORRECTION_HX) (XH - O) [widths.rhs]
|
||||
g4 (SB + 0.4 * STROKE * HVCONTRAST) (XH - O) [widths.rhs]
|
||||
bezcontrols 0.33 0.17 1 0.62 6 important
|
||||
flat xmid 0
|
||||
curl xmid DESCENDER [heading DOWNWARD]
|
||||
|
@ -120,9 +120,9 @@ define {LambdaShape} : symbol-block 'Lambda'
|
|||
line-to MIDDLE (CAP - sw)
|
||||
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + sw / 2 * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (SB + sw / 2 * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serif'
|
||||
include : CenterBottomSerif (RIGHTSB - sw / 2 * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (RIGHTSB - sw / 2 * HVCONTRAST) 0 JUT
|
||||
tag-contour 'serif'
|
||||
|
||||
create-glyph 'Lambda' : glyph-construction
|
||||
|
@ -180,8 +180,8 @@ symbol-block 'Delta and cyrbe'
|
|||
include bMarks
|
||||
include : dispiro
|
||||
widths.rhs (STROKE * CTHINB)
|
||||
flat (SB + OX + STROKE * (1 - CTHINB) * CORRECTION_HX) SMALLSMOOTHB
|
||||
curl (SB + OX + STROKE * (1 - CTHINB) * CORRECTION_HX) (XH - SMALLSMOOTHA)
|
||||
flat (SB + OX + STROKE * (1 - CTHINB) * HVCONTRAST) SMALLSMOOTHB
|
||||
curl (SB + OX + STROKE * (1 - CTHINB) * HVCONTRAST) (XH - SMALLSMOOTHA)
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O) [widths.rhs STROKE]
|
||||
archv
|
||||
|
@ -193,14 +193,14 @@ symbol-block 'Delta and cyrbe'
|
|||
flat (SB + OX) SMALLSMOOTHB
|
||||
curl (SB + OX) (XH - SMALLSMOOTHA)
|
||||
alsothruthem [list {0.25 0.79} {0.5 0.87}] important
|
||||
g4 (RIGHTSB - HALFSTROKE * CORRECTION_HX) CAP
|
||||
g4 (RIGHTSB - HALFSTROKE * HVCONTRAST) CAP
|
||||
|
||||
symbol-block 'epsilon and cyrze'
|
||||
define [SmallEpsilonShape top hook] : glyph-construction
|
||||
local midx : mix SB RIGHTSB 0.65
|
||||
local midy : top * BARPOS
|
||||
local sma : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))] - globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local smb : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))] + globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local sma : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))] - globalTransform.yx * HVCONTRAST * STROKE
|
||||
local smb : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHB / (SMOOTHA + SMOOTHB))] + globalTransform.yx * HVCONTRAST * STROKE
|
||||
local fine : STROKE * CTHIN
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
|
@ -232,8 +232,8 @@ symbol-block 'epsilon and cyrze'
|
|||
define [CyrZeShape top hook] : glyph-construction
|
||||
local midx : mix RIGHTSB SB 0.65
|
||||
local midy : top * BARPOS
|
||||
local smb : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] + globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local sma : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] - globalTransform.yx * CORRECTION_HX * STROKE
|
||||
local smb : top - [mix (midy + HALFSTROKE) (top - O - STROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] + globalTransform.yx * HVCONTRAST * STROKE
|
||||
local sma : [mix (STROKE + O) (midy - HALFSTROKE) (SMOOTHA / (SMOOTHA + SMOOTHB))] - globalTransform.yx * HVCONTRAST * STROKE
|
||||
local fine : STROKE * CTHIN
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -269,7 +269,7 @@ symbol-block 'Theta'
|
|||
assign-unicode 0x398
|
||||
include capitalMarks
|
||||
include glyphs.O AS_BASE
|
||||
include : HBar (SB + STROKE * CORRECTION_HX - O * 3) (RIGHTSB - STROKE * CORRECTION_HX + O * 3) CAPMIDDLE
|
||||
include : HBar (SB + STROKE * HVCONTRAST - O * 3) (RIGHTSB - STROKE * HVCONTRAST + O * 3) CAPMIDDLE
|
||||
create-glyph 'theta' : glyph-construction
|
||||
assign-unicode 0x3B8
|
||||
include bMarks
|
||||
|
@ -285,7 +285,7 @@ symbol-block 'zeta and xi'
|
|||
widths.rhs
|
||||
g4 (RIGHTSB + O) (CAP - STROKE)
|
||||
bezcontrols 0.7 0.35 1 0.64 12
|
||||
g4.down.mid (SB + STROKE * CORRECTION_HX) [mix 0 CAP 0.27]
|
||||
g4.down.mid (SB + STROKE * HVCONTRAST) [mix 0 CAP 0.27]
|
||||
arcvh
|
||||
g4 [mix SB RIGHTSB 0.55] STROKE
|
||||
archv
|
||||
|
@ -305,14 +305,14 @@ symbol-block 'zeta and xi'
|
|||
widths.rhs
|
||||
g4.left.start xbar (CAP - STROKE)
|
||||
archv
|
||||
g4 (SB - O * 2 + STROKE * CORRECTION_HX) [mix (CAP - STROKE) ybar 0.6]
|
||||
g4 (SB - O * 2 + STROKE * HVCONTRAST) [mix (CAP - STROKE) ybar 0.6]
|
||||
arcvh
|
||||
g4.right.end xbar ybar
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4.left.start xbar (ybar - STROKE)
|
||||
bezcontrols 0.7 0 1 0.63
|
||||
g4 (SB + STROKE * CORRECTION_HX) [mix 0 ybar 0.45]
|
||||
g4 (SB + STROKE * HVCONTRAST) [mix 0 ybar 0.45]
|
||||
arcvh
|
||||
g4 [mix SB RIGHTSB 0.5] STROKE
|
||||
archv
|
||||
|
@ -355,10 +355,10 @@ define {PiShape} : symbol-block 'Pi'
|
|||
include : VBarRight (RIGHTSB - shrink) bottom (top - fine / 2) fine
|
||||
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + shrink + fine * 0.5 * CORRECTION_HX) bottom JUT fine
|
||||
include : CenterBottomSerif (RIGHTSB - shrink - fine * 0.5 * CORRECTION_HX) bottom JUT fine
|
||||
include : CenterTopSerif (SB + shrink + fine * 0.5 * CORRECTION_HX) top JUT fine
|
||||
include : CenterTopSerif (RIGHTSB - shrink - fine * 0.5 * CORRECTION_HX) top JUT fine
|
||||
include : CenterBottomSerif (SB + shrink + fine * 0.5 * HVCONTRAST) bottom JUT fine
|
||||
include : CenterBottomSerif (RIGHTSB - shrink - fine * 0.5 * HVCONTRAST) bottom JUT fine
|
||||
include : CenterTopSerif (SB + shrink + fine * 0.5 * HVCONTRAST) top JUT fine
|
||||
include : CenterTopSerif (RIGHTSB - shrink - fine * 0.5 * HVCONTRAST) top JUT fine
|
||||
|
||||
create-glyph 'Pi' : glyph-construction
|
||||
assign-unicode 0x3A0
|
||||
|
@ -385,11 +385,11 @@ symbol-block 'pi'
|
|||
local m1 : mix SB RIGHTSB m
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
straight.down.start (m1 + HALFSTROKE * CORRECTION_HX) XH [heading DOWNWARD]
|
||||
straight.down.start (m1 + HALFSTROKE * HVCONTRAST) XH [heading DOWNWARD]
|
||||
alsothru 0.5 0.85 important
|
||||
g4 [mix SB RIGHTSB 0.1] O
|
||||
local m2 : mix SB RIGHTSB (1 - m)
|
||||
local hook : Math.max (STROKE * CORRECTION_HX * 1.1) (HOOK * 0.8)
|
||||
local hook : Math.max (STROKE * HVCONTRAST * 1.1) (HOOK * 0.8)
|
||||
include : dispiro
|
||||
widths.center
|
||||
flat m2 XH [heading DOWNWARD]
|
||||
|
@ -462,10 +462,10 @@ symbol-block 'Phi, phi and varphi'
|
|||
archv
|
||||
g4 (WIDTH - x1) (XH * 0.55)
|
||||
arcvh 8
|
||||
g4.left.mid [mix (WIDTH - x1) (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) 0.525] XH [heading LEFTWARD]
|
||||
g4.left.mid [mix (WIDTH - x1) (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) 0.525] XH [heading LEFTWARD]
|
||||
archv
|
||||
flat (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) y3
|
||||
curl (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) (MVERTSTROKE * 0.2) [heading DOWNWARD]
|
||||
flat (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) y3
|
||||
curl (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) (MVERTSTROKE * 0.2) [heading DOWNWARD]
|
||||
|
||||
create-glyph 'phi' : glyph-construction
|
||||
assign-unicode 0x3C6
|
||||
|
@ -610,19 +610,19 @@ symbol-block 'omega'
|
|||
g4 x0 y0
|
||||
g4 x1 (XH / 2)
|
||||
arcvh 8
|
||||
g4 [mix x1 (MIDDLE + fine / 2 * CORRECTION_HX) 0.5] O [heading RIGHTWARD]
|
||||
g4 [mix x1 (MIDDLE + fine / 2 * HVCONTRAST) 0.5] O [heading RIGHTWARD]
|
||||
archv 8
|
||||
flat (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y3 [widths.heading mfine 0 UPWARD]
|
||||
curl (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y4 [heading UPWARD]
|
||||
flat (MIDDLE + (mfine - fine / 2) * HVCONTRAST) y3 [widths.heading mfine 0 UPWARD]
|
||||
curl (MIDDLE + (mfine - fine / 2) * HVCONTRAST) y4 [heading UPWARD]
|
||||
include : dispiro
|
||||
widths.rhs fine
|
||||
g4 (WIDTH - x0) y0
|
||||
g4 (WIDTH - x1) (XH / 2)
|
||||
arcvh 8
|
||||
g4 [mix (WIDTH - x1) (MIDDLE - fine / 2 * CORRECTION_HX) 0.5] O [heading LEFTWARD]
|
||||
g4 [mix (WIDTH - x1) (MIDDLE - fine / 2 * HVCONTRAST) 0.5] O [heading LEFTWARD]
|
||||
archv 8
|
||||
flat (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y3 [widths.heading 0 mfine UPWARD]
|
||||
curl (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y4 [heading UPWARD]
|
||||
flat (MIDDLE - (mfine - fine / 2) * HVCONTRAST) y3 [widths.heading 0 mfine UPWARD]
|
||||
curl (MIDDLE - (mfine - fine / 2) * HVCONTRAST) y4 [heading UPWARD]
|
||||
|
||||
create-glyph 'pomega' : glyph-construction
|
||||
assign-unicode 0x3D6
|
||||
|
@ -642,10 +642,10 @@ symbol-block 'omega'
|
|||
local y4 : XH * 0.65
|
||||
include : dispiro
|
||||
widths.rhs mfine
|
||||
flat (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y4 [heading DOWNWARD]
|
||||
curl (MIDDLE + (mfine - fine / 2) * CORRECTION_HX) y3 [heading DOWNWARD]
|
||||
flat (MIDDLE + (mfine - fine / 2) * HVCONTRAST) y4 [heading DOWNWARD]
|
||||
curl (MIDDLE + (mfine - fine / 2) * HVCONTRAST) y3 [heading DOWNWARD]
|
||||
arcvh 8
|
||||
g4 [mix x1 (MIDDLE + fine / 2 * CORRECTION_HX) 0.5] O [widths.heading 0 fine LEFTWARD]
|
||||
g4 [mix x1 (MIDDLE + fine / 2 * HVCONTRAST) 0.5] O [widths.heading 0 fine LEFTWARD]
|
||||
archv 8
|
||||
g4 x1 y1
|
||||
arcvh
|
||||
|
@ -653,10 +653,10 @@ symbol-block 'omega'
|
|||
archv
|
||||
g4 (WIDTH - x1) y1
|
||||
arcvh 8
|
||||
g4 [mix (WIDTH - x1) (MIDDLE - fine / 2 * CORRECTION_HX) 0.5] O [heading LEFTWARD]
|
||||
g4 [mix (WIDTH - x1) (MIDDLE - fine / 2 * HVCONTRAST) 0.5] O [heading LEFTWARD]
|
||||
archv 8
|
||||
flat (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y3 [widths.heading 0 mfine UPWARD]
|
||||
curl (MIDDLE - (mfine - fine / 2) * CORRECTION_HX) y4 [heading UPWARD]
|
||||
flat (MIDDLE - (mfine - fine / 2) * HVCONTRAST) y3 [widths.heading 0 mfine UPWARD]
|
||||
curl (MIDDLE - (mfine - fine / 2) * HVCONTRAST) y4 [heading UPWARD]
|
||||
|
||||
|
||||
###########################################################################################
|
||||
|
@ -676,17 +676,17 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related'
|
|||
include : dispiro
|
||||
widths.lhs fine
|
||||
flat (left + STROKE * 0.2) 0 [heading RIGHTWARD]
|
||||
curl ([Math.max (left + fine * CORRECTION_HX) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] + CORRECTION_OMIDX * fine) 0
|
||||
curl ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] + CORRECTION_OMIDX * fine) 0
|
||||
archv 8
|
||||
g4 (right - OX) turnbottom
|
||||
arcvh 8
|
||||
flat ([Math.max (left + fine * CORRECTION_HX) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] - CORRECTION_OMIDX * fine) bowl
|
||||
flat ([Math.max (left + fine * HVCONTRAST) (right - turnRadius * [Math.pow ((right - left) / (RIGHTSB - SB)) 0.5])] - CORRECTION_OMIDX * fine) bowl
|
||||
curl (left + STROKE * 0.2) bowl [heading LEFTWARD]
|
||||
include : VBarLeft left 0 top fine
|
||||
if SLAB : begin
|
||||
include : LeftwardBottomSerif left 0 (jut - fine / 2 * CORRECTION_HX)
|
||||
include : LeftwardBottomSerif left 0 (jut - fine / 2 * HVCONTRAST)
|
||||
tag-contour 'serifYeriLB'
|
||||
include : CenterTopSerif (left + fine / 2 * CORRECTION_HX) top jut
|
||||
include : CenterTopSerif (left + fine / 2 * HVCONTRAST) top jut
|
||||
tag-contour 'serifYeriLT'
|
||||
|
||||
define [RevCyrYeriShape top _left _right _fine _jut] : glyph-construction
|
||||
|
@ -710,9 +710,9 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related'
|
|||
curl (right - STROKE * 0.2) bowl [heading RIGHTWARD]
|
||||
include : VBarRight right 0 top fine
|
||||
if SLAB : begin
|
||||
include : RightwardBottomSerif right 0 (jut - fine / 2 * CORRECTION_HX)
|
||||
include : RightwardBottomSerif right 0 (jut - fine / 2 * HVCONTRAST)
|
||||
tag-contour 'serifYeriRB'
|
||||
include : CenterTopSerif (right - fine / 2 * CORRECTION_HX) top jut
|
||||
include : CenterTopSerif (right - fine / 2 * HVCONTRAST) top jut
|
||||
tag-contour 'serifYeriRT'
|
||||
|
||||
create-glyph 'cyrYeri' : glyph-construction
|
||||
|
@ -754,12 +754,12 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related'
|
|||
include : DownwardLeftSerif [mix RIGHTSB SB 0.9] CAP VJUT
|
||||
|
||||
define [CyrYerShape top] : glyph-construction
|
||||
local left : if SLAB ([mix SB RIGHTSB 0.35] - MVERTSTROKE / 2 * CORRECTION_HX) [mix SB RIGHTSB 0.1]
|
||||
local left : if SLAB ([mix SB RIGHTSB 0.35] - MVERTSTROKE / 2 * HVCONTRAST) [mix SB RIGHTSB 0.1]
|
||||
local barleft : mix 0 SB [if SLAB 0.25 0.6]
|
||||
include : CyrYeriShape top left RIGHTSB
|
||||
include : HBarTop barleft (STROKE * 0.1 + left) top
|
||||
if SLAB : begin
|
||||
include : DownwardLeftSerif barleft top VJUT (MVERTSTROKE / CORRECTION_HX)
|
||||
include : DownwardLeftSerif barleft top VJUT (MVERTSTROKE / HVCONTRAST)
|
||||
|
||||
create-glyph 'cyrYer' : glyph-construction
|
||||
assign-unicode 0x42A
|
||||
|
@ -772,11 +772,11 @@ define {CyrYeriShape RevCyrYeriShape} : symbol-block 'CyrYeri-related'
|
|||
include : CyrYerShape XH
|
||||
|
||||
define [CyrYeryShape top] : glyph-construction
|
||||
include : CyrYeriShape top (SB + O) [mix (RIGHTSB - MVERTSTROKE * CORRECTION_HX) (MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX) 0.5] MVERTSTROKE (JUT * 0.75)
|
||||
include : CyrYeriShape top (SB + O) [mix (RIGHTSB - MVERTSTROKE * HVCONTRAST) (MIDDLE + MVERTSTROKE / 2 * HVCONTRAST) 0.5] MVERTSTROKE (JUT * 0.75)
|
||||
include : VBarRight (RIGHTSB - O) 0 top MVERTSTROKE
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (RIGHTSB - O - MVERTSTROKE / 2 * CORRECTION_HX) top (JUT * 0.75)
|
||||
include : CenterBottomSerif (RIGHTSB - O - MVERTSTROKE / 2 * CORRECTION_HX) 0 (JUT * 0.75)
|
||||
include : CenterTopSerif (RIGHTSB - O - MVERTSTROKE / 2 * HVCONTRAST) top (JUT * 0.75)
|
||||
include : CenterBottomSerif (RIGHTSB - O - MVERTSTROKE / 2 * HVCONTRAST) 0 (JUT * 0.75)
|
||||
|
||||
create-glyph 'cyrYery' : glyph-construction
|
||||
assign-unicode 0x42B
|
||||
|
@ -880,7 +880,7 @@ symbol-block 'CyrDe'
|
|||
local topleft : mix cutleft cutright 0.15
|
||||
include : HBarBottom (cutleft - descenderOverflow) (cutright + descenderOverflow) 0
|
||||
include : VBarRight cutright 0 top
|
||||
include : halfXStrand (topleft + STROKE * CORRECTION_HX) top (cutleft + HALFSTROKE * CORRECTION_HX) HALFSTROKE 0.1 0.75 0.5
|
||||
include : halfXStrand (topleft + STROKE * HVCONTRAST) top (cutleft + HALFSTROKE * HVCONTRAST) HALFSTROKE 0.1 0.75 0.5
|
||||
include : VBarLeft (cutleft - descenderOverflow) (-LONGJUT + HALFSTROKE) 0
|
||||
include : VBarRight (cutright + descenderOverflow) (-LONGJUT + HALFSTROKE) 0
|
||||
|
||||
|
@ -905,8 +905,8 @@ symbol-block 'CyrDe'
|
|||
include bMarks
|
||||
include : dispiro
|
||||
widths.lhs (STROKE * CTHINB)
|
||||
flat (RIGHTSB - OX - STROKE * CORRECTION_HX * (1 - CTHINB)) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX - STROKE * CORRECTION_HX * (1 - CTHINB)) (XH - SMALLSMOOTHB)
|
||||
flat (RIGHTSB - OX - STROKE * HVCONTRAST * (1 - CTHINB)) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX - STROKE * HVCONTRAST * (1 - CTHINB)) (XH - SMALLSMOOTHB)
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O) [widths.lhs]
|
||||
archv
|
||||
|
@ -934,7 +934,7 @@ symbol-block 'CyrEl'
|
|||
if SLAB : begin
|
||||
include : RightwardTopSerif cutright top SIDEJUT
|
||||
include : LeftwardTopSerif cutleft top SIDEJUT
|
||||
include : CenterBottomSerif (cutright - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (cutright - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
|
||||
create-glyph 'cyrEl' : glyph-construction
|
||||
assign-unicode 0x41B
|
||||
|
@ -951,7 +951,7 @@ symbol-block 'CyrZhe'
|
|||
local fine : adviceBlackness 3.3
|
||||
local midx : mix SB MIDDLE 0.3
|
||||
define [CyrAngleShape] : glyph-construction
|
||||
local cor CORRECTION_HX
|
||||
local cor HVCONTRAST
|
||||
start-from (SB + O * 4) 0
|
||||
line-to (SB + fine * cor + O * 4) 0
|
||||
line-to (midx + fine * cor) (top / 2)
|
||||
|
@ -1036,9 +1036,9 @@ symbol-block 'CyrChe'
|
|||
flat MIDDLE (bar - HALFSTROKE)
|
||||
curl (RIGHTSB - 1) (bar - HALFSTROKE) [heading RIGHTWARD]
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) top JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * CORRECTION_HX) top JUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) top JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * HVCONTRAST) top JUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
|
||||
create-glyph 'cyrChe' : glyph-construction
|
||||
assign-unicode 0x427
|
||||
|
@ -1068,14 +1068,14 @@ symbol-block 'CyrChe'
|
|||
|
||||
symbol-block 'CyrYu'
|
||||
define [CyrYuShape top sma smb] : glyph-construction
|
||||
local xm : mix (SB + O + MVERTSTROKE * CORRECTION_HX) (RIGHTSB - OX) 0.175
|
||||
local xm : mix (SB + O + MVERTSTROKE * HVCONTRAST) (RIGHTSB - OX) 0.175
|
||||
include : VBarLeft (SB + O) 0 top MVERTSTROKE
|
||||
include : OShape top 0 xm (RIGHTSB - OX) MVERTSTROKE (sma * 0.8) (smb * 0.8)
|
||||
include : HBar (SB + O + 1) xm (top / 2)
|
||||
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) top (JUT * 0.75)
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) 0 (JUT * 0.75)
|
||||
include : CenterTopSerif (SB + O + MVERTSTROKE / 2 * HVCONTRAST) top (JUT * 0.75)
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * HVCONTRAST) 0 (JUT * 0.75)
|
||||
|
||||
create-glyph 'cyrYu' : glyph-construction
|
||||
assign-unicode 0x42E
|
||||
|
@ -1092,10 +1092,10 @@ symbol-block 'CyrLje and CyrNje'
|
|||
local xlefttop : mix SB RIGHTSB 0.075
|
||||
local jut : JUT * 0.72
|
||||
include : LegShape xlefttop [mix SB RIGHTSB 0.025] [mix SB 0 [if SLAB 0.75 0.5]] top 0 MVERTSTROKE
|
||||
include : CyrYeriShape top (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) (RIGHTSB - O) MVERTSTROKE jut
|
||||
include : CyrYeriShape top (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) (RIGHTSB - O) MVERTSTROKE jut
|
||||
include : HBarTop xlefttop MIDDLE top
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif xlefttop top (jut - MVERTSTROKE / 2 * CORRECTION_HX)
|
||||
include : LeftwardTopSerif xlefttop top (jut - MVERTSTROKE / 2 * HVCONTRAST)
|
||||
|
||||
create-glyph 'cyrLje' : glyph-construction
|
||||
assign-unicode 0x409
|
||||
|
@ -1111,11 +1111,11 @@ symbol-block 'CyrLje and CyrNje'
|
|||
local xlefttop : mix SB RIGHTSB 0.075
|
||||
local jut : JUT * 0.72
|
||||
include : VBarLeft SB 0 top MVERTSTROKE
|
||||
include : CyrYeriShape top (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) (RIGHTSB - O) MVERTSTROKE jut
|
||||
include : CyrYeriShape top (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) (RIGHTSB - O) MVERTSTROKE jut
|
||||
include : HBar (SB + MVERTSTROKE * 0.1) MIDDLE (top / 2)
|
||||
if SLAB : begin
|
||||
include : CenterTopSerif (SB + MVERTSTROKE / 2 * CORRECTION_HX) top jut
|
||||
include : CenterBottomSerif (SB + MVERTSTROKE / 2 * CORRECTION_HX) 0 jut
|
||||
include : CenterTopSerif (SB + MVERTSTROKE / 2 * HVCONTRAST) top jut
|
||||
include : CenterBottomSerif (SB + MVERTSTROKE / 2 * HVCONTRAST) 0 jut
|
||||
|
||||
create-glyph 'cyrNje' : glyph-construction
|
||||
assign-unicode 0x40A
|
||||
|
@ -1134,7 +1134,7 @@ symbol-block 'CyrTshe and CyrDje'
|
|||
|
||||
local left : mix SB RIGHTSB 0.15
|
||||
|
||||
include : nShoulder (left + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE
|
||||
include : nShoulder (left + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE
|
||||
include : VBarLeft left 0 CAP
|
||||
include : HBarTop SB [mix left RIGHTSB 0.5] CAP
|
||||
|
||||
|
@ -1146,17 +1146,17 @@ symbol-block 'CyrTshe and CyrDje'
|
|||
|
||||
local left : mix SB RIGHTSB 0.15
|
||||
|
||||
include : nShoulder (left + STROKE * CORRECTION_HX) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + O) SMOOTHA SMOOTHB
|
||||
include : nShoulder (left + STROKE * HVCONTRAST) RIGHTSB SHOULDERFINE XH (HOOK + HALFSTROKE + O) SMOOTHA SMOOTHB
|
||||
include : VBarLeft left 0 CAP
|
||||
include : HBarTop SB [mix left RIGHTSB 0.5] CAP
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) (HOOK + HALFSTROKE + O) [Math.max ((left - RIGHTSB) / 2 + HALFSTROKE) (-HOOK * 1.2)] HOOK
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) (HOOK + HALFSTROKE + O) [Math.max ((left - RIGHTSB) / 2 + HALFSTROKE) (-HOOK * 1.2)] HOOK
|
||||
|
||||
create-glyph 'cyrdje' : glyph-construction
|
||||
assign-unicode 0x452
|
||||
include ifMarks
|
||||
include glyphs.cyrtshe
|
||||
eject-contour 'serifRB'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 (-HOOK * 1.2) HOOK
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * HVCONTRAST) 0 (-HOOK * 1.2) HOOK
|
||||
|
||||
###########################################################################################
|
||||
# UNIFIED LETTERFORMS : OTHER LATIN
|
||||
|
@ -1169,13 +1169,13 @@ symbol-block 'eszet'
|
|||
local l : SB * 1
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 ([mix SB RIGHTSB 0.75] + HALFSTROKE * CORRECTION_HX) (CAP - HOOK)
|
||||
g4 ([mix SB RIGHTSB 0.75] + HALFSTROKE * HVCONTRAST) (CAP - HOOK)
|
||||
hookstart (CAP - O)
|
||||
flat l XH
|
||||
curl l 0 [heading DOWNWARD]
|
||||
local t : mix 0 CAP 0.7
|
||||
local tm : [mix DESCENDER t 0.625] + HALFSTROKE
|
||||
local tl : [mix l RIGHTSB 0.35] + HALFSTROKE * CORRECTION_HX
|
||||
local tl : [mix l RIGHTSB 0.35] + HALFSTROKE * HVCONTRAST
|
||||
include : HBarTop (l + 1) (RIGHTSB - HALFSTROKE * 1.2 - OX) t
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -1274,7 +1274,7 @@ symbol-block 'Digraphs'
|
|||
include : OEShape XH
|
||||
|
||||
define aeepart : glyph-construction
|
||||
local eLeft : MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX + 0.1
|
||||
local eLeft : MIDDLE - MVERTSTROKE / 2 * HVCONTRAST + 0.1
|
||||
local eMiddle : [mix eLeft (RIGHTSB - OX * 2) 0.5] - MVERTSTROKE * globalTransform.yx
|
||||
local barbottom (XH * EBARPOS - HALFSTROKE)
|
||||
|
||||
|
@ -1295,7 +1295,7 @@ symbol-block 'Digraphs'
|
|||
|
||||
define aeapart : glyph-construction
|
||||
local bartop (XH * BARPOS * 1.02 + HALFSTROKE)
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX - 0.1
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * HVCONTRAST - 0.1
|
||||
local lowmiddle : mix (SB + OX * 2) abarRight 0.5
|
||||
local barsmooth : mix SB abarRight 0.7
|
||||
|
||||
|
@ -1317,7 +1317,7 @@ symbol-block 'Digraphs'
|
|||
curl (abarRight - 1) bartop [heading RIGHTWARD]
|
||||
|
||||
define oeopart : glyph-construction
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * HVCONTRAST
|
||||
include : OShape XH 0 (SB + OX) (abarRight + OX) MVERTSTROKE (SMALLSMOOTHA * 0.6) (SMALLSMOOTHB * 0.6)
|
||||
|
||||
|
||||
|
@ -1348,7 +1348,7 @@ symbol-block 'Digraphs'
|
|||
include oeopart
|
||||
include : VBar MIDDLE (XH / 2) CAP MVERTSTROKE
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) CAP SIDEJUT
|
||||
include : LeftwardTopSerif (MIDDLE - MVERTSTROKE / 2 * HVCONTRAST) CAP SIDEJUT
|
||||
|
||||
create-glyph 'qp' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
@ -1395,7 +1395,7 @@ symbol-block 'Digraphs'
|
|||
include capitalMarks
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.'I.straight'
|
||||
apply-transform : Translate (SB - MIDDLE + HALFSTROKE * CORRECTION_HX) 0
|
||||
apply-transform : Translate (SB - MIDDLE + HALFSTROKE * HVCONTRAST) 0
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.'J.shorthook'
|
||||
apply-transform : Translate JBALANCE2 0
|
||||
|
@ -1406,15 +1406,15 @@ symbol-block 'Digraphs'
|
|||
include : create-glyph : glyph-construction
|
||||
include glyphs.'dotlessi.straight' AS_BASE
|
||||
include glyphs.dotAbove
|
||||
apply-transform : Translate (SB * 1.5 - MIDDLE + HALFSTROKE * CORRECTION_HX) 0
|
||||
apply-transform : Translate (SB * 1.5 - MIDDLE + HALFSTROKE * HVCONTRAST) 0
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.'dotlessj.straight' AS_BASE
|
||||
include glyphs.dotAbove
|
||||
apply-transform : Translate (RIGHTSB - SB * 0.5 - MIDDLE - JBALANCE - HALFSTROKE * CORRECTION_HX) 0
|
||||
apply-transform : Translate (RIGHTSB - SB * 0.5 - MIDDLE - JBALANCE - HALFSTROKE * HVCONTRAST) 0
|
||||
|
||||
symbol-block 'Ezh'
|
||||
define [EzhShape top bot pleft hookless] : glyph-construction
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
local cor : 1.2 * HVCONTRAST
|
||||
local yMidBar : mix bot top 0.6
|
||||
local ezhLeft : mix SB RIGHTSB [fallback pleft 0.2]
|
||||
local ezhRight : mix SB RIGHTSB 0.925
|
||||
|
@ -1441,7 +1441,7 @@ symbol-block 'Ezh'
|
|||
include : DownwardLeftSerif SB top VJUT
|
||||
|
||||
define [RevEzhShape top bot pleft hookless] : glyph-construction
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
local cor : 1.2 * HVCONTRAST
|
||||
local yMidBar : mix bot top 0.6
|
||||
local ezhRight : mix RIGHTSB SB [fallback pleft 0.2]
|
||||
local ezhLeft : mix RIGHTSB SB 0.925
|
||||
|
@ -1507,7 +1507,7 @@ symbol-block 'Ezh'
|
|||
flat [mix SB RIGHTSB 0.45] b
|
||||
curl [mix SB RIGHTSB 0.4] b
|
||||
archv
|
||||
g4 (SB + STROKE * CORRECTION_HX) [mix (DESCENDER + STROKE) b 0.5]
|
||||
g4 (SB + STROKE * HVCONTRAST) [mix (DESCENDER + STROKE) b 0.5]
|
||||
arcvh
|
||||
flat [mix SB RIGHTSB 0.4] (DESCENDER + STROKE)
|
||||
curl RIGHTSB (DESCENDER + STROKE)
|
||||
|
@ -1519,7 +1519,7 @@ symbol-block 'Ezh'
|
|||
include : EzhShape XH DESCENDER nothing p
|
||||
local fine : adviceBlackness 3
|
||||
local rinner : (XH * 0.4 - fine * 1.5) / 2
|
||||
local m1 : RIGHTSB - STROKE * CORRECTION_HX
|
||||
local m1 : RIGHTSB - STROKE * HVCONTRAST
|
||||
local x2 : RIGHTSB - HALFSTROKE
|
||||
local y2 DESCENDER
|
||||
include : dispiro
|
||||
|
@ -1537,8 +1537,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart CAPO
|
||||
g4 RIGHTSB (CAP - [adviceGlottalStopSmooth CAP 1])
|
||||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE - HALFSTROKE * HVCONTRAST) (XH * 0.3) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
|
@ -1551,8 +1551,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart CAPO
|
||||
g4 SB (CAP - [adviceGlottalStopSmooth CAP (-1)])
|
||||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE + HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths 0 STROKE]
|
||||
curl (MIDDLE + HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE + HALFSTROKE * HVCONTRAST) (XH * 0.3) [widths 0 STROKE]
|
||||
curl (MIDDLE + HALFSTROKE * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
|
@ -1565,8 +1565,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart XO
|
||||
g4 RIGHTSB (XH - [adviceGlottalStopSmooth XH 1]) [heading DOWNWARD]
|
||||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX) (XH * 0.15) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE - HALFSTROKE * HVCONTRAST) (XH * 0.15) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
|
@ -1580,8 +1580,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart XO
|
||||
g4 SB (XH - smooth)
|
||||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE + HALFSTROKE * CORRECTION_HX) (XH * 0.15) [widths 0 STROKE]
|
||||
curl (MIDDLE + HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE + HALFSTROKE * HVCONTRAST) (XH * 0.15) [widths 0 STROKE]
|
||||
curl (MIDDLE + HALFSTROKE * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
include : HOverlayBar (MIDDLE - LONGJUT * 0.6) (MIDDLE + LONGJUT * 0.6) (XH * 0.25)
|
||||
include : FlipAround MIDDLE (XH / 2)
|
||||
|
||||
|
@ -1594,8 +1594,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart CAPO
|
||||
g4 RIGHTSB (CAP - [adviceGlottalStopSmooth CAP 1])
|
||||
alsothru 0.5 0.45 [widths markHalfStroke markHalfStroke]
|
||||
flat (MIDDLE - fine / 2 * CORRECTION_HX) (XH * 0.3) [widths fine 0]
|
||||
curl (MIDDLE - fine / 2 * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE - fine / 2 * HVCONTRAST) (XH * 0.3) [widths fine 0]
|
||||
curl (MIDDLE - fine / 2 * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT fine
|
||||
|
||||
|
@ -1608,8 +1608,8 @@ symbol-block 'Glottal stop'
|
|||
hookstart CAPO
|
||||
g4 SB (CAP - [adviceGlottalStopSmooth CAP (-1)])
|
||||
alsothru 0.5 0.45 [widths markHalfStroke markHalfStroke]
|
||||
flat (MIDDLE + fine / 2 * CORRECTION_HX) (XH * 0.3) [widths 0 fine]
|
||||
curl (MIDDLE + fine / 2 * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE + fine / 2 * HVCONTRAST) (XH * 0.3) [widths 0 fine]
|
||||
curl (MIDDLE + fine / 2 * HVCONTRAST) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT fine
|
||||
alias 'capglottalstop' 0x241 'glottalstop'
|
||||
|
@ -1664,8 +1664,8 @@ symbol-block 'Thorn'
|
|||
|
||||
include : VBarLeft (SB * 1.25) 0 CAP
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB * 1.25 + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (SB * 1.25 + HALFSTROKE * CORRECTION_HX) CAP JUT
|
||||
include : CenterBottomSerif (SB * 1.25 + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
include : CenterTopSerif (SB * 1.25 + HALFSTROKE * HVCONTRAST) CAP JUT
|
||||
|
||||
create-glyph 'thorn' : glyph-construction
|
||||
assign-unicode 0xFE
|
||||
|
@ -1686,43 +1686,43 @@ symbol-block 'Hwair'
|
|||
include : HBar SB MIDDLE (CAP / 2)
|
||||
include : dispiro
|
||||
widths.lhs MVERTSTROKE
|
||||
flat (MIDDLE - MVERTSTROKE * 0.5 * CORRECTION_HX) CAP [heading DOWNWARD]
|
||||
curl (MIDDLE - MVERTSTROKE * 0.5 * CORRECTION_HX) (SMALLSMOOTHB * 0.6)
|
||||
flat (MIDDLE - MVERTSTROKE * 0.5 * HVCONTRAST) CAP [heading DOWNWARD]
|
||||
curl (MIDDLE - MVERTSTROKE * 0.5 * HVCONTRAST) (SMALLSMOOTHB * 0.6)
|
||||
arcvh
|
||||
g4 [mix (MIDDLE - MVERTSTROKE * 0.5 * CORRECTION_HX) (RIGHTSB - O) 0.5] O [heading RIGHTWARD]
|
||||
g4 [mix (MIDDLE - MVERTSTROKE * 0.5 * HVCONTRAST) (RIGHTSB - O) 0.5] O [heading RIGHTWARD]
|
||||
archv
|
||||
flat (RIGHTSB - O) (SMALLSMOOTHA * 0.6)
|
||||
curl (RIGHTSB - O) XH [heading UPWARD]
|
||||
if SLAB : begin
|
||||
local jut : JUT * 0.75
|
||||
include : CenterTopSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) CAP jut
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) 0 jut
|
||||
include : CenterTopSerif (SB + O + MVERTSTROKE / 2 * HVCONTRAST) CAP jut
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * HVCONTRAST) 0 jut
|
||||
include : CenterTopSerif MIDDLE CAP jut
|
||||
|
||||
create-glyph 'hwair' : glyph-construction
|
||||
assign-unicode 0x195
|
||||
include : VBarLeft (SB + O) 0 CAP MVERTSTROKE
|
||||
include : dispiro
|
||||
nShoulderKnots (SB + O + MVERTSTROKE * CORRECTION_HX) (MIDDLE + MVERTSTROKE * 0.5 * CORRECTION_HX) (MVERTSTROKE * 0.4) nothing (XH * 0.51) (SMALLSMOOTHA * 0.6) (SMALLSMOOTHB * 0.6) MVERTSTROKE
|
||||
flat (MIDDLE + MVERTSTROKE * 0.5 * CORRECTION_HX) (XH * 0.5) [heading DOWNWARD]
|
||||
curl (MIDDLE + MVERTSTROKE * 0.5 * CORRECTION_HX) (SMALLSMOOTHB * 0.6)
|
||||
nShoulderKnots (SB + O + MVERTSTROKE * HVCONTRAST) (MIDDLE + MVERTSTROKE * 0.5 * HVCONTRAST) (MVERTSTROKE * 0.4) nothing (XH * 0.51) (SMALLSMOOTHA * 0.6) (SMALLSMOOTHB * 0.6) MVERTSTROKE
|
||||
flat (MIDDLE + MVERTSTROKE * 0.5 * HVCONTRAST) (XH * 0.5) [heading DOWNWARD]
|
||||
curl (MIDDLE + MVERTSTROKE * 0.5 * HVCONTRAST) (SMALLSMOOTHB * 0.6)
|
||||
arcvh
|
||||
g4 [mix (MIDDLE - MVERTSTROKE * 0.5 * CORRECTION_HX) (RIGHTSB - O) 0.5] O [widths.heading MVERTSTROKE 0 RIGHTWARD]
|
||||
g4 [mix (MIDDLE - MVERTSTROKE * 0.5 * HVCONTRAST) (RIGHTSB - O) 0.5] O [widths.heading MVERTSTROKE 0 RIGHTWARD]
|
||||
archv
|
||||
flat (RIGHTSB - O) (SMALLSMOOTHA * 0.6)
|
||||
curl (RIGHTSB - O) XH [heading UPWARD]
|
||||
if SLAB : begin
|
||||
local jut : JUT * 0.75
|
||||
include : LeftwardTopSerif (SB + O) CAP (jut - MVERTSTROKE / 2 * CORRECTION_HX)
|
||||
include : LeftwardTopSerif (SB + O) CAP (jut - MVERTSTROKE / 2 * HVCONTRAST)
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) 0 jut
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * HVCONTRAST) 0 jut
|
||||
tag-contour 'serifLB'
|
||||
|
||||
symbol-block 'Gha'
|
||||
create-glyph 'Gha' : glyph-construction
|
||||
assign-unicode 0x1A2
|
||||
include capitalMarks
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * HVCONTRAST
|
||||
include : OShape CAP 0 (SB + O) abarRight MVERTSTROKE (SMALLSMOOTHA * 0.6) (SMALLSMOOTHB * 0.6)
|
||||
include : VBarRight (RIGHTSB - O * 2) DESCENDER CAP MVERTSTROKE
|
||||
include : dispiro
|
||||
|
@ -1730,13 +1730,13 @@ symbol-block 'Gha'
|
|||
flat MIDDLE (CAP - SMALLSMOOTHB * 0.6) [heading RIGHTWARD]
|
||||
curl (MIDDLE + 1) (CAP - SMALLSMOOTHB * 0.6) [heading RIGHTWARD]
|
||||
alsothru 0.5 0.15
|
||||
g4 (RIGHTSB - O * 2 - MVERTSTROKE * CORRECTION_HX) CAP [widths 0 MVERTSTROKE]
|
||||
g4 (RIGHTSB - O * 2 - MVERTSTROKE * HVCONTRAST) CAP [widths 0 MVERTSTROKE]
|
||||
|
||||
|
||||
create-glyph 'gha' : glyph-construction
|
||||
assign-unicode 0x1A3
|
||||
include pMarks
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * CORRECTION_HX
|
||||
local abarRight : MIDDLE + MVERTSTROKE / 2 * HVCONTRAST
|
||||
include : OShape XH 0 (SB + O) abarRight MVERTSTROKE (SMALLSMOOTHA * 0.6) (SMALLSMOOTHB * 0.6)
|
||||
include : VBarRight (RIGHTSB - O * 2) DESCENDER XH MVERTSTROKE
|
||||
include : dispiro
|
||||
|
@ -1744,7 +1744,7 @@ symbol-block 'Gha'
|
|||
flat MIDDLE (XH - SMALLSMOOTHB * 0.6) [heading RIGHTWARD]
|
||||
curl (MIDDLE + 1) (XH - SMALLSMOOTHB * 0.6) [heading RIGHTWARD]
|
||||
alsothru 0.5 0.15
|
||||
g4 (RIGHTSB - O * 2 - MVERTSTROKE * CORRECTION_HX) XH [widths 0 MVERTSTROKE]
|
||||
g4 (RIGHTSB - O * 2 - MVERTSTROKE * HVCONTRAST) XH [widths 0 MVERTSTROKE]
|
||||
|
||||
symbol-block 'Wynn'
|
||||
define [WynnShape bot top] : glyph-construction
|
||||
|
@ -1755,7 +1755,7 @@ symbol-block 'Wynn'
|
|||
g4 MIDDLE (top - O)
|
||||
archv
|
||||
g4 (RIGHTSB - O) [mix bot top 0.7]
|
||||
g4 (SB + STROKE * CORRECTION_HX) [mix bot top 0.1]
|
||||
g4 (SB + STROKE * HVCONTRAST) [mix bot top 0.1]
|
||||
|
||||
create-glyph 'Wynn' : glyph-construction
|
||||
assign-unicode 0x1F7
|
||||
|
@ -1801,7 +1801,7 @@ symbol-block 'RamsHorn'
|
|||
|
||||
include : dispiro
|
||||
widths.center
|
||||
g4 (SB + HALFSTROKE * CORRECTION_HX + O) top [heading DOWNWARD]
|
||||
g4 (SB + HALFSTROKE * HVCONTRAST + O) top [heading DOWNWARD]
|
||||
quadcontrols 1 0.7 16
|
||||
g4 (MIDDLE + d - hf) (bottom + d * (1 - globalTransform.yx * 0.5)) [widths hf hf]
|
||||
arcvh
|
||||
|
@ -1809,7 +1809,7 @@ symbol-block 'RamsHorn'
|
|||
archv
|
||||
g4 (MIDDLE - d + hf) (bottom + d * (1 + globalTransform.yx * 0.5))
|
||||
quadcontrols 0 0.3 16
|
||||
g4 (RIGHTSB - HALFSTROKE * CORRECTION_HX - O) top [widths.heading HALFSTROKE HALFSTROKE UPWARD]
|
||||
g4 (RIGHTSB - HALFSTROKE * HVCONTRAST - O) top [widths.heading HALFSTROKE HALFSTROKE UPWARD]
|
||||
|
||||
create-glyph 'latingamma' : glyph-construction
|
||||
assign-unicode 0x263
|
||||
|
@ -1835,7 +1835,7 @@ symbol-block 'Rhotic Tail and other phonetic letters'
|
|||
include : dispiro
|
||||
widths.center sw
|
||||
g2 (left) (XH * 0.5)
|
||||
g2 (mid - sw * CORRECTION_HX) (XH * 0.5 + rise) [widths 0 sw]
|
||||
g2 (mid - sw * HVCONTRAST) (XH * 0.5 + rise) [widths 0 sw]
|
||||
include : dispiro
|
||||
widths.rhs sw
|
||||
flat mid (XH * 0.5 + rise) [heading DOWNWARD]
|
||||
|
@ -1846,19 +1846,19 @@ symbol-block 'Rhotic Tail and other phonetic letters'
|
|||
|
||||
create-glyph 'rhotichook' : glyph-construction
|
||||
assign-unicode 0x2DE
|
||||
include : ErTail (-STROKE * CORRECTION_HX) STROKE true
|
||||
include : ErTail (-STROKE * HVCONTRAST) STROKE true
|
||||
|
||||
if [not recursive] : let [thinfont : Widen {'schwa' 'revlatinepsilon'} 0.85 1] : begin
|
||||
create-glyph 'er' : glyph-construction
|
||||
assign-unicode 0x25A
|
||||
include eMarks
|
||||
include thinfont.schwa
|
||||
include : ErTail (WIDTH * 0.85 - SB - markFine * CORRECTION_HX)
|
||||
include : ErTail (WIDTH * 0.85 - SB - markFine * HVCONTRAST)
|
||||
create-glyph 'revlatinepsiloner' : glyph-construction
|
||||
assign-unicode 0x25D
|
||||
include eMarks
|
||||
include thinfont.revlatinepsilon
|
||||
include : ErTail (WIDTH * 0.85 - SB - markFine * CORRECTION_HX)
|
||||
include : ErTail (WIDTH * 0.85 - SB - markFine * HVCONTRAST)
|
||||
|
||||
create-glyph 'bidentalpercussive' : glyph-construction
|
||||
assign-unicode 0x2AD
|
||||
|
|
|
@ -31,7 +31,7 @@ symbol-block "Numbers"
|
|||
|
||||
include : VBar (MIDDLE + ONEBALANCE) 0 CAP
|
||||
include : dispiro
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX + ONEBALANCE) CAP [widths STROKE 0]
|
||||
flat (MIDDLE - HALFSTROKE * HVCONTRAST + ONEBALANCE) CAP [widths STROKE 0]
|
||||
curl (MIDDLE - HOOKX * 1.25 + ONEBALANCE) (CAP - HOOK * 0.75)
|
||||
|
||||
if SLAB : begin
|
||||
|
@ -89,18 +89,18 @@ symbol-block "Numbers"
|
|||
assign-unicode '4'
|
||||
|
||||
local bar (CAP * 0.4)
|
||||
local vert : [mix SB RIGHTSB 0.825] - CORRECTION_HX * STROKE
|
||||
local vert : [mix SB RIGHTSB 0.825] - HVCONTRAST * STROKE
|
||||
local p 0.25
|
||||
local fine (STROKE * 0.9)
|
||||
|
||||
include : HBarTop (SB + OX) RIGHTSB bar
|
||||
include : VBarLeft vert 0 CAP
|
||||
local slope : (CAP - bar) / (vert - fine * p * CORRECTION_HX - (SB + OX))
|
||||
local slope : (CAP - bar) / (vert - fine * p * HVCONTRAST - (SB + OX))
|
||||
include : dispiro
|
||||
g4 (SB + OX) bar [widths 0 fine]
|
||||
g4 (vert - fine * p * CORRECTION_HX) CAP [widths.heading 0 [Math.hypot fine (fine / slope)] UPWARD]
|
||||
g4 (vert - fine * p * HVCONTRAST) CAP [widths.heading 0 [Math.hypot fine (fine / slope)] UPWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (vert + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (vert + HALFSTROKE * HVCONTRAST) 0 JUT
|
||||
|
||||
|
||||
define [FiveShape top bp] : glyph-construction
|
||||
|
@ -160,7 +160,7 @@ symbol-block "Numbers"
|
|||
include : HBarTop (SB + OXE) RIGHTSB CAP
|
||||
|
||||
local x : mix SB RIGHTSB 0.28
|
||||
local cor : [Math.hypot 1 ((RIGHTSB - x - HALFSTROKE) / (CAP - STROKE))] * CORRECTION_HX
|
||||
local cor : [Math.hypot 1 ((RIGHTSB - x - HALFSTROKE) / (CAP - STROKE))] * HVCONTRAST
|
||||
|
||||
start-from (x - STROKE * cor / 2) 0
|
||||
line-to (x + STROKE * cor / 2) 0
|
||||
|
@ -199,21 +199,21 @@ symbol-block "Numbers"
|
|||
|
||||
# There is an "eight without lower contour" shape used for /propto
|
||||
create-glyph 'rotetedpropto' : glyph-construction
|
||||
local p 0.96
|
||||
local py 0.4
|
||||
local l (SB + OX)
|
||||
local r (RIGHTSB - OX)
|
||||
include : dispiro
|
||||
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 * pr) [widths.rhs]
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (CAP - O)
|
||||
archv
|
||||
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]
|
||||
local p 0.96
|
||||
local py 0.4
|
||||
local l (SB + OX)
|
||||
local r (RIGHTSB - OX)
|
||||
include : dispiro
|
||||
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 * pr) [widths.rhs]
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (CAP - O)
|
||||
archv
|
||||
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]
|
||||
|
||||
create-glyph 'nine' : glyph-construction
|
||||
include capitalMarks
|
||||
|
@ -227,8 +227,8 @@ symbol-block "Numbers"
|
|||
local ymiddlea : mix u d 0.5
|
||||
include : dispiro
|
||||
widths.rhs (STROKE * CTHINB)
|
||||
flat (r - STROKE * (1 - CTHINB) * CORRECTION_HX) ymiddlea
|
||||
curl (r - STROKE * (1 - CTHINB) * CORRECTION_HX) (d + SMALLSMOOTHA)
|
||||
flat (r - STROKE * (1 - CTHINB) * HVCONTRAST) ymiddlea
|
||||
curl (r - STROKE * (1 - CTHINB) * HVCONTRAST) (d + SMALLSMOOTHA)
|
||||
arcvh
|
||||
g4 ([mix l r 0.5] + CORRECTION_OMIDS) (d + O) [widths 0 STROKE]
|
||||
archv
|
||||
|
|
|
@ -199,7 +199,7 @@ symbol-block 'Above marks'
|
|||
local hookTop ([mix aboveMarkBot aboveMarkTop 0.9] + fine / 2)
|
||||
include : dispiro
|
||||
widths.lhs (fine * 2)
|
||||
flat (markMiddle - fine * CORRECTION_HX) hookBot [heading RIGHTWARD]
|
||||
flat (markMiddle - fine * HVCONTRAST) hookBot [heading RIGHTWARD]
|
||||
curl (markMiddle + fine * 0.4) hookBot [heading RIGHTWARD]
|
||||
archv
|
||||
g4.up.mid (markMiddle + markExtend - O) [mix hookBot hookTop (SMOOTHB / (SMOOTHB + SMOOTHA))] [heading UPWARD]
|
||||
|
@ -382,7 +382,7 @@ symbol-block 'Below marks'
|
|||
local cedillaTop (belowMarkTop + fine * 0.85)
|
||||
local cedillaBot belowMarkBot
|
||||
include : dispiro
|
||||
flat (markMiddle - fine * CORRECTION_HX) cedillaTop [widths.heading 0 (fine * 2) RIGHTWARD]
|
||||
flat (markMiddle - fine * HVCONTRAST) cedillaTop [widths.heading 0 (fine * 2) RIGHTWARD]
|
||||
curl markMiddle cedillaTop [heading RIGHTWARD]
|
||||
archv
|
||||
g4 (markMiddle + markExtend - O) [mix cedillaTop cedillaBot 0.5] [heading DOWNWARD]
|
||||
|
@ -752,9 +752,9 @@ symbol-block 'Corner marks'
|
|||
widths.rhs
|
||||
flat 0 (-O) [heading DOWNWARD]
|
||||
curl 0 0 [heading DOWNWARD]
|
||||
straight.right.end (HOOKX - HALFSTROKE * CORRECTION_HX) (-HOOK + HALFSTROKE)
|
||||
#flat (HOOKX - HALFSTROKE * CORRECTION_HX - 0.01) (-HOOK + HALFSTROKE)
|
||||
#curl (HOOKX - HALFSTROKE * CORRECTION_HX) (-HOOK + HALFSTROKE)
|
||||
straight.right.end (HOOKX - HALFSTROKE * HVCONTRAST) (-HOOK + HALFSTROKE)
|
||||
#flat (HOOKX - HALFSTROKE * HVCONTRAST - 0.01) (-HOOK + HALFSTROKE)
|
||||
#curl (HOOKX - HALFSTROKE * HVCONTRAST) (-HOOK + HALFSTROKE)
|
||||
|
||||
create-glyph 'ltailBR' : glyph-construction
|
||||
set-width 0
|
||||
|
@ -765,7 +765,7 @@ symbol-block 'Corner marks'
|
|||
widths.rhs
|
||||
flat 0 (-O) [heading DOWNWARD]
|
||||
curl 0 0 [heading DOWNWARD]
|
||||
straight.left.end (-HOOKX - HALFSTROKE * CORRECTION_HX) (-HOOK - HALFSTROKE)
|
||||
straight.left.end (-HOOKX - HALFSTROKE * HVCONTRAST) (-HOOK - HALFSTROKE)
|
||||
|
||||
# Overlay Marks
|
||||
symbol-block 'Overlay Marks'
|
||||
|
|
|
@ -302,7 +302,7 @@ symbol-block 'Box-Drawing'
|
|||
define [dlboxdraw unicode u d l r] : create-glyph ('bd' + [unicode.toString 16 :.toUpperCase]) : glyph-construction
|
||||
assign-unicode unicode
|
||||
set-width width
|
||||
local stopH : [Math.max u d] - light * 1 - light * 0.5 * CORRECTION_HX
|
||||
local stopH : [Math.max u d] - light * 1 - light * 0.5 * HVCONTRAST
|
||||
local stopV : [Math.max l r] - light * 1.5
|
||||
local capH : [Math.max u d] - light * 1
|
||||
local capV : [Math.max l r] - light * 1
|
||||
|
@ -318,8 +318,8 @@ symbol-block 'Box-Drawing'
|
|||
if u : begin
|
||||
include : VBar (midx + (u - light)) (midy + stopV) font.hhea.ascent light
|
||||
if (u > light) : include : VBar (midx - (u - light)) (midy + stopV) font.hhea.ascent light
|
||||
if (stopH > 0 && [not u]) : include : HBar (midx - stopH - light * CORRECTION_HX) (midx + stopH + light * CORRECTION_HX) (midy + capV) light
|
||||
if (stopH > 0 && [not d]) : include : HBar (midx - stopH - light * CORRECTION_HX) (midx + stopH + light * CORRECTION_HX) (midy - capV) light
|
||||
if (stopH > 0 && [not u]) : include : HBar (midx - stopH - light * HVCONTRAST) (midx + stopH + light * HVCONTRAST) (midy + capV) light
|
||||
if (stopH > 0 && [not d]) : include : HBar (midx - stopH - light * HVCONTRAST) (midx + stopH + light * HVCONTRAST) (midy - capV) light
|
||||
if (stopV > 0 && [not l]) : include : VBar (midx - capH) (midy - stopV - light) (midy + stopV + light) light
|
||||
if (stopV > 0 && [not r]) : include : VBar (midx + capH) (midy - stopV - light) (midy + stopV + light) light
|
||||
define [complexBoxDraw unicodeStart U D L R fn dl] : begin
|
||||
|
|
|
@ -73,7 +73,7 @@ symbol-block 'Currency'
|
|||
create-glyph 'frenchFranc' : glyph-construction
|
||||
assign-unicode 0x20A3
|
||||
include glyphs.F
|
||||
include : HOverlayBar (SB * 0.5) (SB * 3 + STROKE * CORRECTION_HX) [mix 0 XH 0.4]
|
||||
include : HOverlayBar (SB * 0.5) (SB * 3 + STROKE * HVCONTRAST) [mix 0 XH 0.4]
|
||||
|
||||
create-glyph 'peseta' : glyph-construction
|
||||
assign-unicode 0x20A7
|
||||
|
|
|
@ -6,7 +6,7 @@ symbol-block 'Letter-like Mathematical Symbols'
|
|||
assign-unicode 0xB5
|
||||
include glyphs.mu AS_BASE
|
||||
if SLAB : if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * HVCONTRAST) DESCENDER JUT
|
||||
tag-contour 'serifLB'
|
||||
create-glyph 'forall' : glyph-construction
|
||||
assign-unicode 0x2200
|
||||
|
|
|
@ -187,7 +187,7 @@ symbol-block 'Emotion Punctuations'
|
|||
hookstart CAPO
|
||||
g4 RIGHTSB (CAP - SMOOTHB * 0.9)
|
||||
alsothru 0.5 0.45 [widths.center ESSQUESTION]
|
||||
straight.down.end (MIDDLE - HALFSTROKE * CORRECTION_HX) questionBottom [widths STROKE 0]
|
||||
straight.down.end (MIDDLE - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0]
|
||||
create-glyph 'dwquestion' : glyph-construction
|
||||
set-width UPM
|
||||
assign-unicode 0xFF1F
|
||||
|
@ -198,7 +198,7 @@ symbol-block 'Emotion Punctuations'
|
|||
hookstart CAPO
|
||||
g4 (UPM * 0.75) (CAP - SMOOTHB * 0.9)
|
||||
alsothru 0.5 0.45 [widths.center ESSQUESTION]
|
||||
straight.down.end (UPM / 2 - HALFSTROKE * CORRECTION_HX) questionBottom [widths STROKE 0]
|
||||
straight.down.end (UPM / 2 - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0]
|
||||
|
||||
create-glyph 'questionDown' : glyph-construction
|
||||
assign-unicode 0xBF
|
||||
|
@ -266,18 +266,18 @@ symbol-block 'Typographic Symbols'
|
|||
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat (RIGHTSB - O - STROKE * CORRECTION_HX) CAPMIDDLE [heading DOWNWARD]
|
||||
curl (RIGHTSB - O - STROKE * CORRECTION_HX) (SMOOTHA + CORRECTION_HX * CORRECTION_VS)
|
||||
flat (RIGHTSB - O - STROKE * HVCONTRAST) CAPMIDDLE [heading DOWNWARD]
|
||||
curl (RIGHTSB - O - STROKE * HVCONTRAST) (SMOOTHA + HVCONTRAST * CORRECTION_VS)
|
||||
arcvh
|
||||
g4 MIDDLE (O + fine) [widths fine 0]
|
||||
archv
|
||||
g4 (SB + O + fine * CORRECTION_HX) (SMOOTHB - CORRECTION_HX * CORRECTION_VS)
|
||||
g4 (SB + O + fine * HVCONTRAST) (SMOOTHB - HVCONTRAST * CORRECTION_VS)
|
||||
alsothru 0.5 0.5 [widths.center (fine * ESS / STROKE)]
|
||||
g4 ([mix SB RIGHTSB p] - fine * CORRECTION_HX) (CAP - SMOOTHB * pr * rr + CORRECTION_HX * CORRECTION_VS * (fine / STROKE)) [widths 0 fine]
|
||||
g4 ([mix SB RIGHTSB p] - fine * HVCONTRAST) (CAP - SMOOTHB * pr * rr + HVCONTRAST * CORRECTION_VS * (fine / STROKE)) [widths 0 fine]
|
||||
arcvh
|
||||
g4 ([mix SB RIGHTSB [mix p l 0.5]] - CORRECTION_OMIDS + CORRECTION_VS) (CAPO - fine)
|
||||
archv
|
||||
g4 ([mix SB RIGHTSB l] + fine * CORRECTION_HX) (CAP - SMOOTHA * pr - CORRECTION_HX * CORRECTION_VS * (fine / STROKE))
|
||||
g4 ([mix SB RIGHTSB l] + fine * HVCONTRAST) (CAP - SMOOTHA * pr - HVCONTRAST * CORRECTION_VS * (fine / STROKE))
|
||||
alsothru 0.5 0.45 [lambda]
|
||||
flat [mix SB RIGHTSB r] (SMOOTHA * s)
|
||||
curl [mix SB RIGHTSB r] ((SMOOTHA * s) - 1)
|
||||
|
@ -383,7 +383,7 @@ symbol-block 'Typographic Symbols'
|
|||
set-width WIDTH
|
||||
assign-unicode '/'
|
||||
|
||||
local cor : CORRECTION_HX / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (parenTop - parenBot)) 2])]
|
||||
local cor : HVCONTRAST / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (parenTop - parenBot)) 2])]
|
||||
|
||||
start-from SB parenBot
|
||||
line-to (SB + STROKE * cor) parenBot
|
||||
|
@ -395,7 +395,7 @@ symbol-block 'Typographic Symbols'
|
|||
set-width WIDTH
|
||||
assign-unicode "\\"
|
||||
|
||||
local cor : CORRECTION_HX / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (parenTop - parenBot)) 2])]
|
||||
local cor : HVCONTRAST / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (parenTop - parenBot)) 2])]
|
||||
|
||||
start-from SB parenTop
|
||||
line-to (SB + STROKE * cor) parenTop
|
||||
|
@ -686,7 +686,7 @@ symbol-block 'Percentages'
|
|||
set-width WIDTH
|
||||
assign-unicode '%'
|
||||
local dotwidth ([adviceBlackness 4] * 1.5)
|
||||
local cor : CORRECTION_HX / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (CAP - 0)) 2])]
|
||||
local cor : HVCONTRAST / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (CAP - 0)) 2])]
|
||||
|
||||
start-from SB 0
|
||||
line-to (SB + STROKE * cor) 0
|
||||
|
|
|
@ -31,7 +31,6 @@ MAPS = $(subst .ttf,.charmap,$(TARGETS))
|
|||
FDTS = $(subst .ttf,.fdt,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS)))
|
||||
SVG0 = $(subst .ttf,.svg,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS)))
|
||||
|
||||
PASS0 = $(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS))
|
||||
ABFEAT = $(subst .ttf,.ab.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(TARGETS)))
|
||||
FEATURE = $(subst .ttf,.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(UPRIGHT) $(EXTUPRG)))
|
||||
FEATITA = $(subst .ttf,.fea,$(subst $(OBJDIR)/,$(OBJDIR)/.pass0-,$(ITALIC) $(EXTITAL)))
|
||||
|
@ -84,8 +83,6 @@ $(OBJDIR)/.pass0-$(PREFIX)-heavy.fdt : $(SCRIPTS) | $(OBJDIR)
|
|||
$(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 $@ $<
|
||||
$(SVG0) : $(OBJDIR)/.pass0-%.svg : $(OBJDIR)/.pass0-%.fdt
|
||||
$(NODE) extract --uprightify 1 --svg $@ $<
|
||||
$(ABFEAT) : $(OBJDIR)/.pass0-%.ab.fea : $(OBJDIR)/.pass0-%.fdt
|
||||
|
|
|
@ -36,8 +36,9 @@ font.simplify(0.2, ("smoothcurves", "choosehv"), 0.1)
|
|||
|
||||
#font.em = 2000
|
||||
font.layers["Fore"].is_quadratic = True
|
||||
font.simplify(0.1, ("smoothcurves", "choosehv"), 0.1)
|
||||
font.transform(psMat.skew(float(sys.argv[3]) / 180 * math.pi))
|
||||
#font.em = 1000
|
||||
font.em = 1000
|
||||
|
||||
font.canonicalContours()
|
||||
font.canonicalStart()
|
||||
|
|
Loading…
Reference in New Issue
Block a user