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).
|
||||
* 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)
|
||||
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-block Symbol-Punctuation : begin
|
||||
glyph-block Symbol-Punctuation-Brackets : begin
|
||||
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
@ -15,7 +15,6 @@ glyph-block Symbol-Punctuation : begin
|
|||
define MosaicBottom fontMetrics.OS_2.sTypoDescender
|
||||
define MosaicHeight : MosaicTop - MosaicBottom
|
||||
|
||||
do 'Brackets'
|
||||
define [ParenDim delta] : object
|
||||
outside : [mix SB RightSB designParameters.parenOutside] - delta
|
||||
inside : mix SB RightSB designParameters.parenInside
|
||||
|
@ -350,7 +349,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
turned 'floorRight' 0x230B 'ceilingLeft' 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
|
||||
set-width Width
|
||||
include : DotAt Middle PeriodRadius (PeriodRadius - O)
|
||||
|
@ -425,7 +427,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
save 'semicolon' ';'
|
||||
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)
|
||||
|
||||
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
|
||||
save 'palatoalveolarclick' 0x1C2
|
||||
|
||||
do 'Typographic Symbols'
|
||||
sketch # ampersand
|
||||
set-width Width
|
||||
glyph-block Symbol-Punctuation-Ampersand : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
local sw : adviceBlackness2 3 3 CAP
|
||||
local fine : adviceBlackness 3.5
|
||||
|
@ -527,10 +532,9 @@ glyph-block Symbol-Punctuation : begin
|
|||
local rr 0.95
|
||||
local q 0.45
|
||||
local r 1.1
|
||||
|
||||
local endX : [mix SB RightSB r] - sw * HVContrast
|
||||
|
||||
include : difference
|
||||
create-glyph 'ampersand.closed' : difference
|
||||
dispiro
|
||||
widths.rhs fine
|
||||
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]
|
||||
curl [mix SB endX 2] (- CAP + SmoothA * pr)
|
||||
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
|
||||
set-width Width
|
||||
|
@ -683,6 +724,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
|
||||
select-variant 'at' '@'
|
||||
|
||||
glyph-block Symbol-Punctuation-ParagraphAndSection : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
sketch # paragraph
|
||||
set-width Width
|
||||
local sw : adviceBlackness 3.6
|
||||
|
@ -735,7 +780,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
include s
|
||||
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 asteriskKinds : list
|
||||
list 5 1.2 Stroke 'asterisk' 'high' 'low'
|
||||
|
@ -767,7 +815,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
to-name -- 'asterisk.dfltlow'
|
||||
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 slashDefaultRight : RightSB - HalfStroke
|
||||
define [SlashShape l r _t _b _w] : glyph-construction
|
||||
|
@ -781,33 +832,6 @@ glyph-block Symbol-Punctuation : begin
|
|||
line-to (r - w * cor) t
|
||||
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
|
||||
include : SlashShape slashDefautLeft slashDefaultRight
|
||||
save 'slash' '/'
|
||||
|
@ -845,8 +869,37 @@ glyph-block Symbol-Punctuation : begin
|
|||
include : BackslashShape 0 (Middle + backslashWidth / 2)
|
||||
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'
|
||||
define openBoxGap : Math.max (Stroke * 1.25) (XH / 4)
|
||||
define [OpenBoxSide y] : begin
|
||||
|
@ -924,8 +977,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
include : HBar 0 (MosaicWidth * 2) symbolMid
|
||||
save [MangleName 'doubleEmDash']
|
||||
|
||||
glyph-block Symbol-Punctuation-Interpuncts : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
do 'Interpuncts'
|
||||
sketch # interpunct
|
||||
include : DotAt Middle symbolMid (PeriodRadius - O)
|
||||
save 'period.mid'
|
||||
|
@ -952,9 +1007,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
DotAt MosaicMiddle symbolMid (radius - O - s)
|
||||
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 quoteBottom (XH * 0.85)
|
||||
|
||||
|
@ -1097,7 +1153,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
curl (Middle + d - wide) quoteBottom [widths.heading fine fine Downward]
|
||||
save 'revtripleprime' 0x2037
|
||||
|
||||
do 'guillemet'
|
||||
glyph-block Symbol-Punctuation-Guillemet : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
sketch # singleGuillemetLeft
|
||||
local top : mix symbolMid parenTop 0.5
|
||||
local bot : mix symbolMid parenBot 0.5
|
||||
|
@ -1138,8 +1197,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
include : FlipAround Middle symbolMid
|
||||
save 'guillemetRight' 0xBB
|
||||
|
||||
glyph-block Symbol-Punctuation-Daggers : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
do 'Daggers'
|
||||
sketch # dagger
|
||||
include : HBar SB RightSB [mix parenTop parenBot 0.33]
|
||||
include : VBar Middle parenBot parenTop
|
||||
|
@ -1151,12 +1212,15 @@ glyph-block Symbol-Punctuation : begin
|
|||
include : HBar SB RightSB [mix parenTop parenBot 0.67]
|
||||
save 'doubledagger' 0x2021
|
||||
|
||||
do "Ellipsis"
|
||||
define [DotRadius darkness space] : begin
|
||||
glyph-block Symbol-Punctuation-Ellipsis : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
define [EllipsisDotRadius darkness space] : begin
|
||||
return : 0.5 * [adviceBlackness darkness (space / Width)] * PeriodSize / Stroke
|
||||
|
||||
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
|
||||
include : DotAt x (bottom + radius) (radius - O)
|
||||
include : DotAt x mid (radius - O)
|
||||
|
@ -1165,13 +1229,13 @@ glyph-block Symbol-Punctuation : begin
|
|||
for-width-kinds WideWidth1 "Ellipsis"
|
||||
sketch # onedotLeader
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 3.5 MosaicWidth
|
||||
local radius : EllipsisDotRadius 3.5 MosaicWidth
|
||||
include : DotAt (MosaicWidth / 2) radius (radius - O)
|
||||
save [MangleName 'onedotLeader'] [MangleUnicode 0x2024]
|
||||
|
||||
sketch # twodotsLEader
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 3.5 MosaicWidth
|
||||
local radius : EllipsisDotRadius 3.5 MosaicWidth
|
||||
local left : mix 0 MosaicWidth (1 / 4)
|
||||
local right : mix 0 MosaicWidth (3 / 4)
|
||||
include : DotAt left radius (radius - O)
|
||||
|
@ -1180,7 +1244,7 @@ glyph-block Symbol-Punctuation : begin
|
|||
|
||||
sketch # ellipsis
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 5 MosaicWidth
|
||||
local radius : EllipsisDotRadius 5 MosaicWidth
|
||||
local left : mix 0 MosaicWidth (1 / 6)
|
||||
local right : mix 0 MosaicWidth (5 / 6)
|
||||
include : DotAt left radius (radius - O)
|
||||
|
@ -1202,7 +1266,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
include : VerticalThreeDotsShape Middle 0 XH
|
||||
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 [PercentBarShape df sw] : glyph-construction
|
||||
local cor : PercentBarCor df sw
|
||||
|
@ -1353,7 +1420,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
select-variant 'permille.NWID' 0x2030 (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
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate (-Middle) (-XH - Accent)
|
||||
|
@ -1377,7 +1447,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
alias 'mdfStress' 0x2C8 'singleQuote'
|
||||
turned 'mdfSecondaryStress' 0x2CC 'singleQuote' Middle (XH / 2)
|
||||
|
||||
do "Ties"
|
||||
glyph-block Symbol-Punctuation-Ties : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
sketch
|
||||
include : dispiro
|
||||
widths.lhs OperatorStroke
|
||||
|
@ -1388,7 +1461,10 @@ glyph-block Symbol-Punctuation : begin
|
|||
g4 (RightSB - OX) 0
|
||||
save "undertie" 0x203F
|
||||
|
||||
do "Ligation Variants"
|
||||
glyph-block Symbol-Punctuation-Ligation Variants : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
||||
define dotLikePunctuations : list
|
||||
* "colon"
|
||||
* "colon.mid"
|
||||
|
@ -1399,7 +1475,7 @@ glyph-block Symbol-Punctuation : begin
|
|||
* "question"
|
||||
* "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
|
||||
save (baseName + ".lig.dMid")
|
||||
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
|
||||
hookstart hookend CyrDescender Fork Miniature Thinner Widen FlipAround ScaleAround
|
||||
Realign ForceUpright Overlay diagCor CreateWaveShape NameUni PointingTo WithDerivatives
|
||||
WithAIHSerifsMask SNeck]
|
||||
WithAIHSerifsMask SNeck WithTransform]
|
||||
|
||||
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
||||
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
||||
|
|
|
@ -583,6 +583,17 @@ sampler = '#'
|
|||
description = 'Number sign with slanted bars'
|
||||
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]
|
||||
tag = 'cv31'
|
||||
|
@ -717,7 +728,8 @@ design = [
|
|||
'v-capital-g-tooth',
|
||||
'v-lambda-straight',
|
||||
'v-nine-closed-contour',
|
||||
'v-six-open-contour'
|
||||
'v-six-open-contour',
|
||||
'v-ampersand-closed'
|
||||
]
|
||||
upright = [
|
||||
'v-a-doublestorey',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue