Add Characters:
- CYRILLIC SMALL LETTER UNBLENDED UK (`U+1C88`) (#1517). - CYRILLIC CAPITAL LETTER MONOGRAPH UK (`U+A64A`) (#1517). - CYRILLIC SMALL LETTER MONOGRAPH UK (`U+A64B`) (#1517).
This commit is contained in:
parent
27c894be11
commit
2874d1ad86
11 changed files with 168 additions and 64 deletions
|
@ -6,6 +6,7 @@ end_of_line = lf
|
|||
trim_trailing_whitespace = true
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{js,jsx,ts,tsx}]
|
||||
insert_final_newline = true
|
||||
|
@ -16,7 +17,6 @@ block_comment_end = */
|
|||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
# The indent size used in the `package.json` file cannot be changed
|
||||
|
|
4
changes/22.1.3.md
Normal file
4
changes/22.1.3.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
Add Characters:
|
||||
- CYRILLIC SMALL LETTER UNBLENDED UK (`U+1C88`) (#1517).
|
||||
- CYRILLIC CAPITAL LETTER MONOGRAPH UK (`U+A64A`) (#1517).
|
||||
- CYRILLIC SMALL LETTER MONOGRAPH UK (`U+A64B`) (#1517).
|
|
@ -24,6 +24,7 @@ export : define [apply] : begin
|
|||
run-glyph-module "./cyrillic/te-midhook.mjs"
|
||||
run-glyph-module "./cyrillic/tse.mjs"
|
||||
run-glyph-module "./cyrillic/tshe.mjs"
|
||||
run-glyph-module "./cyrillic/lower-uk.mjs"
|
||||
run-glyph-module "./cyrillic/yat.mjs"
|
||||
run-glyph-module "./cyrillic/yeri.mjs"
|
||||
run-glyph-module "./cyrillic/yu.mjs"
|
||||
|
|
|
@ -114,12 +114,15 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
|||
local xIotifiedBarRight : df.leftSB + HVContrast * df.mvs
|
||||
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) [AdviceStroke 6]
|
||||
include : difference
|
||||
WithTransform [ApparentTranslate shift 0] : ALetterShape subDf CAP df.mvs fStraightBar slabKind
|
||||
intersection [MaskBelow df.mvs] [MaskLeft : mix xIotifiedBarRight [Math.min (subDf.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5]
|
||||
WithTransform [ApparentTranslate shift 0]
|
||||
ALetterShape subDf fStraightBar slabKind CAP df.mvs
|
||||
intersection [MaskBelow df.mvs]
|
||||
MaskLeft : mix xIotifiedBarRight [Math.min (subDf.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5
|
||||
|
||||
include : difference
|
||||
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) (fCapital -- true)
|
||||
WithTransform [ApparentTranslate shift 0] [AMaskShape subDf CAP df.mvs fStraightBar slabKind]
|
||||
WithTransform [ApparentTranslate shift 0]
|
||||
AMaskShape subDf fStraightBar CAP df.mvs
|
||||
|
||||
do "iotified a"
|
||||
glyph-block-import Letter-Latin-Lower-A : DoubleStorey
|
||||
|
|
37
font-src/glyphs/letter/cyrillic/lower-uk.ptl
Normal file
37
font-src/glyphs/letter/cyrillic/lower-uk.ptl
Normal file
|
@ -0,0 +1,37 @@
|
|||
$$include '../../../meta/macros.ptl'
|
||||
|
||||
import [mix linreg clamp fallback] from"../../../support/utils.mjs"
|
||||
|
||||
glyph-module
|
||||
|
||||
glyph-block Letter-Cyrillic-Lower-Blended-Uk : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
create-glyph 'cyrl/uk' 0xA64B : glyph-proc
|
||||
include : MarkSet.b
|
||||
|
||||
local kLeftX 0.8
|
||||
local kLeftY 0.875
|
||||
local kRightX 1
|
||||
local kRightY 1
|
||||
local yCross : mix 0 Ascender 0.45
|
||||
|
||||
local stress : AdviceStroke 2.75
|
||||
local fine : AdviceStroke 3
|
||||
|
||||
local smallRingRadius : (0.25 * (RightSB - SB)) + 0.5 * fine
|
||||
local subDf : DivFrame ((2 * smallRingRadius + 2 * SB) / Width)
|
||||
local ada : ArchDepthAOf smallRingRadius subDf.width
|
||||
local adb : ArchDepthBOf smallRingRadius subDf.width
|
||||
|
||||
include : dispiro
|
||||
g4.down.start [mix Middle SB kLeftX] [mix 0 Ascender kLeftY] [widths.lhs.heading stress Downward]
|
||||
g4 Middle yCross [widths.center stress]
|
||||
g4 (Middle + smallRingRadius - OX) ada [widths.rhs fine]
|
||||
arcvh
|
||||
g4 (Middle + CorrectionOMidX * fine) O
|
||||
archv
|
||||
g4 (Middle - smallRingRadius + OX) adb
|
||||
g4 Middle yCross [widths.center stress]
|
||||
g4.up.mid [mix Middle RightSB kRightX] [mix 0 Ascender kRightY] [widths.lhs.heading stress Upward]
|
|
@ -8,16 +8,20 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Shared-Shapes : SerifFrame
|
||||
glyph-block-import Letter-Latin-V : VShape
|
||||
glyph-block-import Letter-Latin-Upper-A : LambdaShape DeltaShape AMaskShape
|
||||
glyph-block-import Letter-Cyrillic-Iotified-A : Iotified
|
||||
|
||||
define [CyrSmallYusShape df top straightBar _fine] : glyph-proc
|
||||
local fine : fallback _fine : AdviceStroke 3.3 df.div
|
||||
include : LambdaShape df top fine straightBar (slab -- false)
|
||||
include : LambdaShape
|
||||
df -- df
|
||||
fBarStraight -- straightBar
|
||||
top -- top
|
||||
sw -- fine
|
||||
slab -- false
|
||||
include : intersection
|
||||
HBar.t df.leftSB df.rightSB (top / 2) fine
|
||||
AMaskShape df top fine straightBar
|
||||
AMaskShape df straightBar top fine
|
||||
include : VBar.m df.middle (top / 2) 0 fine
|
||||
|
||||
if SLAB : begin
|
||||
|
@ -28,11 +32,16 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
include : tagged 'serifMB' sf.mb.full
|
||||
|
||||
define [CyrClosedSmallYusShape df top straightBar _fine] : glyph-proc
|
||||
local fine : fallback _fine : AdviceStroke 3.3 df.div
|
||||
include : DeltaShape df top fine straightBar (slab -- false)
|
||||
local fine : fallback _fine : AdviceStroke 2.75 df.div
|
||||
include : DeltaShape
|
||||
df -- df
|
||||
top -- top
|
||||
sw -- fine
|
||||
fBarStraight -- straightBar
|
||||
slab -- false
|
||||
include : intersection
|
||||
HBar.t df.leftSB df.rightSB (top / 2) fine
|
||||
AMaskShape df top fine straightBar
|
||||
AMaskShape df straightBar top fine
|
||||
|
||||
if SLAB : begin
|
||||
local sf : SerifFrame.fromDf df top 0 (swSerif -- fine)
|
||||
|
@ -54,14 +63,14 @@ glyph-block Letter-Cyrillic-SmallYus : begin
|
|||
create-forked-glyph 'cyrl/smallYus.curly' : CyrSmallYusShape df XH false
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : DivFrame para.diversityM 3
|
||||
local df : DivFrame 1
|
||||
set-width df.width
|
||||
include : df.markSet.capital
|
||||
create-forked-glyph 'cyrl/SmallYusClosed.straight' : CyrClosedSmallYusShape df CAP true
|
||||
create-forked-glyph 'cyrl/SmallYusClosed.curly' : CyrClosedSmallYusShape df CAP false
|
||||
|
||||
create-glyph : glyph-proc
|
||||
local df : DivFrame 1 3
|
||||
local df : DivFrame 1
|
||||
set-width df.width
|
||||
include : df.markSet.e
|
||||
create-forked-glyph 'cyrl/smallYusClosed.straight' : CyrClosedSmallYusShape df XH true
|
||||
|
|
|
@ -16,12 +16,12 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
|
|||
define [AHalfShape pShift df top fStraightBar slabKind] : begin
|
||||
local { subDf shift } : SubDfAndShift pShift df
|
||||
return : WithTransform [ApparentTranslate shift 0]
|
||||
ALetterShape subDf top df.mvs fStraightBar slabKind
|
||||
ALetterShape subDf fStraightBar slabKind top df.mvs
|
||||
|
||||
define [AHalfShapeMask pShift df top fStraightBar slabKind] : begin
|
||||
local { subDf shift } : SubDfAndShift pShift df
|
||||
return : WithTransform [ApparentTranslate shift 0]
|
||||
AMaskShape subDf top df.mvs fStraightBar
|
||||
AMaskShape subDf fStraightBar top df.mvs
|
||||
|
||||
define SLAB-NONE 0
|
||||
define SLAB-TOP 1
|
||||
|
|
|
@ -13,7 +13,6 @@ glyph-block Letter-Latin-Upper-A : begin
|
|||
glyph-block-import Letter-Shared : SetGrekUpperTonos CreateOgonekComposition
|
||||
glyph-block-import Letter-Shared-Shapes : SerifFrame
|
||||
glyph-block-import Letter-Latin-V : VShapeOutline VShape
|
||||
glyph-block-export LambdaShape AMaskShape DeltaShape
|
||||
|
||||
define SLAB-NONE 0
|
||||
define SLAB-TOP 1
|
||||
|
@ -21,9 +20,9 @@ glyph-block Letter-Latin-Upper-A : begin
|
|||
define SLAB-RIGHT 4
|
||||
|
||||
glyph-block-export AMaskShape
|
||||
define [AMaskShape df top sw barStraight] : new-glyph : glyph-proc
|
||||
include : VShapeOutline df top sw barStraight
|
||||
include : FlipAround ([DivFrame df.div].width / 2) (top / 2)
|
||||
define [AMaskShape] : params [df fBarStraight top sw] : new-glyph : glyph-proc
|
||||
include : VShapeOutline df fBarStraight top sw
|
||||
include : FlipAround (df.width / 2) (top / 2)
|
||||
|
||||
define [ABarPosition fBaseSlabs top] : mix [if fBaseSlabs Stroke 0] top (XH / 2 / CAP)
|
||||
|
||||
|
@ -48,12 +47,12 @@ glyph-block Letter-Latin-Upper-A : begin
|
|||
: else : HSerif.lt df.middle top [mix MidJutSide LongJut 0.5] sf.swSerif
|
||||
|
||||
glyph-block-export ALetterShape
|
||||
define [ALetterShape] : params [df top sw fStraightBar slabKind] : new-glyph : glyph-proc
|
||||
include : VShape df top sw fStraightBar
|
||||
define [ALetterShape] : params [df fStraightBar slabKind top sw] : new-glyph : glyph-proc
|
||||
include : VShape df fStraightBar top sw
|
||||
include : FlipAround df.middle (top / 2)
|
||||
define yBar : ABarPosition [maskBits slabKind : bitOr SLAB-LEFT SLAB-RIGHT] top
|
||||
include : tagged 'crossBar'
|
||||
intersection [HBar.t 0 df.width yBar] [AMaskShape df top sw fStraightBar]
|
||||
intersection [HBar.t 0 df.width yBar] [AMaskShape df fStraightBar top sw]
|
||||
include : ASerifs df top sw slabKind
|
||||
|
||||
foreach { suffix { fStraightBar slabKind } } [Object.entries AConfig] : do
|
||||
|
@ -93,36 +92,51 @@ glyph-block Letter-Latin-Upper-A : begin
|
|||
turned 'turnA' 0x2C6F 'A' Middle (CAP / 2)
|
||||
|
||||
# Lambda
|
||||
define [LambdaShape] : params [df top sw barStraight [slab SLAB]] : glyph-proc
|
||||
include : VShape df top sw barStraight
|
||||
glyph-block-export LambdaShape
|
||||
define [LambdaShape] : params [df fBarStraight top sw [slab SLAB]] : glyph-proc
|
||||
include : VShape df fBarStraight top sw
|
||||
include : FlipAround df.middle (top / 2)
|
||||
local sf : SerifFrame.fromDf df top 0
|
||||
include : NeedSlab slab : composite-proc sf.lb.full sf.rb.full
|
||||
|
||||
create-glyph 'grek/Lambda.straight' : composite-proc [MarkSet.capital]
|
||||
LambdaShape [DivFrame 1] CAP Stroke true
|
||||
LambdaShape [DivFrame 1] true CAP Stroke
|
||||
create-glyph 'grek/Lambda.curly' : composite-proc [MarkSet.capital]
|
||||
LambdaShape [DivFrame 1] CAP Stroke false
|
||||
LambdaShape [DivFrame 1] false CAP Stroke
|
||||
create-glyph 'grek/smcpLambda.straight' : composite-proc [MarkSet.e]
|
||||
LambdaShape [DivFrame 1] XH Stroke true
|
||||
LambdaShape [DivFrame 1] true XH Stroke
|
||||
create-glyph 'grek/smcpLambda.curly' : composite-proc [MarkSet.e]
|
||||
LambdaShape [DivFrame 1] XH Stroke false
|
||||
LambdaShape [DivFrame 1] false XH Stroke
|
||||
|
||||
select-variant 'grek/Lambda' 0x39B
|
||||
select-variant 'grek/smcpLambda' 0x1D27 (follow -- 'grek/Lambda')
|
||||
alias 'latinLambda' 0x245 'grek/Lambda'
|
||||
|
||||
# Delta
|
||||
define [DeltaShape df top sw barStraight] : union
|
||||
LambdaShape df top sw barStraight (slab -- false)
|
||||
glyph-block-export DeltaShape
|
||||
define [DeltaShape] : params [df top sw fBarStraight] : union
|
||||
LambdaShape
|
||||
df -- df
|
||||
fBarStraight -- fBarStraight
|
||||
top -- top
|
||||
sw -- sw
|
||||
slab -- false
|
||||
intersection
|
||||
HBar.b 0 df.width 0 sw
|
||||
AMaskShape df top sw barStraight
|
||||
AMaskShape df fBarStraight top sw
|
||||
|
||||
create-glyph 'grek/Delta.straight' : composite-proc [MarkSet.capital]
|
||||
DeltaShape [DivFrame 1] CAP Stroke true
|
||||
DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- true
|
||||
top -- CAP
|
||||
sw -- Stroke
|
||||
create-glyph 'grek/Delta.curly' : composite-proc [MarkSet.capital]
|
||||
DeltaShape [DivFrame 1] CAP Stroke false
|
||||
DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- false
|
||||
top -- CAP
|
||||
sw -- Stroke
|
||||
|
||||
select-variant 'grek/Delta' 0x394
|
||||
|
||||
|
|
|
@ -37,11 +37,11 @@ glyph-block Letter-Latin-Upper-Y : begin
|
|||
local maskLT : slabType == SLAB-ALL || slabType == SLAB-MOTION
|
||||
local maskRT : slabType == SLAB-ALL
|
||||
|
||||
include : tagged 'strokeLT' : WithSerifOverflowMask maskLT CAP 0 SB RightSB
|
||||
include : tagged 'strokeLT' : WithSerifOverflowMask maskLT top bot SB RightSB
|
||||
HalfXStrand bodyType SLAB SB top Middle cross 0.1 0.4 0.28
|
||||
include : tagged 'strokeRT' : WithSerifOverflowMask maskRT CAP 0 SB RightSB
|
||||
include : tagged 'strokeRT' : WithSerifOverflowMask maskRT top bot SB RightSB
|
||||
HalfXStrand bodyType SLAB RightSB top Middle cross 0.1 0.4 0.28
|
||||
include : VBar.m Middle bot (cross + HalfStroke)
|
||||
include : tagged 'strokeVMid' : VBar.m Middle bot (cross + HalfStroke)
|
||||
set-base-anchor 'overlay' Middle cross
|
||||
|
||||
define [YenOverlayShape slabType] : glyph-proc
|
||||
|
|
|
@ -24,18 +24,18 @@ glyph-block Letter-Latin-V : begin
|
|||
define StraightSbShrink : mix 1 (DesignParameters.straightVShapeSbShrink * [StrokeWidthBlend 1 0.75]) : if SLAB 0.75 1
|
||||
define [VShapeTopFlat top] : if SLAB [Math.min (top - Stroke) (top * 0.9)] (top * 0.9)
|
||||
|
||||
define [VShapeOutline] : params [df top [sw Stroke] barStraight] : glyph-proc
|
||||
define [VShapeOutline] : params [df fBarStraight top [sw Stroke]] : glyph-proc
|
||||
define cornerHW : VCornerHalfWidth * sw / Stroke
|
||||
define dgCor : DiagCor top (Width / 2) 0 (sw * 2)
|
||||
define clearance : 0 - OX
|
||||
|
||||
local sbScale : if barStraight StraightSbShrink 1
|
||||
local sbScale : if fBarStraight StraightSbShrink 1
|
||||
define vxStartL : df.leftSB * sbScale + clearance
|
||||
define vxEndL : df.middle - cornerHW + clearance
|
||||
define vxStartR : df.width - df.leftSB * sbScale - clearance
|
||||
define vxEndR : df.middle + cornerHW - clearance
|
||||
|
||||
if barStraight : do
|
||||
if fBarStraight : do
|
||||
include : spiro-outline
|
||||
flat [mix vxStartL vxEndL 0] [mix top 0 0]
|
||||
curl [mix vxStartL vxEndL pInktrap] [mix top 0 pInktrap]
|
||||
|
@ -54,25 +54,25 @@ glyph-block Letter-Latin-V : begin
|
|||
flat vxStartR [VShapeTopFlat top]
|
||||
curl vxStartR top
|
||||
|
||||
define [VBottomCapShape df barStraight sw] : begin
|
||||
define [VBottomCapShape df fBarStraight sw] : begin
|
||||
define cornerHW : VCornerHalfWidth * sw / Stroke
|
||||
return : spiro-outline
|
||||
corner (df.middle + cornerHW) 0
|
||||
corner (df.middle - cornerHW) 0
|
||||
corner df.middle [Math.min sw : if barStraight VShapeFineStraight VShapeFine]
|
||||
corner df.middle [Math.min sw : if fBarStraight VShapeFineStraight VShapeFine]
|
||||
|
||||
define [VShape] : params [df top [sw Stroke] barStraight] : glyph-proc
|
||||
define [VShape] : params [df fBarStraight top [sw Stroke]] : glyph-proc
|
||||
define cornerHW : VCornerHalfWidth * (sw / Stroke)
|
||||
define fine : Math.min sw : [if barStraight VShapeFineStraight VShapeFine] * (sw / Stroke)
|
||||
define fine : Math.min sw : [if fBarStraight VShapeFineStraight VShapeFine] * (sw / Stroke)
|
||||
define dgCor : DiagCor (2 * top) Width 0 (2 * sw)
|
||||
|
||||
local sbScale : if barStraight StraightSbShrink 1
|
||||
local sbScale : if fBarStraight StraightSbShrink 1
|
||||
define vxStartL : df.leftSB * sbScale
|
||||
define vxEndL : df.middle - cornerHW
|
||||
define vxStartR : df.width - df.leftSB * sbScale
|
||||
define vxEndR : df.middle + cornerHW
|
||||
|
||||
if barStraight : do
|
||||
if fBarStraight : do
|
||||
define midSW : dgCor * VShapeMiddleWidth / Stroke * sw
|
||||
include : tagged 'strokeDown' : dispiro
|
||||
widths.lhs (sw * dgCor)
|
||||
|
@ -99,7 +99,7 @@ glyph-block Letter-Latin-V : begin
|
|||
g4 vxEndR 0 [widths.rhs fine]
|
||||
|
||||
#bottom cap
|
||||
include : VBottomCapShape df barStraight sw
|
||||
include : VBottomCapShape df fBarStraight sw
|
||||
|
||||
define [VCursiveShapeBarPos k] : mix SB RightSB k
|
||||
define [VCursiveShape] : params [k top [sw Stroke]] : glyph-proc
|
||||
|
@ -125,10 +125,10 @@ glyph-block Letter-Latin-V : begin
|
|||
mix xArcMidBottom xArcRight 0.5
|
||||
mix O yArcRight : archv.yFromX 0.5 2
|
||||
|
||||
define [VHooktopShape df barStraight top] : glyph-proc
|
||||
include : VShape df top Stroke barStraight
|
||||
define [VHooktopShape df fBarStraight top] : glyph-proc
|
||||
include : VShape df fBarStraight top Stroke
|
||||
eject-contour 'strokeUp'
|
||||
include : VBottomCapShape df barStraight Stroke
|
||||
include : VBottomCapShape df fBarStraight Stroke
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
straight.left.start (RightSB + HookX / 3) (top - Stroke)
|
||||
|
@ -136,14 +136,14 @@ glyph-block Letter-Latin-V : begin
|
|||
quadControls 0.4 0.75 64 unimportant
|
||||
g4 (Middle + VCornerHalfWidth) 0 [widths.rhs VShapeFine]
|
||||
|
||||
define [VSerifs df top barStraight] : begin
|
||||
local sbScale : if barStraight StraightSbShrink 1
|
||||
local sbOffset : if barStraight (OX * [StrokeWidthBlend 1 2]) 0
|
||||
define [VSerifs df fBarStraight top] : begin
|
||||
local sbScale : if fBarStraight StraightSbShrink 1
|
||||
local sbOffset : if fBarStraight (OX * [StrokeWidthBlend 1 2]) 0
|
||||
local sf : SerifFrame top 0 (df.leftSB * sbScale - sbOffset) (df.width - df.leftSB * sbScale + sbOffset)
|
||||
return : NeedSlab SLAB : composite-proc sf.lt.full sf.rt.full
|
||||
define [VMotionSerifs df top barStraight] : begin
|
||||
local sbScale : if barStraight StraightSbShrink 1
|
||||
local sbOffset : if barStraight (OX * [StrokeWidthBlend 1 2]) 0
|
||||
define [VMotionSerifs df fBarStraight top] : begin
|
||||
local sbScale : if fBarStraight StraightSbShrink 1
|
||||
local sbOffset : if fBarStraight (OX * [StrokeWidthBlend 1 2]) 0
|
||||
local sf : SerifFrame top 0 (df.leftSB * sbScale - sbOffset) (df.width - df.leftSB * sbScale + sbOffset)
|
||||
return : composite-proc sf.lt.outer
|
||||
|
||||
|
@ -156,26 +156,47 @@ glyph-block Letter-Latin-V : begin
|
|||
foreach { suffix { Serifs fStraightBar }} [Object.entries VStandardConfig] : do
|
||||
create-glyph "V.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : VShape [DivFrame 1] CAP Stroke fStraightBar
|
||||
include : Serifs [DivFrame 1] CAP fStraightBar
|
||||
include : VShape [DivFrame 1] fStraightBar CAP Stroke
|
||||
include : Serifs [DivFrame 1] fStraightBar CAP
|
||||
|
||||
create-glyph "v.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : VShape [DivFrame 1] XH Stroke fStraightBar
|
||||
include : Serifs [DivFrame 1] XH fStraightBar
|
||||
include : VShape [DivFrame 1] fStraightBar XH Stroke
|
||||
include : Serifs [DivFrame 1] fStraightBar XH
|
||||
|
||||
create-glyph "VHookTop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : VHooktopShape [DivFrame 1] fStraightBar CAP
|
||||
include : Serifs [DivFrame 1] CAP fStraightBar
|
||||
include : Serifs [DivFrame 1] fStraightBar CAP
|
||||
eject-contour 'serifRT'
|
||||
|
||||
create-glyph "vHookTop.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : VHooktopShape [DivFrame 1] fStraightBar XH
|
||||
include : Serifs [DivFrame 1] XH fStraightBar
|
||||
include : Serifs [DivFrame 1] fStraightBar XH
|
||||
eject-contour 'serifRT'
|
||||
|
||||
create-glyph "cyrl/Uk.\(suffix)" : glyph-proc
|
||||
include : MarkSet.capital
|
||||
local vPartHeight : CAP * 0.45 + HalfStroke
|
||||
include : WithTransform [ApparentTranslate 0 (CAP - vPartHeight)] : glyph-proc
|
||||
include : VHooktopShape [DivFrame 1] fStraightBar vPartHeight
|
||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||
eject-contour 'serifRT'
|
||||
|
||||
local oHeight : CAP - vPartHeight + Stroke + O
|
||||
include : OShape oHeight 0 SB RightSB [AdviceStroke 2.75]
|
||||
include : VBar.m Middle (0.5 * oHeight) oHeight [AdviceStroke 4]
|
||||
|
||||
create-glyph "cyrl/ukUnblended.\(suffix)" : glyph-proc
|
||||
include : MarkSet.e
|
||||
local vPartHeight : Ascender * 0.45 + HalfStroke
|
||||
include : WithTransform [ApparentTranslate 0 (Ascender - vPartHeight)] : glyph-proc
|
||||
include : VHooktopShape [DivFrame 1] fStraightBar vPartHeight
|
||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||
eject-contour 'serifRT'
|
||||
include : OShape (Ascender - vPartHeight + Stroke + O) 0 SB RightSB
|
||||
|
||||
create-glyph "vPalatalHook.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "v.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include : PalatalHook.r
|
||||
|
@ -214,7 +235,10 @@ glyph-block Letter-Latin-V : begin
|
|||
select-variant "vPalatalHook" 0x1D8C (follow -- 'v')
|
||||
|
||||
select-variant 'vHookTop' 0x2C71 (follow -- 'v/nonCursive')
|
||||
select-variant 'cyrl/ukUnblended' 0x1C88 (follow -- 'v/nonCursive')
|
||||
|
||||
select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'VHookTop') (shapeFrom -- 'VHookTop')
|
||||
select-variant 'cyrl/Uk' 0xA64A (follow -- 'VHookTop')
|
||||
alias 'cyrl/izhitsa' 0x475 'vHookTop'
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ glyph-module
|
|||
glyph-block Symbol-Math-Letter-Like : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Latin-Upper-A : LambdaShape AMaskShape DeltaShape
|
||||
glyph-block-import Letter-Latin-Upper-A : DeltaShape
|
||||
glyph-block-import Letter-Latin-Upper-E : RevEShape
|
||||
|
||||
turned 'forall' 0x2200 'A.straightSerifless' Middle (CAP / 2)
|
||||
|
@ -27,18 +27,30 @@ glyph-block Symbol-Math-Letter-Like : begin
|
|||
|
||||
create-glyph 'increment' [CodeNonApl 0x2206] : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : DeltaShape [DivFrame 1] CAP OperatorStroke true
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- true
|
||||
top -- CAP
|
||||
sw -- OperatorStroke
|
||||
|
||||
create-glyph 'increment.aplForm' [CodeApl 0x2206] : glyph-proc
|
||||
include : MarkSet.oper
|
||||
define shapeHeight : OperTop - OperBot
|
||||
include : DeltaShape [DivFrame 1] shapeHeight OperatorStroke true
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- true
|
||||
top -- shapeHeight
|
||||
sw -- OperatorStroke
|
||||
include : ApparentTranslate 0 (SymbolMid - shapeHeight / 2)
|
||||
|
||||
create-glyph 'increment.aplThin' : glyph-proc
|
||||
include : MarkSet.oper
|
||||
define shapeHeight : OperTop - OperBot
|
||||
include : DeltaShape [DivFrame 1] shapeHeight [AdviceStroke 3.75] true
|
||||
include : DeltaShape
|
||||
df -- [DivFrame 1]
|
||||
fBarStraight -- true
|
||||
top -- shapeHeight
|
||||
sw -- [AdviceStroke 3.75]
|
||||
include : ApparentTranslate 0 (SymbolMid - shapeHeight / 2)
|
||||
|
||||
turned 'nabla' [CodeNonApl 0x2207] 'increment' Middle (CAP / 2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue