Revamp the weight grades
|
@ -33,7 +33,7 @@ glyph-block Autobuild-Enclosure-Shared : begin
|
||||||
local rs : new Set
|
local rs : new Set
|
||||||
local gniPart : fnBuildup gidPart
|
local gniPart : fnBuildup gidPart
|
||||||
local grs : AnyDerivingCv.query [query-glyph gidPart]
|
local grs : AnyDerivingCv.query [query-glyph gidPart]
|
||||||
if grs : foreach gr [items-of grs] : begin
|
if (para.enableCvSs && grs) : foreach gr [items-of grs] : begin
|
||||||
local relatedGidPart : gr.get [query-glyph gidPart]
|
local relatedGidPart : gr.get [query-glyph gidPart]
|
||||||
local gniRelated : fnBuildup relatedGidPart
|
local gniRelated : fnBuildup relatedGidPart
|
||||||
if [query-glyph gniPart] : begin
|
if [query-glyph gniPart] : begin
|
||||||
|
@ -54,7 +54,7 @@ glyph-block Autobuild-Enclosure-Shared : begin
|
||||||
local restInfo : demand.slice 2
|
local restInfo : demand.slice 2
|
||||||
local origJobGlyphGn : CircName unicode prefix parts suffix
|
local origJobGlyphGn : CircName unicode prefix parts suffix
|
||||||
|
|
||||||
local demandDecomposable globallyDecomposable
|
local demandDecomposable : para.enableCvSs && globallyDecomposable
|
||||||
foreach part [items-of parts] : if [query-glyph part] : begin
|
foreach part [items-of parts] : if [query-glyph part] : begin
|
||||||
local g : query-glyph part
|
local g : query-glyph part
|
||||||
local relatedGlyphs : AnyDerivingCv.query g
|
local relatedGlyphs : AnyDerivingCv.query g
|
||||||
|
@ -66,12 +66,14 @@ glyph-block Autobuild-Enclosure-Shared : begin
|
||||||
local jobsRel : if demandDecomposable decomposableRelJobs nonDecomposable
|
local jobsRel : if demandDecomposable decomposableRelJobs nonDecomposable
|
||||||
|
|
||||||
jobsOrig.push { origJobGlyphGn unicode parts :: restInfo }
|
jobsOrig.push { origJobGlyphGn unicode parts :: restInfo }
|
||||||
local mesh : getGrMesh parts AnyDerivingCv query-glyph
|
if para.enableCvSs : begin
|
||||||
foreach {gr fromParts toParts} [items-of mesh] : do
|
local mesh : getGrMesh parts AnyDerivingCv query-glyph
|
||||||
local fromGn : CircNameNoCheck unicode prefix fromParts suffix
|
foreach {gr fromParts toParts} [items-of mesh] : do
|
||||||
local toGn : CircName unicode prefix toParts suffix
|
local fromGn : CircNameNoCheck unicode prefix fromParts suffix
|
||||||
jobsRel.push { toGn null toParts :: restInfo }
|
local toGn : CircName unicode prefix toParts suffix
|
||||||
if [not demandDecomposable] : relApplications.push : list gr fromGn toGn
|
jobsRel.push { toGn null toParts :: restInfo }
|
||||||
|
if [not demandDecomposable] : relApplications.push { gr fromGn toGn }
|
||||||
|
|
||||||
return : object nonDecomposable decomposableJobs decomposableRelJobs relApplications
|
return : object nonDecomposable decomposableJobs decomposableRelJobs relApplications
|
||||||
|
|
||||||
glyph-block-export CreateDerivedFontFromJobs
|
glyph-block-export CreateDerivedFontFromJobs
|
||||||
|
@ -1047,17 +1049,17 @@ glyph-block Autobuild-Pnonetic-Ligatures : if [not recursive] : begin
|
||||||
foreach [{unicode c1 c2 mak} : items-of records] : begin
|
foreach [{unicode c1 c2 mak} : items-of records] : begin
|
||||||
local glyphName : PhoneticLigatureGlyphName c1 c2
|
local glyphName : PhoneticLigatureGlyphName c1 c2
|
||||||
|
|
||||||
define [maskOut] : new-glyph : glyph-proc
|
local maskOuts {}
|
||||||
local s 0
|
local s 0
|
||||||
local step (-OX)
|
local step (-OX)
|
||||||
local dist (Stroke * 2)
|
local dist (Stroke * 2)
|
||||||
define dfg1 : df1.queryByNameEnsured c1
|
while (s < dist) : do
|
||||||
define dfg2 : df2.queryByNameEnsured c2
|
maskOuts.push : new-glyph : glyph-proc
|
||||||
while (s < dist) : begin
|
define dfg1 : df1.queryByNameEnsured c1
|
||||||
|
define dfg2 : df2.queryByNameEnsured c2
|
||||||
include dfg2
|
include dfg2
|
||||||
include : Translate step 0
|
include : Translate (s + dfg1.advanceWidth * wadj1 - kern) 0
|
||||||
set s : s + step
|
set s : s + step
|
||||||
include : Translate (dfg1.advanceWidth * wadj1 - kern) 0
|
|
||||||
|
|
||||||
create-glyph glyphName unicode : glyph-proc
|
create-glyph glyphName unicode : glyph-proc
|
||||||
set-width CWidth
|
set-width CWidth
|
||||||
|
@ -1068,11 +1070,9 @@ glyph-block Autobuild-Pnonetic-Ligatures : if [not recursive] : begin
|
||||||
local refW : sumChildrenWidth - kern
|
local refW : sumChildrenWidth - kern
|
||||||
include dfg2
|
include dfg2
|
||||||
include : Translate (dfg1.advanceWidth * wadj1 - kern) 0
|
include : Translate (dfg1.advanceWidth * wadj1 - kern) 0
|
||||||
include : difference
|
local leftHalf : intersection dfg1
|
||||||
intersection
|
Rect (CAP * 2) (Descender * 2) (-CWidth) (dfg1.advanceWidth * wadj1 - kern + dfg2.advanceWidth * wadj2 / 2)
|
||||||
Rect (CAP * 2) (Descender * 2) (-CWidth) (dfg1.advanceWidth * wadj1 - kern + dfg2.advanceWidth * wadj2 / 2)
|
include : difference.apply null { leftHalf :: maskOuts}
|
||||||
glyph-proc : include dfg1
|
|
||||||
maskOut
|
|
||||||
include : Upright
|
include : Upright
|
||||||
include : Translate (-refW / 2) 0
|
include : Translate (-refW / 2) 0
|
||||||
include : Scale [clamp 0 1 ((CWidth - SB * 1.25) / (CWidth - SB * 2) * CWidth / refW)] 1
|
include : Scale [clamp 0 1 ((CWidth - SB * 1.25) / (CWidth - SB * 2) * CWidth / refW)] 1
|
||||||
|
|
|
@ -74,7 +74,7 @@ export all : define [buildGlyphs para recursive recursiveCodes] : begin
|
||||||
glyphObject.setWidth Width
|
glyphObject.setWidth Width
|
||||||
glyphObject.gizmo = GlobalTransform
|
glyphObject.gizmo = GlobalTransform
|
||||||
glyphObject.include actions true true
|
glyphObject.include actions true true
|
||||||
warnAboutBrokenGlyph glyphObject ensuredGlyphName
|
warnAboutBrokenGlyph glyphObject ensuredGlyphName saveGlyphName
|
||||||
|
|
||||||
if saveGlyphName : begin
|
if saveGlyphName : begin
|
||||||
if (saveGlyphName.0 != '.' && [glyphStore.queryByName saveGlyphName])
|
if (saveGlyphName.0 != '.' && [glyphStore.queryByName saveGlyphName])
|
||||||
|
@ -86,7 +86,7 @@ export all : define [buildGlyphs para recursive recursiveCodes] : begin
|
||||||
|
|
||||||
return glyphObject
|
return glyphObject
|
||||||
|
|
||||||
define [warnAboutBrokenGlyph g ensuredGlyphName] : begin
|
define [warnAboutBrokenGlyph g ensuredGlyphName saveGlyphName] : begin
|
||||||
local complexity 0
|
local complexity 0
|
||||||
local broken false
|
local broken false
|
||||||
if g.contours : begin
|
if g.contours : begin
|
||||||
|
@ -95,9 +95,10 @@ export all : define [buildGlyphs para recursive recursiveCodes] : begin
|
||||||
if [not : isFinite z.x] : set broken true
|
if [not : isFinite z.x] : set broken true
|
||||||
if [not : isFinite z.y] : set broken true
|
if [not : isFinite z.y] : set broken true
|
||||||
|
|
||||||
if ([not recursive] && (broken || complexity > 0x7fff)) : begin
|
if ([not recursive] && (broken || complexity > 4096)) : begin
|
||||||
console.log 'Possible broken shape found in' ensuredGlyphName 'Complexity' complexity
|
console.log 'Possible broken shape found in' ensuredGlyphName 'Complexity' complexity
|
||||||
console.log 'Family' para.naming.family para.naming.weight para.naming.width para.naming.slope
|
console.log 'Family' para.naming.family para.naming.weight para.naming.width para.naming.slope
|
||||||
|
if saveGlyphName : throw : new Error "Overcomplicated \(saveGlyphName)"
|
||||||
|
|
||||||
define [$assignUnicodeImpl$ g unicode] : begin
|
define [$assignUnicodeImpl$ g unicode] : begin
|
||||||
local u unicode
|
local u unicode
|
||||||
|
|
|
@ -217,7 +217,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
define StdBlend 0.65
|
define StdBlend 0.65
|
||||||
|
|
||||||
define [SmallEpsilonShapeDim top bot blend] : begin
|
define [SmallEpsilonShapeDim top bot blend] : begin
|
||||||
local stroke : adviceBlackness2 2.875 2 (top - bot)
|
local stroke : adviceBlackness2 2 3 (top - bot)
|
||||||
local midx : mix SB RightSB blend
|
local midx : mix SB RightSB blend
|
||||||
local midy : mix bot top OverlayPos
|
local midy : mix bot top OverlayPos
|
||||||
local sma : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothB / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
|
local sma : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothB / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
|
||||||
|
@ -261,7 +261,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
include : SmallEpsilonShape CAP 0 StdBlend Hook
|
include : SmallEpsilonShape CAP 0 StdBlend Hook
|
||||||
|
|
||||||
define [CyrZeShapeDim top bot blend] : begin
|
define [CyrZeShapeDim top bot blend] : begin
|
||||||
local stroke : adviceBlackness2 2.875 2 (top - bot)
|
local stroke : adviceBlackness2 2 3 (top - bot)
|
||||||
local midx : mix RightSB SB blend
|
local midx : mix RightSB SB blend
|
||||||
local midy : mix bot top OverlayPos
|
local midy : mix bot top OverlayPos
|
||||||
local smb : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothA / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
|
local smb : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothA / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
|
||||||
|
|
|
@ -965,7 +965,7 @@ glyph-block Letter-Latin-Lower-A : begin
|
||||||
glyph-block-import Marks : markHalfStroke
|
glyph-block-import Marks : markHalfStroke
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend
|
||||||
|
|
||||||
define ADoubleStoreyStroke : adviceBlackness2 2.875 2 XH
|
define ADoubleStoreyStroke : adviceBlackness2 2 3 XH
|
||||||
define ADoubleStoreySmoothA : SmoothAOf (Smooth * [StrokeWidthBlend 0.9 0.81 ADoubleStoreyStroke]) Width
|
define ADoubleStoreySmoothA : SmoothAOf (Smooth * [StrokeWidthBlend 0.9 0.81 ADoubleStoreyStroke]) Width
|
||||||
define ADoubleStoreySmoothB : SmoothBOf (Smooth * [StrokeWidthBlend 0.9 0.81 ADoubleStoreyStroke]) Width
|
define ADoubleStoreySmoothB : SmoothBOf (Smooth * [StrokeWidthBlend 0.9 0.81 ADoubleStoreyStroke]) Width
|
||||||
|
|
||||||
|
@ -1365,7 +1365,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
|
|
||||||
: else : begin
|
: else : begin
|
||||||
local height : Math.abs (lefty - righty)
|
local height : Math.abs (lefty - righty)
|
||||||
local slabClearance : if slab [adviceBlackness2 3 2 height] 0
|
local slabClearance : if slab [adviceBlackness2 2 3 height] 0
|
||||||
local turnyleft : mix lefty righty [if slab [Math.max turn (slabClearance / height)] turn]
|
local turnyleft : mix lefty righty [if slab [Math.max turn (slabClearance / height)] turn]
|
||||||
local cyleft : mix turnyleft righty tension
|
local cyleft : mix turnyleft righty tension
|
||||||
local straightxleft : mix leftx rightx pStraight
|
local straightxleft : mix leftx rightx pStraight
|
||||||
|
@ -2104,7 +2104,7 @@ glyph-block Letter-Latin-Upper-B : begin
|
||||||
glyph-block-import Letter-Shared-Metrics : BowlXDepth
|
glyph-block-import Letter-Shared-Metrics : BowlXDepth
|
||||||
|
|
||||||
define [BShape] : params [top [barPos 0.52] [topArcShift 0] [topArcInnerShift 0]] : glyph-proc
|
define [BShape] : params [top [barPos 0.52] [topArcShift 0] [topArcInnerShift 0]] : glyph-proc
|
||||||
local stroke : adviceBlackness2 2.875 2 top
|
local stroke : adviceBlackness2 2 3 top
|
||||||
local bowl : top * barPos + stroke * (1 - barPos)
|
local bowl : top * barPos + stroke * (1 - barPos)
|
||||||
local barleft SB
|
local barleft SB
|
||||||
local mockBowlDepth : BowlXDepth top (bowl - stroke) barleft RightSB stroke
|
local mockBowlDepth : BowlXDepth top (bowl - stroke) barleft RightSB stroke
|
||||||
|
@ -2163,7 +2163,7 @@ glyph-block Letter-Latin-Upper-B : begin
|
||||||
include : LeftHook SB CAP
|
include : LeftHook SB CAP
|
||||||
|
|
||||||
define [ItalicCyrveShape top] : glyph-proc
|
define [ItalicCyrveShape top] : glyph-proc
|
||||||
local stroke : adviceBlackness2 2.875 2 top
|
local stroke : adviceBlackness2 2 3 top
|
||||||
local mid : mix RightSB SB 0.65
|
local mid : mix RightSB SB 0.65
|
||||||
local midy : top * HBarPos
|
local midy : top * HBarPos
|
||||||
local smb : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothA / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
|
local smb : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothA / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
|
||||||
|
@ -2189,7 +2189,7 @@ glyph-block Letter-Latin-Upper-B : begin
|
||||||
curl mid (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
|
curl mid (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
|
||||||
|
|
||||||
define [ClosedEpsilonShape top] : glyph-proc
|
define [ClosedEpsilonShape top] : glyph-proc
|
||||||
local stroke : adviceBlackness2 2.875 2 top
|
local stroke : adviceBlackness2 2 3 top
|
||||||
local mid : mix SB RightSB 0.65
|
local mid : mix SB RightSB 0.65
|
||||||
local midy : top * HBarPos
|
local midy : top * HBarPos
|
||||||
local sma : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothB / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
|
local sma : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothB / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
|
||||||
|
@ -2236,7 +2236,7 @@ glyph-block Letter-Latin-Upper-B : begin
|
||||||
|
|
||||||
create-glyph 'Bbar' 0x243 : glyph-proc
|
create-glyph 'Bbar' 0x243 : glyph-proc
|
||||||
include [refer-glyph 'B'] AS_BASE
|
include [refer-glyph 'B'] AS_BASE
|
||||||
local stroke : adviceBlackness2 2.875 2 CAP
|
local stroke : adviceBlackness2 2 3 CAP
|
||||||
include : HOverlayBar
|
include : HOverlayBar
|
||||||
mix SB 0 0.7
|
mix SB 0 0.7
|
||||||
mix SB RightSB 0.5
|
mix SB RightSB 0.5
|
||||||
|
@ -2884,13 +2884,14 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend
|
glyph-block-import Letter-Shared-Shapes : DToothlessRise DMBlend
|
||||||
|
|
||||||
|
local dfN : DivFrame 1
|
||||||
local dfR : DivFrame para.diversityF
|
local dfR : DivFrame para.diversityF
|
||||||
local rStraight 0
|
local rStraight 0
|
||||||
local rSerifed 1
|
local rSerifed 1
|
||||||
local rNarrow 2
|
local rNarrow 2
|
||||||
local rEarless 3
|
local rEarless 3
|
||||||
|
|
||||||
define [RDim mode] : begin
|
define [RDim df mode] : begin
|
||||||
local rBalanceMultiplier : match mode [0 1] [1 (4 / 3)] [2 (1 / 2)] [3 1]
|
local rBalanceMultiplier : match mode [0 1] [1 (4 / 3)] [2 (1 / 2)] [3 1]
|
||||||
local rHookMultiplier : match mode [0 1] [1 (2 / 3)] [2 1] [3 1]
|
local rHookMultiplier : match mode [0 1] [1 (2 / 3)] [2 1] [3 1]
|
||||||
local rHookSwMultiplier : match mode [0 0] [1 (1 / 4)] [2 0] [3 0]
|
local rHookSwMultiplier : match mode [0 0] [1 (1 / 4)] [2 0] [3 0]
|
||||||
|
@ -2907,11 +2908,11 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
local [rTopSerif y] : tagged 'serifLT'
|
local [rTopSerif y] : tagged 'serifLT'
|
||||||
LeftwardTopSerif rSerifX y (rSerifLeftJut + HalfStroke * HVContrast)
|
LeftwardTopSerif rSerifX y (rSerifLeftJut + HalfStroke * HVContrast)
|
||||||
local fine : ShoulderFine * CThin
|
local fine : ShoulderFine * CThin
|
||||||
local rHookX : dfR.rightSB + RBalance2 * rBalanceMultiplier - (OX - O)
|
local rHookX : df.rightSB + RBalance2 * rBalanceMultiplier - (OX - O)
|
||||||
local rmiddle : match mode
|
local rmiddle : match mode
|
||||||
0 : mix (rbar - fine) rHookX (0.54 + 2 * TanSlope * Stroke / Width)
|
0 : mix (rbar - fine) rHookX (0.54 + 2 * TanSlope * Stroke / Width)
|
||||||
1 : mix (rbar - fine) rHookX (0.59 + 2 * TanSlope * Stroke / Width)
|
1 : mix (rbar - fine) rHookX (0.59 + 2 * TanSlope * Stroke / Width)
|
||||||
2 : mix rHookX dfR.width (3 / 8)
|
2 : mix rHookX df.width (3 / 8)
|
||||||
3 : mix (rbar - Stroke * HVContrast) rHookX 0.5
|
3 : mix (rbar - Stroke * HVContrast) rHookX 0.5
|
||||||
local mixpin : match mode
|
local mixpin : match mode
|
||||||
0 : 0.65 + 4 * TanSlope * Stroke / Width
|
0 : 0.65 + 4 * TanSlope * Stroke / Width
|
||||||
|
@ -2924,7 +2925,7 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
return : object rbar rBottomSerif rTopSerif fine rmiddle skew rHookX rHookY hookSuperness
|
return : object rbar rBottomSerif rTopSerif fine rmiddle skew rHookX rHookY hookSuperness
|
||||||
|
|
||||||
define [StandardLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
define [StandardLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
||||||
define [object rbar rBottomSerif rTopSerif fine rmiddle skew rHookX rHookY hookSuperness] : RDim md
|
define [object rbar rBottomSerif rTopSerif fine rmiddle skew rHookX rHookY hookSuperness] : RDim df md
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs
|
widths.lhs
|
||||||
g4.up.start rHookX (XH - rHookY - Stroke * 0.5) [heading Upward]
|
g4.up.start rHookX (XH - rHookY - Stroke * 0.5) [heading Upward]
|
||||||
|
@ -2938,7 +2939,7 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
if doTopSerif : include : rTopSerif XH
|
if doTopSerif : include : rTopSerif XH
|
||||||
|
|
||||||
define [NarrowLowerRshape df md doTopSerif doBottomSerif] : glyph-proc
|
define [NarrowLowerRshape df md doTopSerif doBottomSerif] : glyph-proc
|
||||||
define [object rbar fine rmiddle] : RDim md
|
define [object rbar fine rmiddle] : RDim df md
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs
|
widths.lhs
|
||||||
g4.left.mid (rmiddle - CorrectionOMidS * [linreg 72 0.75 108 1 Stroke]) (XH - O)
|
g4.left.mid (rmiddle - CorrectionOMidS * [linreg 72 0.75 108 1 Stroke]) (XH - O)
|
||||||
|
@ -2948,7 +2949,7 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
set-base-anchor 'overlay' (rbar - Stroke * 0.25) (XH * 0.5)
|
set-base-anchor 'overlay' (rbar - Stroke * 0.25) (XH * 0.5)
|
||||||
|
|
||||||
define [EarlessCornerLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
define [EarlessCornerLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
||||||
define [object rbar rmiddle rHookX rHookY hookSuperness] : RDim md
|
define [object rbar rmiddle rHookX rHookY hookSuperness] : RDim df md
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs
|
widths.lhs
|
||||||
g4.up.start rHookX (XH - rHookY - Stroke * 0.5) [heading Upward]
|
g4.up.start rHookX (XH - rHookY - Stroke * 0.5) [heading Upward]
|
||||||
|
@ -2959,7 +2960,7 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
set-base-anchor 'overlay' (rbar - Stroke * 0.25) (XH * 0.5)
|
set-base-anchor 'overlay' (rbar - Stroke * 0.25) (XH * 0.5)
|
||||||
|
|
||||||
define [EarlessRoundedLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
define [EarlessRoundedLowerRShape df md doTopSerif doBottomSerif] : glyph-proc
|
||||||
define [object rbar rmiddle rHookX rHookY hookSuperness] : RDim md
|
define [object rbar rmiddle rHookX rHookY hookSuperness] : RDim df md
|
||||||
local hx : Math.max rHookX (rbar + 1.25 * Stroke)
|
local hx : Math.max rHookX (rbar + 1.25 * Stroke)
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs
|
widths.lhs
|
||||||
|
@ -2972,11 +2973,11 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
create-glyph : glyph-proc
|
create-glyph : glyph-proc
|
||||||
set-width dfR.width
|
set-width dfR.width
|
||||||
include : dfR.markSet.e
|
include : dfR.markSet.e
|
||||||
create-derived "r.straight" : StandardLowerRShape dfR rStraight 0 0
|
create-derived "r.straight" : StandardLowerRShape dfN rStraight 0 0
|
||||||
create-derived "r.serifed" : StandardLowerRShape dfR rSerifed 1 1
|
create-derived "r.serifed" : StandardLowerRShape dfN rSerifed 1 1
|
||||||
create-derived "r.top-serifed" : StandardLowerRShape dfR rSerifed 1 0
|
create-derived "r.top-serifed" : StandardLowerRShape dfN rSerifed 1 0
|
||||||
create-derived "r.earlessCorner" : EarlessCornerLowerRShape dfR rEarless 0 0
|
create-derived "r.earlessCorner" : EarlessCornerLowerRShape dfN rEarless 0 0
|
||||||
create-derived "r.earlessRounded" : EarlessRoundedLowerRShape dfR rEarless 0 0
|
create-derived "r.earlessRounded" : EarlessRoundedLowerRShape dfN rEarless 0 0
|
||||||
|
|
||||||
create-glyph 'r.narrow' : glyph-proc
|
create-glyph 'r.narrow' : glyph-proc
|
||||||
set-width dfR.width
|
set-width dfR.width
|
||||||
|
@ -2985,105 +2986,108 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
|
|
||||||
select-variant 'r' 'r'
|
select-variant 'r' 'r'
|
||||||
|
|
||||||
define [TurnRMarks] : compositeBaseAnchors [dfR.markSet.e]
|
define [HalfAdvance] : this.advanceWidth / 2
|
||||||
begin {.baseAnchors {.bottomright {.x (dfR.rightSB - RBalance) .y 0}}}
|
define [TurnRMarks k] : glyph-proc
|
||||||
turned 'turnr' 0x279 'r' dfR.middle (XH / 2) [TurnRMarks]
|
local df : DivFrame (currentGlyph.advanceWidth / Width)
|
||||||
|
local mx : compositeBaseAnchors [df.markSet.(k)]
|
||||||
|
begin {.baseAnchors {.bottomright {.x (df.rightSB - RBalance) .y 0}}}
|
||||||
|
include mx
|
||||||
|
|
||||||
|
turned 'turnr' 0x279 'r' HalfAdvance (XH / 2) [TurnRMarks 'e']
|
||||||
|
|
||||||
do
|
do
|
||||||
define [SmallRLongLegShape F mode doTopSerif] : glyph-proc
|
define [SmallRLongLegShape F df mode doTopSerif] : glyph-proc
|
||||||
define [object rbar rBottomSerif] : RDim mode
|
set-width df.width
|
||||||
include : F dfR mode doTopSerif 0
|
include : df.markSet.p
|
||||||
|
define [object rbar rBottomSerif] : RDim df mode
|
||||||
|
include : F df mode doTopSerif 0
|
||||||
eject-contour 'serifLB'
|
eject-contour 'serifLB'
|
||||||
include : VBarRight rbar Descender 0
|
include : VBarRight rbar Descender 0
|
||||||
if SLAB : include : rBottomSerif Descender
|
if SLAB : include : rBottomSerif Descender
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'rlongleg.straight'
|
||||||
set-width dfR.width
|
SmallRLongLegShape StandardLowerRShape dfN rStraight 0
|
||||||
include : dfR.markSet.p
|
create-glyph 'rlongleg.serifed'
|
||||||
create-derived 'rlongleg.straight'
|
SmallRLongLegShape StandardLowerRShape dfN rSerifed 1
|
||||||
SmallRLongLegShape StandardLowerRShape rStraight 0
|
create-glyph 'rlongleg.top-serifed'
|
||||||
create-derived 'rlongleg.serifed'
|
SmallRLongLegShape StandardLowerRShape dfN rSerifed 1
|
||||||
SmallRLongLegShape StandardLowerRShape rSerifed 1
|
create-glyph 'rlongleg.earlessCorner'
|
||||||
create-derived 'rlongleg.top-serifed'
|
SmallRLongLegShape EarlessCornerLowerRShape dfN rEarless 0
|
||||||
SmallRLongLegShape StandardLowerRShape rSerifed 1
|
create-glyph 'rlongleg.earlessRounded'
|
||||||
create-derived 'rlongleg.earlessCorner'
|
SmallRLongLegShape EarlessRoundedLowerRShape dfN rEarless 0
|
||||||
SmallRLongLegShape EarlessCornerLowerRShape rEarless 0
|
create-glyph 'rlongleg.narrow'
|
||||||
create-derived 'rlongleg.earlessRounded'
|
SmallRLongLegShape NarrowLowerRshape dfR rNarrow 0
|
||||||
SmallRLongLegShape EarlessRoundedLowerRShape rEarless 0
|
|
||||||
create-derived 'rlongleg.narrow'
|
|
||||||
SmallRLongLegShape NarrowLowerRshape rNarrow 0
|
|
||||||
|
|
||||||
select-variant 'rlongleg' 0x27C (follow -- 'r')
|
select-variant 'rlongleg' 0x27C (follow -- 'r')
|
||||||
|
|
||||||
define [TurnRLongLegMarks] : compositeBaseAnchors [dfR.markSet.b]
|
turned 'turnrlongleg' 0x27A 'rlongleg' HalfAdvance (XH / 2) [TurnRMarks 'b']
|
||||||
begin {.baseAnchors {.bottomright {.x (dfR.rightSB - RBalance) .y 0}}}
|
|
||||||
turned 'turnrlongleg' 0x27A 'rlongleg' dfR.middle (XH / 2) [TurnRLongLegMarks]
|
|
||||||
|
|
||||||
do
|
do
|
||||||
define [SmallRRTailShape F mode doTopSerif] : glyph-proc
|
define [SmallRRTailShape F df mode doTopSerif] : glyph-proc
|
||||||
define [object rbar] : RDim mode
|
set-width df.width
|
||||||
include : F dfR mode doTopSerif 0
|
include : df.markSet.p
|
||||||
|
define [object rbar] : RDim df mode
|
||||||
|
include : F df mode doTopSerif 0
|
||||||
eject-contour 'serifLB'
|
eject-contour 'serifLB'
|
||||||
include : new-glyph : glyph-proc
|
include : new-glyph : glyph-proc
|
||||||
include : refer-glyph "rtailBR"
|
include : refer-glyph "rtailBR"
|
||||||
include : Upright
|
include : Upright
|
||||||
include : Translate rbar 0
|
include : Translate rbar 0
|
||||||
include : Italify
|
include : Italify
|
||||||
create-glyph : glyph-proc
|
create-glyph 'rrtail.straight'
|
||||||
set-width dfR.width
|
SmallRRTailShape StandardLowerRShape dfN rStraight 0
|
||||||
include : dfR.markSet.p
|
create-glyph 'rrtail.serifed'
|
||||||
create-derived 'rrtail.straight'
|
SmallRRTailShape StandardLowerRShape dfN rSerifed 1
|
||||||
SmallRRTailShape StandardLowerRShape rStraight 0
|
create-glyph 'rrtail.top-serifed'
|
||||||
create-derived 'rrtail.serifed'
|
SmallRRTailShape StandardLowerRShape dfN rSerifed 1
|
||||||
SmallRRTailShape StandardLowerRShape rSerifed 1
|
create-glyph 'rrtail.earlessCorner'
|
||||||
create-derived 'rrtail.top-serifed'
|
SmallRRTailShape EarlessCornerLowerRShape dfN rEarless 0
|
||||||
SmallRRTailShape StandardLowerRShape rSerifed 1
|
create-glyph 'rrtail.earlessRounded'
|
||||||
create-derived 'rrtail.earlessCorner'
|
SmallRRTailShape EarlessRoundedLowerRShape dfN rEarless 0
|
||||||
SmallRRTailShape EarlessCornerLowerRShape rEarless 0
|
create-glyph 'rrtail.narrow'
|
||||||
create-derived 'rrtail.earlessRounded'
|
SmallRRTailShape NarrowLowerRshape dfR rNarrow 0
|
||||||
SmallRRTailShape EarlessRoundedLowerRShape rEarless 0
|
|
||||||
create-derived 'rrtail.narrow'
|
|
||||||
SmallRRTailShape NarrowLowerRshape rNarrow 0
|
|
||||||
select-variant 'rrtail' 0x27D (follow -- 'r')
|
select-variant 'rrtail' 0x27D (follow -- 'r')
|
||||||
|
|
||||||
turned 'smallLetterTurnedRWithTail' 0x2C79 'rrtail' dfR.middle (XH / 2) [dfR.markSet.b]
|
turned 'smallLetterTurnedRWithTail' 0x2C79 'rrtail' HalfAdvance (XH / 2) : glyph-proc
|
||||||
|
local df : DivFrame (currentGlyph.advanceWidth / Width)
|
||||||
|
include : df.markSet.b
|
||||||
|
|
||||||
do
|
do
|
||||||
define [TurnRRTailShape F mode doBottomSerif] : glyph-proc
|
define [TurnRRTailShape F df mode doBottomSerif] : glyph-proc
|
||||||
define [object rbar] : RDim mode
|
set-width df.width
|
||||||
include : F dfR mode 0 doBottomSerif
|
include : df.markSet.p
|
||||||
|
define [object rbar] : RDim df mode
|
||||||
|
include : F df mode 0 doBottomSerif
|
||||||
eject-contour 'serifLT'
|
eject-contour 'serifLT'
|
||||||
include : FlipAround dfR.middle (XH / 2)
|
include : FlipAround df.middle (XH / 2)
|
||||||
include : new-glyph : glyph-proc
|
include : new-glyph : glyph-proc
|
||||||
include : refer-glyph "rtailBR"
|
include : refer-glyph "rtailBR"
|
||||||
include : Upright
|
include : Upright
|
||||||
include : Translate (dfR.rightSB - rbar + dfR.leftSB + Stroke * HVContrast) 0
|
include : Translate (df.rightSB - rbar + df.leftSB + Stroke * HVContrast) 0
|
||||||
include : Italify
|
include : Italify
|
||||||
create-glyph : glyph-proc
|
|
||||||
set-width dfR.width
|
create-glyph 'turnrrtail.straight'
|
||||||
include : dfR.markSet.p
|
TurnRRTailShape StandardLowerRShape dfN rStraight 0
|
||||||
create-derived 'turnrrtail.straight'
|
create-glyph 'turnrrtail.serifed'
|
||||||
TurnRRTailShape StandardLowerRShape rStraight 0
|
TurnRRTailShape StandardLowerRShape dfN rSerifed 1
|
||||||
create-derived 'turnrrtail.serifed'
|
create-glyph 'turnrrtail.top-serifed'
|
||||||
TurnRRTailShape StandardLowerRShape rSerifed 1
|
TurnRRTailShape StandardLowerRShape dfN rSerifed 0
|
||||||
create-derived 'turnrrtail.top-serifed'
|
create-glyph 'turnrrtail.narrow'
|
||||||
TurnRRTailShape StandardLowerRShape rSerifed 0
|
TurnRRTailShape NarrowLowerRshape dfR rNarrow 0
|
||||||
create-derived 'turnrrtail.narrow'
|
|
||||||
TurnRRTailShape NarrowLowerRshape rNarrow 0
|
|
||||||
|
|
||||||
select-variant 'turnrrtail' 0x27B
|
select-variant 'turnrrtail' 0x27B
|
||||||
|
|
||||||
create-glyph 'rflap.straight' : glyph-proc
|
create-glyph 'rflap.straight' : glyph-proc
|
||||||
set-width dfR.width
|
set-width dfN.width
|
||||||
include : dfR.markSet.e
|
include : dfN.markSet.e
|
||||||
define [object rBottomSerif] : RDim rEarless
|
define [object rBottomSerif] : RDim dfN rEarless
|
||||||
include : EarlessRoundedLowerRShape dfR rEarless 0 0
|
include : EarlessRoundedLowerRShape dfN rEarless 0 0
|
||||||
create-derived 'rflap.serifed' : rBottomSerif 0
|
create-derived 'rflap.serifed' : rBottomSerif 0
|
||||||
|
|
||||||
create-glyph 'rflap.narrow' : glyph-proc
|
create-glyph 'rflap.narrow' : glyph-proc
|
||||||
set-width dfR.width
|
set-width dfR.width
|
||||||
include : dfR.markSet.e
|
include : dfR.markSet.e
|
||||||
define [object rbar rBottomSerif rmiddle] : RDim rNarrow
|
define [object rbar rBottomSerif rmiddle] : RDim dfR rNarrow
|
||||||
|
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs
|
widths.lhs
|
||||||
|
@ -3225,7 +3229,7 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
create-glyph 'ccurlytail' 0x255 : glyph-proc
|
create-glyph 'ccurlytail' 0x255 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
local stroke : adviceBlackness2 2.875 2 XH
|
local stroke : adviceBlackness2 2 3 XH
|
||||||
local fine : adviceBlackness2 3 3 XH
|
local fine : adviceBlackness2 3 3 XH
|
||||||
local rinner : ((XH * 0.45) - fine * 1.5) / 2
|
local rinner : ((XH * 0.45) - fine * 1.5) / 2
|
||||||
local m1 : SB + O + stroke * HVContrast
|
local m1 : SB + O + stroke * HVContrast
|
||||||
|
@ -3252,11 +3256,11 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
create-glyph 'cyrl/Ye' 0x404 : glyph-proc
|
create-glyph 'cyrl/Ye' 0x404 : glyph-proc
|
||||||
include [refer-glyph "C"] AS_BASE
|
include [refer-glyph "C"] AS_BASE
|
||||||
include : HBar SB [mix RightSB SB 0.25] (CAP / 2) [adviceBlackness2 4 2 CAP]
|
include : HBar SB [mix RightSB SB 0.25] (CAP / 2) [adviceBlackness2 2 4 CAP]
|
||||||
|
|
||||||
create-glyph 'cyrl/ye' 0x454 : glyph-proc
|
create-glyph 'cyrl/ye' 0x454 : glyph-proc
|
||||||
include [refer-glyph "c"] AS_BASE
|
include [refer-glyph "c"] AS_BASE
|
||||||
include : HBar SB [mix RightSB SB 0.25] (XH / 2) [adviceBlackness2 4 2 XH]
|
include : HBar SB [mix RightSB SB 0.25] (XH / 2) [adviceBlackness2 2 4 XH]
|
||||||
|
|
||||||
create-glyph 'grek/sigma' 0x3C3 : glyph-proc
|
create-glyph 'grek/sigma' 0x3C3 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
@ -3487,7 +3491,7 @@ glyph-block Letter-Latin-Lower-G : begin
|
||||||
define l : mix 0 SB 0.3
|
define l : mix 0 SB 0.3
|
||||||
define r : mix Width RightSB 0.3
|
define r : mix Width RightSB 0.3
|
||||||
define bwDoubleStorey : Math.min [adviceBlackness 5] (0.5 / 3 * (CAP - Stroke * 4))
|
define bwDoubleStorey : Math.min [adviceBlackness 5] (0.5 / 3 * (CAP - Stroke * 4))
|
||||||
define bwSingleStorey : adviceBlackness2 4 2 XH
|
define bwSingleStorey : adviceBlackness2 2 4 XH
|
||||||
create-glyph 'gbar.doubleStorey' : glyph-proc
|
create-glyph 'gbar.doubleStorey' : glyph-proc
|
||||||
include [refer-glyph "g.doubleStorey"] AS_BASE
|
include [refer-glyph "g.doubleStorey"] AS_BASE
|
||||||
include : HBar l r [query-glyph "g.doubleStorey"].baseAnchors.overlay.y bwDoubleStorey
|
include : HBar l r [query-glyph "g.doubleStorey"].baseAnchors.overlay.y bwDoubleStorey
|
||||||
|
@ -4381,7 +4385,7 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
|
|
||||||
define [SmallMBottomRightSerif df top rbot] : glyph-proc
|
define [SmallMBottomRightSerif df top rbot] : glyph-proc
|
||||||
if (df.width > para.refJut * 7) : begin
|
if (df.width > para.refJut * 7) : begin
|
||||||
if [not para.isItalic] : begin
|
if para.isItalic : begin
|
||||||
include : tagged 'serifRB' : intersection
|
include : tagged 'serifRB' : intersection
|
||||||
CenterBottomSerif (df.rightSB - 0.5 * df.mvs * HVContrast) rbot Jut df.mvs
|
CenterBottomSerif (df.rightSB - 0.5 * df.mvs * HVContrast) rbot Jut df.mvs
|
||||||
Rect top rbot (df.rightSB + O) df.width
|
Rect top rbot (df.rightSB + O) df.width
|
||||||
|
@ -4917,7 +4921,7 @@ glyph-block Letter-Latin-Upper-F : begin
|
||||||
return { jutTop jutBot }
|
return { jutTop jutBot }
|
||||||
|
|
||||||
define [FShape] : params [top pyBar noSerif] : glyph-proc
|
define [FShape] : params [top pyBar noSerif] : glyph-proc
|
||||||
define stroke : adviceBlackness2 2.875 2 CAP
|
define stroke : adviceBlackness2 2 3 CAP
|
||||||
define xFBarLeft : SB * 1.5
|
define xFBarLeft : SB * 1.5
|
||||||
include : VBarLeft (xFBarLeft) 0 top stroke
|
include : VBarLeft (xFBarLeft) 0 top stroke
|
||||||
include : HBarTop (xFBarLeft - O) RightSB top stroke
|
include : HBarTop (xFBarLeft - O) RightSB top stroke
|
||||||
|
@ -4930,7 +4934,7 @@ glyph-block Letter-Latin-Upper-F : begin
|
||||||
include : DownwardRightSerif RightSB top jutTop
|
include : DownwardRightSerif RightSB top jutTop
|
||||||
|
|
||||||
define [RevFShape] : params [top pyBar noSerif] : glyph-proc
|
define [RevFShape] : params [top pyBar noSerif] : glyph-proc
|
||||||
define stroke : adviceBlackness2 2.875 2 CAP
|
define stroke : adviceBlackness2 2 3 CAP
|
||||||
define xFBarRight : Width - SB * 1.5
|
define xFBarRight : Width - SB * 1.5
|
||||||
include : VBarRight (xFBarRight) 0 top stroke
|
include : VBarRight (xFBarRight) 0 top stroke
|
||||||
include : HBarTop SB (xFBarRight + O) top stroke
|
include : HBarTop SB (xFBarRight + O) top stroke
|
||||||
|
@ -5260,7 +5264,7 @@ glyph-block Letter-Latin-Upper-E : begin
|
||||||
|
|
||||||
glyph-block-export EShape
|
glyph-block-export EShape
|
||||||
define [EShape] : params [top pyBar noSerif] : glyph-proc
|
define [EShape] : params [top pyBar noSerif] : glyph-proc
|
||||||
define stroke : adviceBlackness2 2.875 2 CAP
|
define stroke : adviceBlackness2 2 3 CAP
|
||||||
define xEBarLeft : SB * 1.5
|
define xEBarLeft : SB * 1.5
|
||||||
include : FShape top pyBar true
|
include : FShape top pyBar true
|
||||||
include : HBarBottom (xEBarLeft - O) RightSB 0 stroke
|
include : HBarBottom (xEBarLeft - O) RightSB 0 stroke
|
||||||
|
@ -5273,7 +5277,7 @@ glyph-block Letter-Latin-Upper-E : begin
|
||||||
|
|
||||||
glyph-block-export RevEShape
|
glyph-block-export RevEShape
|
||||||
define [RevEShape] : params [top pyBar noSerif] : glyph-proc
|
define [RevEShape] : params [top pyBar noSerif] : glyph-proc
|
||||||
define stroke : adviceBlackness2 2.875 2 CAP
|
define stroke : adviceBlackness2 2 3 CAP
|
||||||
define xEBarRight : Width - SB * 1.5
|
define xEBarRight : Width - SB * 1.5
|
||||||
include : RevFShape top pyBar true
|
include : RevFShape top pyBar true
|
||||||
include : HBarBottom SB (xEBarRight + O) 0 stroke
|
include : HBarBottom SB (xEBarRight + O) 0 stroke
|
||||||
|
@ -5329,11 +5333,11 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
|
|
||||||
create-glyph 'e' 'e' : glyph-proc
|
create-glyph 'e' 'e' : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : SmallEShape XH [adviceBlackness2 2.875 2 XH]
|
include : SmallEShape XH [adviceBlackness2 2 3 XH]
|
||||||
|
|
||||||
create-glyph 'Schwa' 0x18F : glyph-proc
|
create-glyph 'Schwa' 0x18F : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : SmallEShape CAP [adviceBlackness2 2.875 2 CAP]
|
include : SmallEShape CAP [adviceBlackness2 2 3 CAP]
|
||||||
include : FlipAround Middle (CAP / 2)
|
include : FlipAround Middle (CAP / 2)
|
||||||
|
|
||||||
alias 'cyrl/ie' 0x435 'e'
|
alias 'cyrl/ie' 0x435 'e'
|
||||||
|
@ -5362,7 +5366,7 @@ glyph-block Letter-Latin-Lower-E : begin
|
||||||
|
|
||||||
create-glyph 'reve' 0x258 : glyph-proc
|
create-glyph 'reve' 0x258 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : RevSmallEShape XH [adviceBlackness2 2.875 2 XH]
|
include : RevSmallEShape XH [adviceBlackness2 2 3 XH]
|
||||||
|
|
||||||
|
|
||||||
glyph-block Letter-Latin-Upper-T : begin
|
glyph-block Letter-Latin-Upper-T : begin
|
||||||
|
@ -5574,7 +5578,7 @@ glyph-block Letter-Latin-S : begin
|
||||||
return : alsoThruThem {{(0.5 - dist) tension} {(0.5 + dist) (1 - tension)}} [widths.center stroke]
|
return : alsoThruThem {{(0.5 - dist) tension} {(0.5 + dist) (1 - tension)}} [widths.center stroke]
|
||||||
|
|
||||||
define [SStroke] : begin
|
define [SStroke] : begin
|
||||||
local stroke : adviceBlackness2 2.875 2 CAP
|
local stroke : adviceBlackness2 2 3 CAP
|
||||||
local ess : Ess * stroke / Stroke
|
local ess : Ess * stroke / Stroke
|
||||||
define smooth : adviceSSmooth CAP (-1) stroke
|
define smooth : adviceSSmooth CAP (-1) stroke
|
||||||
return : dispiro
|
return : dispiro
|
||||||
|
@ -5588,7 +5592,7 @@ glyph-block Letter-Latin-S : begin
|
||||||
g4 (SB + SOBot) Hook
|
g4 (SB + SOBot) Hook
|
||||||
|
|
||||||
define [RevSStroke] : begin
|
define [RevSStroke] : begin
|
||||||
local stroke : adviceBlackness2 2.875 2 CAP
|
local stroke : adviceBlackness2 2 3 CAP
|
||||||
local ess : Ess * stroke / Stroke
|
local ess : Ess * stroke / Stroke
|
||||||
local smooth : adviceSSmooth CAP 0.5 stroke
|
local smooth : adviceSSmooth CAP 0.5 stroke
|
||||||
return : dispiro
|
return : dispiro
|
||||||
|
@ -5602,8 +5606,8 @@ glyph-block Letter-Latin-S : begin
|
||||||
g4 (RightSB - SOBot) Hook
|
g4 (RightSB - SOBot) Hook
|
||||||
|
|
||||||
define [sStroke] : begin
|
define [sStroke] : begin
|
||||||
define stroke : adviceBlackness2 2.875 2 XH
|
define stroke : adviceBlackness2 2 3 XH
|
||||||
define ess : adviceBlackness2 3.2 2.2 XH
|
define ess : adviceBlackness2 2.2 3.2 XH
|
||||||
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
||||||
define smooth : adviceSSmooth XH (-1) stroke
|
define smooth : adviceSSmooth XH (-1) stroke
|
||||||
return : dispiro
|
return : dispiro
|
||||||
|
@ -5617,8 +5621,8 @@ glyph-block Letter-Latin-S : begin
|
||||||
g4 (SB + SOBot) SHook
|
g4 (SB + SOBot) SHook
|
||||||
|
|
||||||
define [sStrokePhoneticRight] : begin
|
define [sStrokePhoneticRight] : begin
|
||||||
define stroke : adviceBlackness2 2.875 2 XH
|
define stroke : adviceBlackness2 2 3 XH
|
||||||
define ess : adviceBlackness2 3.2 2.2 XH
|
define ess : adviceBlackness2 2.2 3.2 XH
|
||||||
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
||||||
define smooth : adviceSSmooth XH (-1) stroke
|
define smooth : adviceSSmooth XH (-1) stroke
|
||||||
return : dispiro
|
return : dispiro
|
||||||
|
@ -5633,8 +5637,8 @@ glyph-block Letter-Latin-S : begin
|
||||||
curl SB 0
|
curl SB 0
|
||||||
|
|
||||||
define [RevsStroke] : begin
|
define [RevsStroke] : begin
|
||||||
define stroke : adviceBlackness2 2.875 2 XH
|
define stroke : adviceBlackness2 2 3 XH
|
||||||
define ess : adviceBlackness2 3.2 2.2 XH
|
define ess : adviceBlackness2 2.2 3.2 XH
|
||||||
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
define strokeCoeff : StrokeWidthBlend 0 1 stroke
|
||||||
define smooth : adviceSSmooth XH 0.75 stroke
|
define smooth : adviceSSmooth XH 0.75 stroke
|
||||||
return : dispiro
|
return : dispiro
|
||||||
|
@ -5691,7 +5695,7 @@ glyph-block Letter-Latin-S : begin
|
||||||
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
||||||
|
|
||||||
include : new-glyph : glyph-proc
|
include : new-glyph : glyph-proc
|
||||||
local sw : adviceBlackness2 2.875 2 XH
|
local sw : adviceBlackness2 2 3 XH
|
||||||
include : refer-glyph "rtailBR"
|
include : refer-glyph "rtailBR"
|
||||||
include : Upright
|
include : Upright
|
||||||
include : Translate (start.x + sw * HVContrast) 0
|
include : Translate (start.x + sw * HVContrast) 0
|
||||||
|
@ -5705,7 +5709,7 @@ glyph-block Letter-Latin-S : begin
|
||||||
local stroke : [SStroke].call currentGlyph
|
local stroke : [SStroke].call currentGlyph
|
||||||
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
||||||
|
|
||||||
local sw : adviceBlackness2 2.875 2 CAP
|
local sw : adviceBlackness2 2 3 CAP
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs [adviceBlackness 4.5]
|
widths.lhs [adviceBlackness 4.5]
|
||||||
g4 start.x start.y
|
g4 start.x start.y
|
||||||
|
@ -5719,7 +5723,7 @@ glyph-block Letter-Latin-S : begin
|
||||||
local stroke : [sStroke].call currentGlyph
|
local stroke : [sStroke].call currentGlyph
|
||||||
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
local start : currentGlyph.gizmo.unapply stroke.lhsKnots.(stroke.lhsKnots.length - 1)
|
||||||
|
|
||||||
local sw : adviceBlackness2 2.875 2 XH
|
local sw : adviceBlackness2 2 3 XH
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs [adviceBlackness 4.5]
|
widths.lhs [adviceBlackness 4.5]
|
||||||
g4 start.x start.y
|
g4 start.x start.y
|
||||||
|
@ -6009,7 +6013,7 @@ glyph-block Letter-Latin-Eszet : begin
|
||||||
SB + swOuter * HVContrast + (RightSB - SB - Stroke) * 0.1
|
SB + swOuter * HVContrast + (RightSB - SB - Stroke) * 0.1
|
||||||
mix SB RightSB 0.3
|
mix SB RightSB 0.3
|
||||||
define widthInner : Width - swOuter * HVContrast - (RightSB - SB - Stroke) * 0.1
|
define widthInner : Width - swOuter * HVContrast - (RightSB - SB - Stroke) * 0.1
|
||||||
define swInner : adviceBlackness2 3 2 XH (widthInner / Width)
|
define swInner : adviceBlackness2 2 3 XH (widthInner / Width)
|
||||||
define sTopY : XH + swInner / 8
|
define sTopY : XH + swInner / 8
|
||||||
define smooth : SmoothBOf (swInner + (widthInner / Width) * ([adviceSSmooth XH (-1) swInner] - swInner)) widthInner
|
define smooth : SmoothBOf (swInner + (widthInner / Width) * ([adviceSSmooth XH (-1) swInner] - swInner)) widthInner
|
||||||
define sTurnX : Math.max sEndX [mix SB RightSB 0.3]
|
define sTurnX : Math.max sEndX [mix SB RightSB 0.3]
|
||||||
|
@ -6076,7 +6080,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
|
||||||
define eBarPos : designParameters.upperEBarPos SLAB
|
define eBarPos : designParameters.upperEBarPos SLAB
|
||||||
define sw : Math.min df.mvs : adviceBlackness2 3 3 CAP df.div
|
define sw : Math.min df.mvs : adviceBlackness2 3 3 CAP df.div
|
||||||
define eleft : df.middle - sw * 0.25 * HVContrast
|
define eleft : df.middle - sw * 0.25 * HVContrast
|
||||||
define fine : adviceBlackness2 4 3 CAP df.div
|
define fine : adviceBlackness2 3 4 CAP df.div
|
||||||
define swVJut : Math.min sw ((df.rightSB - eleft - sw * HVContrast) * (4 / 5))
|
define swVJut : Math.min sw ((df.rightSB - eleft - sw * HVContrast) * (4 / 5))
|
||||||
|
|
||||||
set-width df.width
|
set-width df.width
|
||||||
|
@ -6454,7 +6458,7 @@ glyph-block Letter-Latin-Ezh : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
local p (SmallSmoothB / (SmallSmoothA + SmallSmoothB))
|
local p (SmallSmoothB / (SmallSmoothA + SmallSmoothB))
|
||||||
include : EzhShape XH Descender nothing nothing p
|
include : EzhShape XH Descender nothing nothing p
|
||||||
local fine : adviceBlackness2 5 3 (XH - Descender)
|
local fine : adviceBlackness2 3 5 (XH - Descender)
|
||||||
local rinner : (XH * 0.4 - fine * 1.5) / 2
|
local rinner : (XH * 0.4 - fine * 1.5) / 2
|
||||||
local m1 : RightSB - Stroke * HVContrast - OX
|
local m1 : RightSB - Stroke * HVContrast - OX
|
||||||
local x2 : RightSB - HalfStroke
|
local x2 : RightSB - HalfStroke
|
||||||
|
|
|
@ -15,9 +15,9 @@ glyph-block Marks : begin
|
||||||
### Combining marks
|
### Combining marks
|
||||||
glyph-block-export markExtend markHalfStroke markFine
|
glyph-block-export markExtend markHalfStroke markFine
|
||||||
local markExtend (AccentX * 0.5)
|
local markExtend (AccentX * 0.5)
|
||||||
local markHalfStroke : 0.5 * [adviceBlackness2 3.5 3.375 XH]
|
local markHalfStroke : 0.5 * [adviceBlackness2 3.375 3.5 XH]
|
||||||
local markStress : markHalfStroke * 1.1
|
local markStress : markHalfStroke * 1.1
|
||||||
local markFine : markHalfStroke * 0.9
|
local markFine : Math.min (markHalfStroke * 0.9) (0.5 * [adviceBlackness2 3.875 4.25 XH])
|
||||||
|
|
||||||
glyph-block-export markMiddle
|
glyph-block-export markMiddle
|
||||||
local markMiddle (-Middle)
|
local markMiddle (-Middle)
|
||||||
|
@ -1045,16 +1045,17 @@ glyph-block Marks : begin
|
||||||
|
|
||||||
define [HornShape attX attY overshootX overshootY yrP] : glyph-proc
|
define [HornShape attX attY overshootX overshootY yrP] : glyph-proc
|
||||||
local [object radius hornFine hornStroke startX startY] : HornDim attX attY overshootX overshootY yrP
|
local [object radius hornFine hornStroke startX startY] : HornDim attX attY overshootX overshootY yrP
|
||||||
|
local swStart : Math.min (radius / 2) ShoulderFine
|
||||||
include : union
|
include : union
|
||||||
RingAt (startX - radius) startY (radius + OX / 2)
|
RingAt (startX - radius) startY (radius + OX)
|
||||||
dispiro
|
dispiro
|
||||||
g4.down.start (startX + OX) (startY) [widths.rhs.heading [Math.min (radius / 2) ShoulderFine] Downward]
|
g4.down.start (startX + OX) (startY) [widths.rhs.heading swStart Downward]
|
||||||
arcvh
|
arcvh
|
||||||
g4.left.mid (startX - radius) (startY - radius) [heading Leftward]
|
g4.left.mid (startX - radius) (startY - radius) [widths.rhs.heading [mix swStart hornFine 0.25] Leftward]
|
||||||
archv
|
archv
|
||||||
g4.up.mid (startX - 2 * radius) (startY) [heading Upward]
|
g4.up.mid (startX - 2 * radius) (startY) [widths.rhs.heading [mix swStart hornFine 0.5] Upward]
|
||||||
arcvh
|
arcvh
|
||||||
g4.right.mid (startX - radius) (startY + radius) [heading Rightward]
|
g4.right.mid (startX - radius) (startY + radius) [widths.rhs.heading [mix swStart hornFine 0.75] Rightward]
|
||||||
archv
|
archv
|
||||||
g4.down.mid startX startY [widths.rhs.heading hornFine Downward]
|
g4.down.mid startX startY [widths.rhs.heading hornFine Downward]
|
||||||
quadcontrols.g4 0 0.75 16 : object : blend : lambda [t]
|
quadcontrols.g4 0 0.75 16 : object : blend : lambda [t]
|
||||||
|
|
|
@ -543,7 +543,7 @@ glyph-block Digits-Eight : begin
|
||||||
|
|
||||||
local EightPr : StrokeWidthBlend 0.85 0.925
|
local EightPr : StrokeWidthBlend 0.85 0.925
|
||||||
define [EightShape top] : begin
|
define [EightShape top] : begin
|
||||||
local stroke : adviceBlackness2 2.875 2 CAP
|
local stroke : adviceBlackness2 2 3 CAP
|
||||||
local p 0.96
|
local p 0.96
|
||||||
local l (SB + OX)
|
local l (SB + OX)
|
||||||
local r (RightSB - OX)
|
local r (RightSB - OX)
|
||||||
|
|
|
@ -258,7 +258,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
MkArrow [HookArrowShape 1] [MangleName 'hookarrowdownleft'] [MangleUnicode 0x2926] arrowDiagRSB arrowDiagTop arrowDiagSB arrowDiagBot
|
MkArrow [HookArrowShape 1] [MangleName 'hookarrowdownleft'] [MangleUnicode 0x2926] arrowDiagRSB arrowDiagTop arrowDiagSB arrowDiagBot
|
||||||
|
|
||||||
do "Half Circle Arrow"
|
do "Half Circle Arrow"
|
||||||
local arcSW : adviceBlackness 4 MosaicWidthScalar
|
local arcSW : Math.min OperatorStroke [adviceBlackness 4 MosaicWidthScalar]
|
||||||
local headSize : mix arcSW arrowSize 0.5
|
local headSize : mix arcSW arrowSize 0.5
|
||||||
local hsx0 : HVContrast * arcSW / 2
|
local hsx0 : HVContrast * arcSW / 2
|
||||||
local hsx : hsx0 + headSize / 2
|
local hsx : hsx0 + headSize / 2
|
||||||
|
|
|
@ -1452,7 +1452,7 @@ glyph-block Symbol-Punctuation-Percentages : begin
|
||||||
local m : mix l r (1 / 2)
|
local m : mix l r (1 / 2)
|
||||||
local sma : SmoothA * 0.5 * para.diversityM
|
local sma : SmoothA * 0.5 * para.diversityM
|
||||||
local smb : SmoothB * 0.5 * para.diversityM
|
local smb : SmoothB * 0.5 * para.diversityM
|
||||||
local sw : adviceBlackness2 5 4 CAP para.diversityM
|
local sw : adviceBlackness2 4 5 CAP para.diversityM
|
||||||
local fine : adviceBlackness2 5 5 CAP para.diversityM
|
local fine : adviceBlackness2 5 5 CAP para.diversityM
|
||||||
local cor : HVContrast / [Math.sqrt (1 - [Math.pow ((r - l - sw) / (CAP - 0)) 2])]
|
local cor : HVContrast / [Math.sqrt (1 - [Math.pow ((r - l - sw) / (CAP - 0)) 2])]
|
||||||
local pTerm : (fine / 2) / [Math.hypot CAP (r - l)]
|
local pTerm : (fine / 2) / [Math.hypot CAP (r - l)]
|
||||||
|
@ -1475,7 +1475,7 @@ glyph-block Symbol-Punctuation-Percentages : begin
|
||||||
local fill : ((r2 - l1) - gap) / 2
|
local fill : ((r2 - l1) - gap) / 2
|
||||||
local r1 : l1 + fill
|
local r1 : l1 + fill
|
||||||
local l2 : r1 + gap
|
local l2 : r1 + gap
|
||||||
local swp : adviceBlackness 4
|
local swp : adviceBlackness2 4 5 CAP para.diversityM
|
||||||
include : OShape otop 0 l1 r1 swp sma smb
|
include : OShape otop 0 l1 r1 swp sma smb
|
||||||
include : OShape otop 0 l2 r2 swp sma smb
|
include : OShape otop 0 l2 r2 swp sma smb
|
||||||
|
|
||||||
|
@ -1488,7 +1488,7 @@ glyph-block Symbol-Punctuation-Percentages : begin
|
||||||
local l2 : r1 + gap
|
local l2 : r1 + gap
|
||||||
local r2 : l2 + fill
|
local r2 : l2 + fill
|
||||||
local l3 : r2 + gap
|
local l3 : r2 + gap
|
||||||
local swp : adviceBlackness2 5 6.5 CAP para.diversityM
|
local swp : adviceBlackness2 6 5 CAP para.diversityM
|
||||||
local smap : SmoothA * (1/3) * para.diversityM
|
local smap : SmoothA * (1/3) * para.diversityM
|
||||||
local smbp : SmoothB * (1/3) * para.diversityM
|
local smbp : SmoothB * (1/3) * para.diversityM
|
||||||
include : OShape otop 0 l1 r1 swp smap smbp
|
include : OShape otop 0 l1 r1 swp smap smbp
|
||||||
|
|
|
@ -76,15 +76,16 @@ export : define [calculateMetrics para] : begin
|
||||||
# We will estimate blackness using lower-case 'e'
|
# We will estimate blackness using lower-case 'e'
|
||||||
define DarknessMockWidth : if (Width < HalfUPM) (HalfUPM * [Math.pow (Width / HalfUPM) 0.5]) Width
|
define DarknessMockWidth : if (Width < HalfUPM) (HalfUPM * [Math.pow (Width / HalfUPM) 0.5]) Width
|
||||||
define DarknessMockWidth2 : HalfUPM * [Math.pow (Width / HalfUPM) 0.5]
|
define DarknessMockWidth2 : HalfUPM * [Math.pow (Width / HalfUPM) 0.5]
|
||||||
define BaseFillRate : 1 / 2 + para.stroke / ([Math.max HalfUPM DarknessMockWidth2] - SB * 2)
|
define [BaseFillRate con] : 1 / 2 + para.stroke / ([Math.max HalfUPM DarknessMockWidth2] - SB * 2)
|
||||||
define [InverseCrowdedness c] : [Math.tanh c] / c
|
define [InverseCrowdedness con cow] : [Math.tanh (cow * [Math.sqrt con])] / (cow * [Math.sqrt con])
|
||||||
define [adviceBlackness crowdedness div mul] : begin
|
define [adviceBlacknessImpl con cow div mul] : begin
|
||||||
local gap : DarknessMockWidth * [fallback div 1] - SB * 2
|
local gap : DarknessMockWidth * [fallback div 1] - SB * 2
|
||||||
local shrink : BaseFillRate * [InverseCrowdedness crowdedness]
|
local shrink : [BaseFillRate con] * [InverseCrowdedness con cow]
|
||||||
return : Math.min para.stroke ([fallback mul 1] * gap * shrink)
|
return : Math.min para.stroke ([fallback mul 1] * gap * shrink)
|
||||||
|
define [adviceBlackness cow div mul] : adviceBlacknessImpl HVContrast cow div mul
|
||||||
define [adviceBlackness2 cowX cowY refH div] : Math.min
|
define [adviceBlackness2 cowX cowY refH div] : Math.min
|
||||||
adviceBlackness cowX (refH / DarknessMockWidth2)
|
adviceBlacknessImpl HVContrast cowX div
|
||||||
adviceBlackness cowY div
|
adviceBlacknessImpl 1 cowY (refH / DarknessMockWidth2)
|
||||||
|
|
||||||
|
|
||||||
define Stroke : adviceBlackness 2
|
define Stroke : adviceBlackness 2
|
||||||
|
|
Before Width: | Height: | Size: 374 KiB After Width: | Height: | Size: 375 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 364 KiB After Width: | Height: | Size: 363 KiB |
Before Width: | Height: | Size: 387 KiB After Width: | Height: | Size: 388 KiB |
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 177 KiB |
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 310 KiB |
Before Width: | Height: | Size: 965 KiB After Width: | Height: | Size: 972 KiB |
Before Width: | Height: | Size: 321 KiB After Width: | Height: | Size: 322 KiB |
|
@ -26,8 +26,6 @@ plusSize = 0.52 # Size of plus and arith symbols
|
||||||
pictSize = 1.10 # Size of pictograms
|
pictSize = 1.10 # Size of pictograms
|
||||||
arrowHeight = 1.50 # Height of arrows
|
arrowHeight = 1.50 # Height of arrows
|
||||||
|
|
||||||
contrast = 1.11111 # Stroke width contrast.
|
|
||||||
|
|
||||||
slopeAngle = 0 # slope angle, in degrees.
|
slopeAngle = 0 # slope angle, in degrees.
|
||||||
derivedSlopeAngle = 10 # Slope angle of derived letters requiring italics
|
derivedSlopeAngle = 10 # Slope angle of derived letters requiring italics
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
[shapeWeight.blend.400]
|
[shapeWeight.blend.400]
|
||||||
stroke = 72 # Primary stroke width
|
stroke = 72 # Primary stroke width
|
||||||
sb = 60 # Primary sidebearings
|
contrast = 1.11 # Stroke width contrast
|
||||||
essx = 1.12 # Proportion of widen of center of "S"
|
sb = 60 # Primary sidebearings
|
||||||
dotsize = 125 # Size of dots
|
essx = 1.12 # Proportion of widen of center of "S"
|
||||||
periodsize = 140 # Size of period
|
dotsize = 125 # Size of dots
|
||||||
|
periodsize = 140 # Size of period
|
||||||
|
|
||||||
jut = 85 # Length of slab serif
|
jut = 85 # Length of slab serif
|
||||||
refJut = 85 # Reference JUT, used in `m`
|
refJut = 85 # Reference JUT, used in `m`
|
||||||
vjut = 145 # Length of vertical slab serif
|
vjut = 145 # Length of vertical slab serif
|
||||||
longjut = 175 # Length of long serifs, like that in `i`.
|
longjut = 175 # Length of long serifs, like that in `i`.
|
||||||
|
|
||||||
smooth = 195 # Vertical arc size in capital letters.
|
smooth = 195 # Vertical arc size in capital letters.
|
||||||
smallsmooth = 200 # Vertical arc size in lowercase letters.
|
smallsmooth = 200 # Vertical arc size in lowercase letters.
|
||||||
|
|
||||||
rbalance = 60
|
rbalance = 60
|
||||||
rbalance2 = 15
|
rbalance2 = 15
|
||||||
|
@ -21,7 +22,7 @@ jbalance = 63
|
||||||
fbalance = 6
|
fbalance = 6
|
||||||
onebalance = 30
|
onebalance = 30
|
||||||
|
|
||||||
hook = 155 # Hook depth in most letters.
|
hook = 155 # Hook depth in most letters.
|
||||||
ahook = 130
|
ahook = 130
|
||||||
shook = 110
|
shook = 110
|
||||||
jhook = 135
|
jhook = 135
|
||||||
|
@ -34,115 +35,61 @@ cthinb = 0.5
|
||||||
vtipfine = 0.8
|
vtipfine = 0.8
|
||||||
vtipfineSlab = 0.9
|
vtipfineSlab = 0.9
|
||||||
|
|
||||||
|
|
||||||
[shapeWeight.blend.100]
|
[shapeWeight.blend.100]
|
||||||
|
stroke = 18
|
||||||
|
contrast = 1.08
|
||||||
|
sb = 72
|
||||||
|
essx = 1.12
|
||||||
|
dotsize = 53
|
||||||
|
periodsize = 55
|
||||||
|
|
||||||
jut = 70
|
jut = 70
|
||||||
vjut = 145
|
vjut = 145
|
||||||
smooth = 195
|
smooth = 195
|
||||||
rhook = 110
|
|
||||||
rbalance = 60
|
rbalance = 60
|
||||||
rbalance2 = 15
|
rbalance2 = 15
|
||||||
cthin = 0.9
|
cthin = 0.9
|
||||||
cthinb = 0.9
|
cthinb = 0.9
|
||||||
vtipfine = 1
|
vtipfine = 1
|
||||||
vtipfineSlab = 1
|
vtipfineSlab = 1
|
||||||
stroke = 18
|
|
||||||
sb = 72
|
|
||||||
dotsize = 53
|
|
||||||
periodsize = 55
|
|
||||||
|
|
||||||
[shapeWeight.blend.200]
|
[shapeWeight.blend.200]
|
||||||
jut = 75
|
|
||||||
vjut = 145
|
|
||||||
smooth = 195
|
|
||||||
rhook = 110
|
|
||||||
rbalance = 60
|
|
||||||
rbalance2 = 15
|
|
||||||
cthin = 0.75
|
cthin = 0.75
|
||||||
cthinb = 0.75
|
cthinb = 0.75
|
||||||
vtipfine = 1
|
vtipfine = 1
|
||||||
vtipfineSlab = 1
|
vtipfineSlab = 1
|
||||||
stroke = 36
|
|
||||||
sb = 68
|
|
||||||
dotsize = 70
|
|
||||||
periodsize = 77
|
|
||||||
|
|
||||||
[shapeWeight.blend.300]
|
[shapeWeight.blend.300]
|
||||||
jut = 80
|
|
||||||
vjut = 145
|
|
||||||
smooth = 195
|
|
||||||
rhook = 110
|
|
||||||
rbalance = 60
|
|
||||||
rbalance2 = 15
|
|
||||||
cthin = 0.75
|
cthin = 0.75
|
||||||
cthinb = 0.5
|
cthinb = 0.5
|
||||||
vtipfine = 0.9
|
vtipfine = 0.9
|
||||||
vtipfineSlab = 0.9
|
vtipfineSlab = 0.9
|
||||||
stroke = 56
|
|
||||||
sb = 64
|
|
||||||
dotsize = 100
|
|
||||||
periodsize = 115
|
|
||||||
|
|
||||||
[shapeWeight.blend.500]
|
[shapeWeight.blend.500]
|
||||||
essx = 1.12
|
|
||||||
jut = 85
|
|
||||||
vjut = 157
|
|
||||||
smooth = 200
|
|
||||||
rhook = 110
|
|
||||||
rbalance = 60
|
rbalance = 60
|
||||||
rbalance2 = 15
|
rbalance2 = 15
|
||||||
stroke = 84
|
|
||||||
sb = 57
|
|
||||||
dotsize = 135
|
|
||||||
periodsize = 160
|
|
||||||
|
|
||||||
[shapeWeight.blend.600]
|
[shapeWeight.blend.600]
|
||||||
essx = 1.07
|
# Interpolated
|
||||||
jut = 85
|
|
||||||
vjut = 170
|
|
||||||
smooth = 203
|
|
||||||
rhook = 110
|
|
||||||
rbalance = 55
|
|
||||||
rbalance2 = 20
|
|
||||||
stroke = 97
|
|
||||||
sb = 54
|
|
||||||
dotsize = 145
|
|
||||||
periodsize = 168
|
|
||||||
|
|
||||||
[shapeWeight.blend.700]
|
[shapeWeight.blend.700]
|
||||||
essx = 1.06
|
# Interpolated
|
||||||
jut = 89
|
|
||||||
vjut = 179
|
|
||||||
smooth = 206
|
|
||||||
rhook = 95
|
|
||||||
rbalance = 52
|
|
||||||
rbalance2 = 23
|
|
||||||
stroke = 106
|
|
||||||
sb = 50
|
|
||||||
dotsize = 157
|
|
||||||
periodsize = 180
|
|
||||||
|
|
||||||
[shapeWeight.blend.800]
|
[shapeWeight.blend.800]
|
||||||
essx = 1.05
|
# Interpolated
|
||||||
jut = 96
|
|
||||||
vjut = 189
|
|
||||||
smooth = 210
|
|
||||||
rhook = 97
|
|
||||||
rbalance = 50
|
|
||||||
rbalance2 = 25
|
|
||||||
stroke = 116
|
|
||||||
sb = 45
|
|
||||||
dotsize = 167
|
|
||||||
periodsize = 188
|
|
||||||
|
|
||||||
[shapeWeight.blend.900]
|
[shapeWeight.blend.900]
|
||||||
essx = 1.03
|
stroke = 116
|
||||||
jut = 100
|
contrast = 1.16
|
||||||
vjut = 199
|
|
||||||
smooth = 215
|
|
||||||
rhook = 105
|
|
||||||
rbalance = 50
|
|
||||||
rbalance2 = 25
|
|
||||||
stroke = 126
|
|
||||||
sb = 42
|
sb = 42
|
||||||
|
essx = 1.05
|
||||||
dotsize = 180
|
dotsize = 180
|
||||||
periodsize = 200
|
periodsize = 200
|
||||||
|
|
||||||
|
jut = 95
|
||||||
|
vjut = 200
|
||||||
|
smooth = 215
|
||||||
|
rbalance = 50
|
||||||
|
rbalance2 = 25
|
||||||
|
|