Add toothless variant of b
(#462).
This commit is contained in:
parent
84a8cb809c
commit
8d1e942de4
5 changed files with 84 additions and 27 deletions
|
@ -1,4 +1,5 @@
|
|||
* Change shape of Peseta sign to `P` with crossbar (#451).
|
||||
* Add Cyrillic Fita (#617).
|
||||
* Add a more rounded variant of `D` (#616).
|
||||
* Add support for open number sign (`VXBI` and `VXBJ`, #621).
|
||||
* Add support for open number sign (`VXBI` and `VXBJ`, #621).
|
||||
* Add toothless variant of `b` (#462).
|
|
@ -278,6 +278,30 @@ glyph-block CommonShapes : begin
|
|||
flat (left + (Stroke - fine) * HVContrast) (top - SmallSmoothA) [widths fine 0]
|
||||
curl (left + (Stroke - fine) * HVContrast) (top - SmallSmoothA - 0.01) [widths fine 0]
|
||||
|
||||
define [OBarLeftToothlessShape _top _left _hBlend _rise _mBlend] : glyph-construction
|
||||
local top : fallback _top XH
|
||||
local left : fallback _left SB
|
||||
local hBlend : fallback _hBlend 0.5
|
||||
local rise : fallback _rise SHook
|
||||
local mBlend : fallback _mBlend [Math.sqrt (1 / 2)]
|
||||
local fine ShoulderFine
|
||||
local st : shoulderMidSlope fine nothing 1
|
||||
local sb : shoulderMidSlope fine nothing (-1)
|
||||
local mt : [mix left RightSB 0.5] + (st - CorrectionOMidX) * Stroke
|
||||
local mb : [mix left RightSB 0.5] + CorrectionOMidX * Stroke
|
||||
include : dispiro
|
||||
g4 left rise [widths.lhs Stroke]
|
||||
alsoThru.g2 0.5 mBlend important
|
||||
g4.right.mid mb O
|
||||
archv
|
||||
flat (RightSB - OX) (0 + SmallSmoothA)
|
||||
curl (RightSB - OX) (top - SmallSmoothB)
|
||||
arcvh
|
||||
g4 (mt) (top - O) [widths.heading Stroke 0 {.y (-1) .x (-st)}]
|
||||
archv
|
||||
flat (left + (Stroke - fine) * HVContrast) (top - SmallSmoothA) [widths fine 0]
|
||||
curl (left + (Stroke - fine) * HVContrast) (top - SmallSmoothA - 0.01) [widths fine 0]
|
||||
|
||||
define [OBarRightShape top right] : glyph-construction
|
||||
include : create-glyph [OBarLeftShape top (Width - [fallback right RightSB])]
|
||||
include : FlipAround Middle ([fallback top XH] / 2)
|
||||
|
@ -492,7 +516,7 @@ glyph-block CommonShapes : begin
|
|||
g4.down.end (x - LeftHook.extension) (y - HookX) [heading Downward]
|
||||
set LeftHook.extension [Math.max (Width * 0.15) ([adviceBlackness 4.25] * 1.5)]
|
||||
|
||||
define [HooktopLeftBar stroke bottom] : glyph-construction
|
||||
define [HooktopLeftBar] : params [stroke bottom] : glyph-construction
|
||||
include : dispiro
|
||||
widths.lhs [fallback stroke Stroke]
|
||||
g4 RightSB (CAP - Hook)
|
||||
|
@ -814,4 +838,4 @@ glyph-block CommonShapes : begin
|
|||
set currentGlyph.markAnchors {.}
|
||||
set currentGlyph.markBnchors {.}
|
||||
|
||||
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 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 ReverseContours clear-anchors
|
||||
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 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 ReverseContours clear-anchors OBarLeftToothlessShape
|
||||
|
|
|
@ -33,6 +33,12 @@ glyph-block Letter-Shared : begin
|
|||
include : Italify
|
||||
include srcGlyph AS_BASE ALSO_METRICS
|
||||
|
||||
glyph-block-export CreateDerivedLetter
|
||||
define [CreateDerivedLetter gnFrom gnTo unicode f]
|
||||
WithDerivatives gnFrom gnTo : lambda [src sel] : glyph-construction
|
||||
if [not sel] : assign-unicode unicode
|
||||
include [f src sel] AS_BASE ALSO_METRICS
|
||||
|
||||
glyph-block Letter-Latin-Upper-I : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
|
@ -2259,8 +2265,13 @@ glyph-block Letter-Latin-Upper-B : begin
|
|||
glyph-block Letter-Latin-Lower-B : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Overmarks
|
||||
glyph-block-import Letter-Shared : CreateDerivedLetter
|
||||
|
||||
sketch # b
|
||||
define BToothlessRise : Hook * 0.375 + Stroke / 16
|
||||
define BHBlend 0.475
|
||||
define BMBlend 0.80
|
||||
|
||||
create-glyph 'b.toothed' : glyph-construction
|
||||
set-width Width
|
||||
include MarkSet.b
|
||||
|
||||
|
@ -2270,38 +2281,48 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
include : tagged 'serifLT' : LeftwardTopSerif SB CAP SideJut
|
||||
include : tagged 'serifLB' : LeftwardBottomSerif SB 0 SideJut
|
||||
|
||||
save 'b' 'b'
|
||||
create-glyph 'b.toothless' : glyph-construction
|
||||
set-width Width
|
||||
include MarkSet.b
|
||||
|
||||
sketch # bhooktop
|
||||
include : OBarLeftToothlessShape XH SB BHBlend BToothlessRise BMBlend
|
||||
include : VBarLeft SB BToothlessRise CAP
|
||||
if SLAB : begin
|
||||
include : tagged 'serifLT' : LeftwardTopSerif SB CAP SideJut
|
||||
|
||||
select-variant 'b' 'b'
|
||||
|
||||
create-glyph 'bhooktop.toothed' : glyph-construction
|
||||
include MarkSet.b
|
||||
include : OBarLeftShape
|
||||
include : HooktopLeftBar
|
||||
if SLAB : begin
|
||||
include : tagged 'serifLB' : LeftwardBottomSerif SB 0 SideJut
|
||||
|
||||
create-glyph 'bhooktop.toothless' : glyph-construction
|
||||
include MarkSet.b
|
||||
include : OBarLeftToothlessShape XH SB BHBlend BToothlessRise BMBlend
|
||||
include : HooktopLeftBar (bottom -- BToothlessRise)
|
||||
|
||||
save 'bhooktop' 0x253
|
||||
select-variant 'bhooktop' 0x253 (follow -- 'b')
|
||||
|
||||
sketch # bbar
|
||||
include [refer-glyph 'b'] AS_BASE
|
||||
CreateDerivedLetter 'b' 'bbar' 0x180 : lambda [src sel] : glyph-construction
|
||||
include [refer-glyph src] AS_BASE
|
||||
include : HOverlayBar [mix SB 0 0.7] [mix SB RightSB 0.5] [mix XH CAP 0.45]
|
||||
save 'bbar' 0x180
|
||||
|
||||
sketch # bdot
|
||||
CreateDerivedLetter 'b' 'bdot' 0x1E03 : lambda [src sel] : glyph-construction
|
||||
include : refer-glyph "dotAbove"
|
||||
apply-transform : Translate (Width + HalfStroke) 0
|
||||
include [refer-glyph 'b'] AS_BASE
|
||||
save 'bdot' 0x1E03
|
||||
include [refer-glyph src] AS_BASE
|
||||
|
||||
sketch # latinbe
|
||||
include [refer-glyph 'b'] AS_BASE
|
||||
CreateDerivedLetter 'b' 'latinbe' 0x183 : lambda [src sel] : glyph-construction
|
||||
include [refer-glyph src] AS_BASE
|
||||
include : HBarTop (SB - O) [mix SB RightSB 0.9] CAP
|
||||
if SLAB : begin
|
||||
include : DownwardRightSerif [mix SB RightSB 0.9] CAP VJut
|
||||
save 'latinbe' 0x183
|
||||
|
||||
sketch # zhuangtonesix
|
||||
include [refer-glyph 'b'] AS_BASE
|
||||
CreateDerivedLetter 'b' 'zhuangtonesix' 0x185 : lambda [src sel] : glyph-construction
|
||||
include [refer-glyph src] AS_BASE
|
||||
eject-contour 'serifLT'
|
||||
local s : Math.max (XH * 0.1) Stroke
|
||||
include : ReverseContours : spiro-outline
|
||||
|
@ -2310,8 +2331,6 @@ glyph-block Letter-Latin-Lower-B : begin
|
|||
corner (SB - s) (CAP - s)
|
||||
corner SB (CAP - s * 2)
|
||||
corner (SB - O) (CAP - s * 2)
|
||||
save 'zhuangtonesix' 0x185
|
||||
|
||||
|
||||
glyph-block Letter-Latin-Upper-D : begin
|
||||
glyph-block-import CommonShapes
|
||||
|
|
|
@ -130,12 +130,12 @@ define-macro glyph-block-import : syntax-rules
|
|||
OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif
|
||||
RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif
|
||||
DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs
|
||||
AIHSerifs AINSerifs AICyrISerifs AIMSerifs 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 ReverseContours clear-anchors]
|
||||
AIHSerifs AINSerifs AICyrISerifs AIMSerifs 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 ReverseContours clear-anchors OBarLeftToothlessShape]
|
||||
|
||||
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
||||
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
||||
|
|
|
@ -111,6 +111,18 @@ sampler = 'f'
|
|||
description = '`f` with a leftward bottom hook'
|
||||
variant.f = "tailed"
|
||||
|
||||
[simple.v-b-toothed]
|
||||
tag = "VXBK"
|
||||
sampler = 'b'
|
||||
description = '`b` with bottom-left tooth'
|
||||
variant.b = "toothed"
|
||||
|
||||
[simple.v-b-toothless]
|
||||
tag = "VXBL"
|
||||
sampler = 'b'
|
||||
description = '`b` without botton-left tooth'
|
||||
variant.b = "toothless"
|
||||
|
||||
[simple.v-f-serifed]
|
||||
tag = "cv84"
|
||||
sampler = 'f'
|
||||
|
@ -908,7 +920,8 @@ design = [
|
|||
'v-four-closed',
|
||||
'v-q-straight',
|
||||
'v-z-standard',
|
||||
'v-capital-d-standard'
|
||||
'v-capital-d-standard',
|
||||
'v-b-toothed'
|
||||
]
|
||||
upright = [
|
||||
'v-a-doublestorey',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue