Add variants for Ampersand (#211).
This commit is contained in:
parent
a835d0a3c6
commit
b830f345ba
5 changed files with 1444 additions and 1351 deletions
|
@ -1,2 +1,3 @@
|
||||||
* Add variants for six (`6`) : `v-six-closed-contour` (`VXAE`) and `v-six-open-contour` (`VXAF`). `v-nine-turned-six` is renamed to `v-nine-open-contour` (#562).
|
* Add variants for six (`6`) : `v-six-closed-contour` (`VXAE`) and `v-six-open-contour` (`VXAF`). `v-nine-turned-six` is renamed to `v-nine-open-contour` (#562).
|
||||||
* Make variant selectors able to influence `l-dot` (U+0140, #566).
|
* Make variant selectors able to influence `l-dot` (U+0140, #566).
|
||||||
|
* Add variants for Ampersand (#211).
|
|
@ -838,4 +838,8 @@ glyph-block CommonShapes : begin
|
||||||
define tension : tensionCoeff * (0.5 - 0.4 * dist - 0.005 * strokeCoeff + slantCoeff * TanSlope)
|
define tension : tensionCoeff * (0.5 - 0.4 * dist - 0.005 * strokeCoeff + slantCoeff * TanSlope)
|
||||||
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]
|
||||||
|
|
||||||
glyph-block-export select-variant italic-variant alias composite refer-glyph query-glyph into-unicode turned HDual hcombine VDual vcombine Rect Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs halfXStrand xStrand nShoulderKnots nShoulder mShoulderSpiro HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar CurlyTail HCurlyTail FlatSlashShape determineMixR hookstart hookend CyrDescender Fork Miniature Thinner Widen FlipAround ScaleAround Realign ForceUpright Overlay diagCor CreateWaveShape NameUni PointingTo WithDerivatives WithAIHSerifsMask SNeck
|
define [WithTransform tfm gr] : create-glyph : glyph-construction
|
||||||
|
include gr
|
||||||
|
apply-transform tfm
|
||||||
|
|
||||||
|
glyph-block-export select-variant italic-variant alias composite refer-glyph query-glyph into-unicode turned HDual hcombine VDual vcombine Rect Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs halfXStrand xStrand nShoulderKnots nShoulder mShoulderSpiro HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar CurlyTail HCurlyTail FlatSlashShape determineMixR hookstart hookend CyrDescender Fork Miniature Thinner Widen FlipAround ScaleAround Realign ForceUpright Overlay diagCor CreateWaveShape NameUni PointingTo WithDerivatives WithAIHSerifsMask SNeck WithTransform
|
||||||
|
|
|
@ -6,7 +6,7 @@ import [designParameters] from '../meta/aesthetics'
|
||||||
|
|
||||||
glyph-module
|
glyph-module
|
||||||
|
|
||||||
glyph-block Symbol-Punctuation : begin
|
glyph-block Symbol-Punctuation-Brackets : begin
|
||||||
|
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Overmarks
|
glyph-block-import Overmarks
|
||||||
|
@ -15,7 +15,6 @@ glyph-block Symbol-Punctuation : begin
|
||||||
define MosaicBottom fontMetrics.OS_2.sTypoDescender
|
define MosaicBottom fontMetrics.OS_2.sTypoDescender
|
||||||
define MosaicHeight : MosaicTop - MosaicBottom
|
define MosaicHeight : MosaicTop - MosaicBottom
|
||||||
|
|
||||||
do 'Brackets'
|
|
||||||
define [ParenDim delta] : object
|
define [ParenDim delta] : object
|
||||||
outside : [mix SB RightSB designParameters.parenOutside] - delta
|
outside : [mix SB RightSB designParameters.parenOutside] - delta
|
||||||
inside : mix SB RightSB designParameters.parenInside
|
inside : mix SB RightSB designParameters.parenInside
|
||||||
|
@ -350,7 +349,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
turned 'floorRight' 0x230B 'ceilingLeft' Middle symbolMid
|
turned 'floorRight' 0x230B 'ceilingLeft' Middle symbolMid
|
||||||
turned 'ceilingRight' 0x2309 'floorLeft' Middle symbolMid
|
turned 'ceilingRight' 0x2309 'floorLeft' Middle symbolMid
|
||||||
|
|
||||||
do 'Small Punctuations'
|
glyph-block Symbol-Punctuation-Small : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
sketch # period
|
sketch # period
|
||||||
set-width Width
|
set-width Width
|
||||||
include : DotAt Middle PeriodRadius (PeriodRadius - O)
|
include : DotAt Middle PeriodRadius (PeriodRadius - O)
|
||||||
|
@ -425,7 +427,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
save 'semicolon' ';'
|
save 'semicolon' ';'
|
||||||
save 'greekquestion' 0x37E
|
save 'greekquestion' 0x37E
|
||||||
|
|
||||||
do 'Emotion Punctuations'
|
glyph-block Symbol-Punctuation-Emotion : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
local questionBottom : Math.max (CAP * 0.3) (DotSize * 1.5)
|
local questionBottom : Math.max (CAP * 0.3) (DotSize * 1.5)
|
||||||
|
|
||||||
define [QuestionShape top questionBottom left right] : glyph-construction
|
define [QuestionShape top questionBottom left right] : glyph-construction
|
||||||
|
@ -515,9 +520,9 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : HBarTop SB RightSB (symbolMid - XH * 0.1) OperatorStroke
|
include : HBarTop SB RightSB (symbolMid - XH * 0.1) OperatorStroke
|
||||||
save 'palatoalveolarclick' 0x1C2
|
save 'palatoalveolarclick' 0x1C2
|
||||||
|
|
||||||
do 'Typographic Symbols'
|
glyph-block Symbol-Punctuation-Ampersand : begin
|
||||||
sketch # ampersand
|
glyph-block-import CommonShapes
|
||||||
set-width Width
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
local sw : adviceBlackness2 3 3 CAP
|
local sw : adviceBlackness2 3 3 CAP
|
||||||
local fine : adviceBlackness 3.5
|
local fine : adviceBlackness 3.5
|
||||||
|
@ -527,10 +532,9 @@ glyph-block Symbol-Punctuation : begin
|
||||||
local rr 0.95
|
local rr 0.95
|
||||||
local q 0.45
|
local q 0.45
|
||||||
local r 1.1
|
local r 1.1
|
||||||
|
|
||||||
local endX : [mix SB RightSB r] - sw * HVContrast
|
local endX : [mix SB RightSB r] - sw * HVContrast
|
||||||
|
|
||||||
include : difference
|
create-glyph 'ampersand.closed' : difference
|
||||||
dispiro
|
dispiro
|
||||||
widths.rhs fine
|
widths.rhs fine
|
||||||
flat (RightSB - O) CapMiddle [heading Downward]
|
flat (RightSB - O) CapMiddle [heading Downward]
|
||||||
|
@ -548,7 +552,44 @@ glyph-block Symbol-Punctuation : begin
|
||||||
flat [mix SB endX 0.5] [mix 0 (CAP - SmoothA * pr) 0.5]
|
flat [mix SB endX 0.5] [mix 0 (CAP - SmoothA * pr) 0.5]
|
||||||
curl [mix SB endX 2] (- CAP + SmoothA * pr)
|
curl [mix SB endX 2] (- CAP + SmoothA * pr)
|
||||||
Rect 0 (-CAP * 2) endX (Width * 2)
|
Rect 0 (-CAP * 2) endX (Width * 2)
|
||||||
save 'ampersand' '&'
|
|
||||||
|
create-glyph 'ampersand.open' : union
|
||||||
|
difference
|
||||||
|
dispiro
|
||||||
|
widths.rhs fine
|
||||||
|
flat (RightSB - O) CapMiddle [heading Downward]
|
||||||
|
curl (RightSB - O) SmoothA
|
||||||
|
arcvh
|
||||||
|
g4 (Middle + CorrectionOMidX * sw) O [widths.rhs sw]
|
||||||
|
archv
|
||||||
|
g4 (SB + O) SmoothB
|
||||||
|
alsoThru 0.5 0.5 [widths.center sw]
|
||||||
|
g4 [mix SB RightSB p] (CAP - SmoothB * pr) [widths.lhs sw]
|
||||||
|
Rect (CAP * 2) CapMiddle Middle Width
|
||||||
|
intersection
|
||||||
|
Rect (CAP * 2) SmoothA 0 (RightSB - fine * HVContrast)
|
||||||
|
WithTransform [Translate (-O) 0] : spiro-outline
|
||||||
|
g4 ([mix SB RightSB [mix p l 0.5]] - CorrectionOMidX * sw) (CAP - O)
|
||||||
|
archv
|
||||||
|
g4 [mix SB RightSB l] (CAP - SmoothA * pr)
|
||||||
|
flat [mix SB endX 0.5] [mix 0 (CAP - SmoothA * pr) 0.5]
|
||||||
|
corner [mix SB endX 2] (- CAP + SmoothA * pr)
|
||||||
|
corner ([mix SB endX 2] + Width * 2) (- CAP + SmoothA * pr)
|
||||||
|
corner ([mix SB endX 2] + Width * 2) (CAP - O)
|
||||||
|
difference
|
||||||
|
dispiro
|
||||||
|
g4 [mix SB RightSB p] (CAP - SmoothB * pr) [widths.lhs sw]
|
||||||
|
hookstart CAP
|
||||||
|
g4 [mix SB RightSB l] (CAP - SmoothA * pr)
|
||||||
|
flat [mix SB endX 0.5] [mix 0 (CAP - SmoothA * pr) 0.5]
|
||||||
|
curl [mix SB endX 2] (- CAP + SmoothA * pr)
|
||||||
|
Rect 0 (-CAP * 2) endX (Width * 2)
|
||||||
|
|
||||||
|
select-variant 'ampersand' '&'
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-At : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
sketch # at.threefold
|
sketch # at.threefold
|
||||||
set-width Width
|
set-width Width
|
||||||
|
@ -683,6 +724,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
|
|
||||||
select-variant 'at' '@'
|
select-variant 'at' '@'
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-ParagraphAndSection : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
sketch # paragraph
|
sketch # paragraph
|
||||||
set-width Width
|
set-width Width
|
||||||
local sw : adviceBlackness 3.6
|
local sw : adviceBlackness 3.6
|
||||||
|
@ -735,7 +780,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include s
|
include s
|
||||||
save 'section' 0xA7
|
save 'section' 0xA7
|
||||||
|
|
||||||
do "Asterisk"
|
glyph-block Symbol-Punctuation-Asterisk : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
local asteriskCenterY : parenTop - LongJut * 1.5
|
local asteriskCenterY : parenTop - LongJut * 1.5
|
||||||
local asteriskKinds : list
|
local asteriskKinds : list
|
||||||
list 5 1.2 Stroke 'asterisk' 'high' 'low'
|
list 5 1.2 Stroke 'asterisk' 'high' 'low'
|
||||||
|
@ -767,7 +815,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
to-name -- 'asterisk.dfltlow'
|
to-name -- 'asterisk.dfltlow'
|
||||||
transform -- {.high 'low' .hexhigh 'hexlow'}
|
transform -- {.high 'low' .hexhigh 'hexlow'}
|
||||||
|
|
||||||
do "Slashes and numbersign"
|
glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
define slashDefautLeft : SB + HalfStroke
|
define slashDefautLeft : SB + HalfStroke
|
||||||
define slashDefaultRight : RightSB - HalfStroke
|
define slashDefaultRight : RightSB - HalfStroke
|
||||||
define [SlashShape l r _t _b _w] : glyph-construction
|
define [SlashShape l r _t _b _w] : glyph-construction
|
||||||
|
@ -781,33 +832,6 @@ glyph-block Symbol-Punctuation : begin
|
||||||
line-to (r - w * cor) t
|
line-to (r - w * cor) t
|
||||||
reverse-last
|
reverse-last
|
||||||
|
|
||||||
do "numbersign"
|
|
||||||
local nsTop : mix symbolMid parenTop 0.85
|
|
||||||
local nsBot : mix symbolMid parenBot 0.85
|
|
||||||
local fine : adviceBlackness 3.5
|
|
||||||
local l : SB - fine / 2
|
|
||||||
local r : RightSB + fine / 2
|
|
||||||
local hsp : ((r - l) - (fine * 2 * HVContrast)) * 0.3
|
|
||||||
|
|
||||||
sketch # numbersign.upright
|
|
||||||
include : HBar l r [mix nsTop nsBot 0.3]
|
|
||||||
include : HBar l r [mix nsTop nsBot 0.7]
|
|
||||||
include : VBarLeft (l + hsp) nsBot nsTop fine
|
|
||||||
include : VBarRight (r - hsp) nsBot nsTop fine
|
|
||||||
save 'numbersign.upright'
|
|
||||||
|
|
||||||
sketch # numbersign.slanted
|
|
||||||
local x : hsp + fine / 2 * HVContrast
|
|
||||||
local w : (r - l) * 0.15
|
|
||||||
local shift : w / 3
|
|
||||||
include : HBar (l + shift) (r + shift) [mix nsTop nsBot 0.3]
|
|
||||||
include : HBar (l - shift) (r - shift) [mix nsTop nsBot 0.7]
|
|
||||||
include : SlashShape (l + x - w) (l + x + w) nsTop nsBot fine
|
|
||||||
include : SlashShape (r - x - w) (r - x + w) nsTop nsBot fine
|
|
||||||
save 'numbersign.slanted'
|
|
||||||
|
|
||||||
select-variant 'numbersign' '#'
|
|
||||||
|
|
||||||
sketch # slash
|
sketch # slash
|
||||||
include : SlashShape slashDefautLeft slashDefaultRight
|
include : SlashShape slashDefautLeft slashDefaultRight
|
||||||
save 'slash' '/'
|
save 'slash' '/'
|
||||||
|
@ -845,8 +869,37 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : BackslashShape 0 (Middle + backslashWidth / 2)
|
include : BackslashShape 0 (Middle + backslashWidth / 2)
|
||||||
save 'backslash.right'
|
save 'backslash.right'
|
||||||
|
|
||||||
|
do "numbersign"
|
||||||
|
local nsTop : mix symbolMid parenTop 0.85
|
||||||
|
local nsBot : mix symbolMid parenBot 0.85
|
||||||
|
local fine : adviceBlackness 3.5
|
||||||
|
local l : SB - fine / 2
|
||||||
|
local r : RightSB + fine / 2
|
||||||
|
local hsp : ((r - l) - (fine * 2 * HVContrast)) * 0.3
|
||||||
|
|
||||||
|
sketch # numbersign.upright
|
||||||
|
include : HBar l r [mix nsTop nsBot 0.3]
|
||||||
|
include : HBar l r [mix nsTop nsBot 0.7]
|
||||||
|
include : VBarLeft (l + hsp) nsBot nsTop fine
|
||||||
|
include : VBarRight (r - hsp) nsBot nsTop fine
|
||||||
|
save 'numbersign.upright'
|
||||||
|
|
||||||
|
sketch # numbersign.slanted
|
||||||
|
local x : hsp + fine / 2 * HVContrast
|
||||||
|
local w : (r - l) * 0.15
|
||||||
|
local shift : w / 3
|
||||||
|
include : HBar (l + shift) (r + shift) [mix nsTop nsBot 0.3]
|
||||||
|
include : HBar (l - shift) (r - shift) [mix nsTop nsBot 0.7]
|
||||||
|
include : SlashShape (l + x - w) (l + x + w) nsTop nsBot fine
|
||||||
|
include : SlashShape (r - x - w) (r - x + w) nsTop nsBot fine
|
||||||
|
save 'numbersign.slanted'
|
||||||
|
|
||||||
|
select-variant 'numbersign' '#'
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-Dashes : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
do 'Dashes'
|
|
||||||
do 'underscore'
|
do 'underscore'
|
||||||
define openBoxGap : Math.max (Stroke * 1.25) (XH / 4)
|
define openBoxGap : Math.max (Stroke * 1.25) (XH / 4)
|
||||||
define [OpenBoxSide y] : begin
|
define [OpenBoxSide y] : begin
|
||||||
|
@ -924,8 +977,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : HBar 0 (MosaicWidth * 2) symbolMid
|
include : HBar 0 (MosaicWidth * 2) symbolMid
|
||||||
save [MangleName 'doubleEmDash']
|
save [MangleName 'doubleEmDash']
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-Interpuncts : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
do 'Interpuncts'
|
|
||||||
sketch # interpunct
|
sketch # interpunct
|
||||||
include : DotAt Middle symbolMid (PeriodRadius - O)
|
include : DotAt Middle symbolMid (PeriodRadius - O)
|
||||||
save 'period.mid'
|
save 'period.mid'
|
||||||
|
@ -952,9 +1007,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
DotAt MosaicMiddle symbolMid (radius - O - s)
|
DotAt MosaicMiddle symbolMid (radius - O - s)
|
||||||
save [MangleName 'whiteBullet'] [MangleUnicode 0x25E6]
|
save [MangleName 'whiteBullet'] [MangleUnicode 0x25E6]
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
|
|
||||||
do 'Quotes and Primes'
|
|
||||||
local quoteTop (CAP * 1.05)
|
local quoteTop (CAP * 1.05)
|
||||||
local quoteBottom (XH * 0.85)
|
local quoteBottom (XH * 0.85)
|
||||||
|
|
||||||
|
@ -1097,7 +1153,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
curl (Middle + d - wide) quoteBottom [widths.heading fine fine Downward]
|
curl (Middle + d - wide) quoteBottom [widths.heading fine fine Downward]
|
||||||
save 'revtripleprime' 0x2037
|
save 'revtripleprime' 0x2037
|
||||||
|
|
||||||
do 'guillemet'
|
glyph-block Symbol-Punctuation-Guillemet : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
sketch # singleGuillemetLeft
|
sketch # singleGuillemetLeft
|
||||||
local top : mix symbolMid parenTop 0.5
|
local top : mix symbolMid parenTop 0.5
|
||||||
local bot : mix symbolMid parenBot 0.5
|
local bot : mix symbolMid parenBot 0.5
|
||||||
|
@ -1138,8 +1197,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : FlipAround Middle symbolMid
|
include : FlipAround Middle symbolMid
|
||||||
save 'guillemetRight' 0xBB
|
save 'guillemetRight' 0xBB
|
||||||
|
|
||||||
|
glyph-block Symbol-Punctuation-Daggers : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
do 'Daggers'
|
|
||||||
sketch # dagger
|
sketch # dagger
|
||||||
include : HBar SB RightSB [mix parenTop parenBot 0.33]
|
include : HBar SB RightSB [mix parenTop parenBot 0.33]
|
||||||
include : VBar Middle parenBot parenTop
|
include : VBar Middle parenBot parenTop
|
||||||
|
@ -1151,12 +1212,15 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : HBar SB RightSB [mix parenTop parenBot 0.67]
|
include : HBar SB RightSB [mix parenTop parenBot 0.67]
|
||||||
save 'doubledagger' 0x2021
|
save 'doubledagger' 0x2021
|
||||||
|
|
||||||
do "Ellipsis"
|
glyph-block Symbol-Punctuation-Ellipsis : begin
|
||||||
define [DotRadius darkness space] : begin
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
|
define [EllipsisDotRadius darkness space] : begin
|
||||||
return : 0.5 * [adviceBlackness darkness (space / Width)] * PeriodSize / Stroke
|
return : 0.5 * [adviceBlackness darkness (space / Width)] * PeriodSize / Stroke
|
||||||
|
|
||||||
define [VerticalThreeDotsShape x bottom top] : glyph-construction
|
define [VerticalThreeDotsShape x bottom top] : glyph-construction
|
||||||
local radius : DotRadius 5 (top - bottom)
|
local radius : EllipsisDotRadius 5 (top - bottom)
|
||||||
local mid : mix bottom top 0.5
|
local mid : mix bottom top 0.5
|
||||||
include : DotAt x (bottom + radius) (radius - O)
|
include : DotAt x (bottom + radius) (radius - O)
|
||||||
include : DotAt x mid (radius - O)
|
include : DotAt x mid (radius - O)
|
||||||
|
@ -1165,13 +1229,13 @@ glyph-block Symbol-Punctuation : begin
|
||||||
for-width-kinds WideWidth1 "Ellipsis"
|
for-width-kinds WideWidth1 "Ellipsis"
|
||||||
sketch # onedotLeader
|
sketch # onedotLeader
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
local radius : DotRadius 3.5 MosaicWidth
|
local radius : EllipsisDotRadius 3.5 MosaicWidth
|
||||||
include : DotAt (MosaicWidth / 2) radius (radius - O)
|
include : DotAt (MosaicWidth / 2) radius (radius - O)
|
||||||
save [MangleName 'onedotLeader'] [MangleUnicode 0x2024]
|
save [MangleName 'onedotLeader'] [MangleUnicode 0x2024]
|
||||||
|
|
||||||
sketch # twodotsLEader
|
sketch # twodotsLEader
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
local radius : DotRadius 3.5 MosaicWidth
|
local radius : EllipsisDotRadius 3.5 MosaicWidth
|
||||||
local left : mix 0 MosaicWidth (1 / 4)
|
local left : mix 0 MosaicWidth (1 / 4)
|
||||||
local right : mix 0 MosaicWidth (3 / 4)
|
local right : mix 0 MosaicWidth (3 / 4)
|
||||||
include : DotAt left radius (radius - O)
|
include : DotAt left radius (radius - O)
|
||||||
|
@ -1180,7 +1244,7 @@ glyph-block Symbol-Punctuation : begin
|
||||||
|
|
||||||
sketch # ellipsis
|
sketch # ellipsis
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
local radius : DotRadius 5 MosaicWidth
|
local radius : EllipsisDotRadius 5 MosaicWidth
|
||||||
local left : mix 0 MosaicWidth (1 / 6)
|
local left : mix 0 MosaicWidth (1 / 6)
|
||||||
local right : mix 0 MosaicWidth (5 / 6)
|
local right : mix 0 MosaicWidth (5 / 6)
|
||||||
include : DotAt left radius (radius - O)
|
include : DotAt left radius (radius - O)
|
||||||
|
@ -1202,7 +1266,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
include : VerticalThreeDotsShape Middle 0 XH
|
include : VerticalThreeDotsShape Middle 0 XH
|
||||||
save 'tricolon' 0x205D
|
save 'tricolon' 0x205D
|
||||||
|
|
||||||
do 'Percentages'
|
glyph-block Symbol-Punctuation-Percentages : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
define [PercentBarCor df sw] : HVContrast / [Math.sqrt (1 - [Math.pow ((df.rightSB - df.leftSB - sw) / (CAP - 0)) 2])]
|
define [PercentBarCor df sw] : HVContrast / [Math.sqrt (1 - [Math.pow ((df.rightSB - df.leftSB - sw) / (CAP - 0)) 2])]
|
||||||
define [PercentBarShape df sw] : glyph-construction
|
define [PercentBarShape df sw] : glyph-construction
|
||||||
local cor : PercentBarCor df sw
|
local cor : PercentBarCor df sw
|
||||||
|
@ -1353,7 +1420,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
select-variant 'permille.NWID' 0x2030 (follow -- 'percent')
|
select-variant 'permille.NWID' 0x2030 (follow -- 'percent')
|
||||||
select-variant 'basepoint.NWID' 0x2031 (follow -- 'percent')
|
select-variant 'basepoint.NWID' 0x2031 (follow -- 'percent')
|
||||||
|
|
||||||
do "ASCII Marks"
|
glyph-block Symbol-Punctuation-Ascii-Marks : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
local MarkZoom : glyph-construction
|
local MarkZoom : glyph-construction
|
||||||
apply-transform : Upright
|
apply-transform : Upright
|
||||||
apply-transform : Translate (-Middle) (-XH - Accent)
|
apply-transform : Translate (-Middle) (-XH - Accent)
|
||||||
|
@ -1377,7 +1447,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
alias 'mdfStress' 0x2C8 'singleQuote'
|
alias 'mdfStress' 0x2C8 'singleQuote'
|
||||||
turned 'mdfSecondaryStress' 0x2CC 'singleQuote' Middle (XH / 2)
|
turned 'mdfSecondaryStress' 0x2CC 'singleQuote' Middle (XH / 2)
|
||||||
|
|
||||||
do "Ties"
|
glyph-block Symbol-Punctuation-Ties : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
sketch
|
sketch
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs OperatorStroke
|
widths.lhs OperatorStroke
|
||||||
|
@ -1388,7 +1461,10 @@ glyph-block Symbol-Punctuation : begin
|
||||||
g4 (RightSB - OX) 0
|
g4 (RightSB - OX) 0
|
||||||
save "undertie" 0x203F
|
save "undertie" 0x203F
|
||||||
|
|
||||||
do "Ligation Variants"
|
glyph-block Symbol-Punctuation-Ligation Variants : begin
|
||||||
|
glyph-block-import CommonShapes
|
||||||
|
glyph-block-import Overmarks
|
||||||
|
|
||||||
define dotLikePunctuations : list
|
define dotLikePunctuations : list
|
||||||
* "colon"
|
* "colon"
|
||||||
* "colon.mid"
|
* "colon.mid"
|
||||||
|
@ -1399,7 +1475,7 @@ glyph-block Symbol-Punctuation : begin
|
||||||
* "question"
|
* "question"
|
||||||
* "exclam"
|
* "exclam"
|
||||||
|
|
||||||
foreach [baseName : items-of dotLikePunctuations] : sketch
|
foreach [baseName : items-of dotLikePunctuations] : if [query-glyph baseName] : sketch
|
||||||
include [refer-glyph baseName] AS_BASE ALSO_METRICS
|
include [refer-glyph baseName] AS_BASE ALSO_METRICS
|
||||||
save (baseName + ".lig.dMid")
|
save (baseName + ".lig.dMid")
|
||||||
local delta : Math.max 0 : Width / 2 - (XH - PeriodSize) / 2
|
local delta : Math.max 0 : Width / 2 - (XH - PeriodSize) / 2
|
||||||
|
|
|
@ -151,7 +151,7 @@ define-macro glyph-block-import : syntax-rules
|
||||||
LegShape LeftHook HooktopLeftBar CurlyTail HCurlyTail FlatSlashShape determineMixR
|
LegShape LeftHook HooktopLeftBar CurlyTail HCurlyTail FlatSlashShape determineMixR
|
||||||
hookstart hookend CyrDescender Fork Miniature Thinner Widen FlipAround ScaleAround
|
hookstart hookend CyrDescender Fork Miniature Thinner Widen FlipAround ScaleAround
|
||||||
Realign ForceUpright Overlay diagCor CreateWaveShape NameUni PointingTo WithDerivatives
|
Realign ForceUpright Overlay diagCor CreateWaveShape NameUni PointingTo WithDerivatives
|
||||||
WithAIHSerifsMask SNeck]
|
WithAIHSerifsMask SNeck WithTransform]
|
||||||
|
|
||||||
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
||||||
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
||||||
|
|
|
@ -583,6 +583,17 @@ sampler = '#'
|
||||||
description = 'Number sign with slanted bars'
|
description = 'Number sign with slanted bars'
|
||||||
numbersign = 'slanted'
|
numbersign = 'slanted'
|
||||||
|
|
||||||
|
[simple.v-ampersand-closed]
|
||||||
|
tag = 'VXAG'
|
||||||
|
sampler = '&'
|
||||||
|
description = 'Ampersand (`&`) with a closed contour'
|
||||||
|
ampersand = 'closed'
|
||||||
|
|
||||||
|
[simple.v-ampersand-open]
|
||||||
|
tag = 'VXAH'
|
||||||
|
sampler = '&'
|
||||||
|
description = 'Ampersand (`&`) with an open contour'
|
||||||
|
ampersand = 'open'
|
||||||
|
|
||||||
[simple.v-at-threefold]
|
[simple.v-at-threefold]
|
||||||
tag = 'cv31'
|
tag = 'cv31'
|
||||||
|
@ -717,7 +728,8 @@ design = [
|
||||||
'v-capital-g-tooth',
|
'v-capital-g-tooth',
|
||||||
'v-lambda-straight',
|
'v-lambda-straight',
|
||||||
'v-nine-closed-contour',
|
'v-nine-closed-contour',
|
||||||
'v-six-open-contour'
|
'v-six-open-contour',
|
||||||
|
'v-ampersand-closed'
|
||||||
]
|
]
|
||||||
upright = [
|
upright = [
|
||||||
'v-a-doublestorey',
|
'v-a-doublestorey',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue