* Add characters:
- RIGHT ARROW WITH SMALL CIRCLE (`U+21F4`) (#1900). - LEFT RIGHT ARROW THROUGH SMALL CIRCLE (`U+2948`) (#1900). - LEFT ARROW WITH SMALL CIRCLE (`U+2B30`) (#1900).
This commit is contained in:
parent
85494ed45a
commit
e0ab2ce54d
39 changed files with 183 additions and 127 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
* Add characters:
|
||||||
|
- RIGHT ARROW WITH SMALL CIRCLE (`U+21F4`) (#1900).
|
||||||
|
- LEFT RIGHT ARROW THROUGH SMALL CIRCLE (`U+2948`) (#1900).
|
||||||
|
- LEFT ARROW WITH SMALL CIRCLE (`U+2B30`) (#1900).
|
||||||
* Make Cyrillic Abkhasian Che respond to C's serifs (#1898).
|
* Make Cyrillic Abkhasian Che respond to C's serifs (#1898).
|
||||||
* Drop APL form for `U+220D` as it is not used by any APL languages (#1901).
|
* Drop APL form for `U+220D` as it is not used by any APL languages (#1901).
|
||||||
* Add XH-height middle-serifed and dual-serifed variants for Eszet (#1904).
|
* Add XH-height middle-serifed and dual-serifed variants for Eszet (#1904).
|
||||||
|
|
|
@ -4,7 +4,6 @@ import * as CurveUtil from "../../support/geometry/curve-util.mjs";
|
||||||
import * as Geom from "../../support/geometry/index.mjs";
|
import * as Geom from "../../support/geometry/index.mjs";
|
||||||
import { Point } from "../../support/geometry/point.mjs";
|
import { Point } from "../../support/geometry/point.mjs";
|
||||||
import { Transform } from "../../support/geometry/transform.mjs";
|
import { Transform } from "../../support/geometry/transform.mjs";
|
||||||
import { mix } from "../../support/utils.mjs";
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -184,7 +184,7 @@ glyph-block AutoBuild-Enclosure : begin
|
||||||
set totalInnerWidth : totalInnerWidth + ([enclosureInnerPartActualWidth.get gniPart] || 0)
|
set totalInnerWidth : totalInnerWidth + ([enclosureInnerPartActualWidth.get gniPart] || 0)
|
||||||
local x : 0.5 * width - 0.5 * totalInnerWidth
|
local x : 0.5 * width - 0.5 * totalInnerWidth
|
||||||
foreach [gniPart : items-of finalParts] : begin
|
foreach [gniPart : items-of finalParts] : begin
|
||||||
include : WithTransform [Translate x 0] : refer-glyph gniPart
|
include : with-transform [Translate x 0] : refer-glyph gniPart
|
||||||
set x : x + ([enclosureInnerPartActualWidth.get gniPart] || 0)
|
set x : x + ([enclosureInnerPartActualWidth.get gniPart] || 0)
|
||||||
|
|
||||||
define [EnclosureInner gniPrefix gnEnclosure miniatureFont job dimens] : begin
|
define [EnclosureInner gniPrefix gnEnclosure miniatureFont job dimens] : begin
|
||||||
|
@ -1147,7 +1147,7 @@ glyph-block Autobuild-Ligatures : begin
|
||||||
local aw 0
|
local aw 0
|
||||||
foreach { i component } [components.entries] : do
|
foreach { i component } [components.entries] : do
|
||||||
local componentG : query-glyph component
|
local componentG : query-glyph component
|
||||||
include : WithTransform [Translate aw 0] : refer-glyph component
|
include : with-transform [Translate aw 0] : refer-glyph component
|
||||||
set aw : aw + componentG.advanceWidth
|
set aw : aw + componentG.advanceWidth
|
||||||
decomposition.push component
|
decomposition.push component
|
||||||
set-width aw
|
set-width aw
|
||||||
|
@ -1425,9 +1425,9 @@ glyph-block Autobuild-Double-Emotions : begin
|
||||||
define dfm2 : df2.queryByNameEnsured m2
|
define dfm2 : df2.queryByNameEnsured m2
|
||||||
local sumChildrenWidth : dfg1.advanceWidth * wadj1 + dfg2.advanceWidth * wadj2
|
local sumChildrenWidth : dfg1.advanceWidth * wadj1 + dfg2.advanceWidth * wadj2
|
||||||
local refW : sumChildrenWidth - kern
|
local refW : sumChildrenWidth - kern
|
||||||
include : union dfg2 [WithTransform [Translate (dfg2.advanceWidth) 0] dfm2]
|
include : union dfg2 [with-transform [Translate (dfg2.advanceWidth) 0] dfm2]
|
||||||
include : Translate (dfg1.advanceWidth * wadj1 - kern) 0
|
include : Translate (dfg1.advanceWidth * wadj1 - kern) 0
|
||||||
include : union dfg1 [WithTransform [Translate (dfg1.advanceWidth) 0] dfm1]
|
include : union dfg1 [with-transform [Translate (dfg1.advanceWidth) 0] dfm1]
|
||||||
include : Ungizmo
|
include : Ungizmo
|
||||||
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
|
||||||
|
@ -1462,7 +1462,7 @@ glyph-block Autobuild-Grouped-Digits : begin
|
||||||
create-glyph (gid + ".nd" + nd) : glyph-proc
|
create-glyph (gid + ".nd" + nd) : glyph-proc
|
||||||
include : refer-glyph gid
|
include : refer-glyph gid
|
||||||
if (nd >= 3 && nd <= 5) : begin
|
if (nd >= 3 && nd <= 5) : begin
|
||||||
include : WithTransform [Translate Width 0] : refer-glyph '.nd-shade'
|
include : with-transform [Translate Width 0] : refer-glyph '.nd-shade'
|
||||||
CvDecompose.set currentGlyph { gid '.nd-shade' }
|
CvDecompose.set currentGlyph { gid '.nd-shade' }
|
||||||
: else : begin
|
: else : begin
|
||||||
CvDecompose.set currentGlyph { gid }
|
CvDecompose.set currentGlyph { gid }
|
||||||
|
|
|
@ -575,8 +575,12 @@ glyph-block CommonShapes : begin
|
||||||
include giz
|
include giz
|
||||||
include g
|
include g
|
||||||
|
|
||||||
glyph-block-export WithTransform
|
glyph-block-export with-transform
|
||||||
define [WithTransform tfm gr] : new-glyph : composite-proc gr tfm
|
define [with-transform tfm gr] : new-glyph : composite-proc gr tfm
|
||||||
|
|
||||||
|
glyph-block-export clear-geometry
|
||||||
|
define [clear-geometry] : glyph-proc
|
||||||
|
currentGlyph.clearGeometry
|
||||||
|
|
||||||
glyph-block-export clear-anchors
|
glyph-block-export clear-anchors
|
||||||
define [clear-anchors] : glyph-proc
|
define [clear-anchors] : glyph-proc
|
||||||
|
|
|
@ -91,7 +91,7 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin
|
||||||
glyph-block-import Letter-Cyrillic-Zhe : Zhe
|
glyph-block-import Letter-Cyrillic-Zhe : Zhe
|
||||||
define [CyrRightZheShape legShape fSlab df top barLeft] : glyph-proc
|
define [CyrRightZheShape legShape fSlab df top barLeft] : glyph-proc
|
||||||
local [object subDf shift sw] : SubDfDim 1 3 df OX
|
local [object subDf shift sw] : SubDfDim 1 3 df OX
|
||||||
include : WithTransform [ApparentTranslate shift 0] : Zhe.HalfShape legShape fSlab subDf 0 top top
|
include : with-transform [ApparentTranslate shift 0] : Zhe.HalfShape legShape fSlab subDf 0 top top
|
||||||
include : HBar.m barLeft (shift + subDf.middle) (0.5 * top) sw
|
include : HBar.m barLeft (shift + subDf.middle) (0.5 * top) sw
|
||||||
|
|
||||||
define [DzzheLeft df] : begin
|
define [DzzheLeft df] : begin
|
||||||
|
|
|
@ -47,7 +47,7 @@ glyph-block Letter-Cyrillic-E : begin
|
||||||
define dfSub : DivFrame divSub 2
|
define dfSub : DivFrame divSub 2
|
||||||
|
|
||||||
local lf : CLetterForm dfSub sty styBot top 0 (ada -- ada) (adb -- adb) (sw -- df.mvs)
|
local lf : CLetterForm dfSub sty styBot top 0 (ada -- ada) (adb -- adb) (sw -- df.mvs)
|
||||||
include : WithTransform [ApparentTranslate (Width * (df.div - divSub)) 0] : lf.full
|
include : with-transform [ApparentTranslate (Width * (df.div - divSub)) 0] : lf.full
|
||||||
|
|
||||||
include : Iotified.full df top
|
include : Iotified.full df top
|
||||||
hBarRight -- [mix df.leftSB df.rightSB (3 / 4)]
|
hBarRight -- [mix df.leftSB df.rightSB (3 / 4)]
|
||||||
|
|
|
@ -114,14 +114,14 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
local xIotifiedBarRight : df.leftSB + [HSwToV df.mvs]
|
local xIotifiedBarRight : df.leftSB + [HSwToV df.mvs]
|
||||||
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) [AdviceStroke 6]
|
local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) [AdviceStroke 6]
|
||||||
include : difference
|
include : difference
|
||||||
WithTransform [ApparentTranslate shift 0]
|
with-transform [ApparentTranslate shift 0]
|
||||||
ALetterShape subDf fStraightBar slabKind CAP df.mvs
|
ALetterShape subDf fStraightBar slabKind CAP df.mvs
|
||||||
intersection [MaskBelow df.mvs]
|
intersection [MaskBelow df.mvs]
|
||||||
MaskLeft : mix xIotifiedBarRight [Math.min (subDf.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5
|
MaskLeft : mix xIotifiedBarRight [Math.min (subDf.leftSB + shift) (xIotifiedBarRight + botGap)] 0.5
|
||||||
|
|
||||||
include : difference
|
include : difference
|
||||||
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) (fCapital -- true)
|
Iotified.A df CAP [mix df.leftSB df.rightSB (3 / 4)] (CAP / 2) (fCapital -- true)
|
||||||
WithTransform [ApparentTranslate shift 0]
|
with-transform [ApparentTranslate shift 0]
|
||||||
AMaskShape subDf fStraightBar CAP df.mvs
|
AMaskShape subDf fStraightBar CAP df.mvs
|
||||||
|
|
||||||
do "iotified a"
|
do "iotified a"
|
||||||
|
@ -134,11 +134,11 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
|
|
||||||
local { subDf shift } : SubDfAndShift 1 df
|
local { subDf shift } : SubDfAndShift 1 df
|
||||||
include : WithTransform [ApparentTranslate shift 0] [body subDf df.mvs]
|
include : with-transform [ApparentTranslate shift 0] [body subDf df.mvs]
|
||||||
|
|
||||||
include : difference
|
include : difference
|
||||||
Iotified.full df XH [mix df.leftSB df.rightSB (3 / 4)] (XH / 2)
|
Iotified.full df XH [mix df.leftSB df.rightSB (3 / 4)] (XH / 2)
|
||||||
WithTransform [ApparentTranslate shift 0] [DoubleStorey.GetMask body df df.mvs]
|
with-transform [ApparentTranslate shift 0] [DoubleStorey.GetMask body df df.mvs]
|
||||||
|
|
||||||
foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do
|
foreach { suffix { body bar } } [Object.entries SingleStoreyConfig] : do
|
||||||
create-glyph "cyrl/aIotified.\(suffix)" : glyph-proc
|
create-glyph "cyrl/aIotified.\(suffix)" : glyph-proc
|
||||||
|
@ -147,7 +147,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
|
|
||||||
local { subDf shift } : SubDfAndShift 1 df
|
local { subDf shift } : SubDfAndShift 1 df
|
||||||
include : WithTransform [ApparentTranslate shift 0] [body subDf XH bar no-shape df.mvs]
|
include : with-transform [ApparentTranslate shift 0] [body subDf XH bar no-shape df.mvs]
|
||||||
|
|
||||||
include : Iotified.full df XH (shift + subDf.leftSB + [HSwToV : 0.5 * df.mvs]) (XH / 2)
|
include : Iotified.full df XH (shift + subDf.leftSB + [HSwToV : 0.5 * df.mvs]) (XH / 2)
|
||||||
|
|
||||||
|
@ -167,7 +167,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
|
|
||||||
local { subDf shift } : SubDfAndShift 1 df OX
|
local { subDf shift } : SubDfAndShift 1 df OX
|
||||||
include : WithTransform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
include : with-transform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
||||||
|
|
||||||
include : Iotified.full df XH df.middle (XH / 2)
|
include : Iotified.full df XH df.middle (XH / 2)
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ glyph-block Letter-Cyrillic-Yat : begin
|
||||||
define dfSub : DivFrame divSub 2
|
define dfSub : DivFrame divSub 2
|
||||||
|
|
||||||
local shift : Width * (df.div - divSub)
|
local shift : Width * (df.div - divSub)
|
||||||
include : WithTransform [ApparentTranslate shift 0]
|
include : with-transform [ApparentTranslate shift 0]
|
||||||
YatShape dfSub top pBar fLowerCase df.mvs (df.leftSB - shift)
|
YatShape dfSub top pBar fLowerCase df.mvs (df.leftSB - shift)
|
||||||
eject-contour 'serifDL'
|
eject-contour 'serifDL'
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ glyph-block Letter-Latin-Long-S : begin
|
||||||
|
|
||||||
define [IFishHookShape top bottom fSlab] : glyph-proc
|
define [IFishHookShape top bottom fSlab] : glyph-proc
|
||||||
local balance : IBalance2 : DivFrame 1
|
local balance : IBalance2 : DivFrame 1
|
||||||
include : WithTransform [Translate balance 0] : glyph-proc
|
include : with-transform [Translate balance 0] : glyph-proc
|
||||||
include : VBar.m Middle bottom (top - Hook)
|
include : VBar.m Middle bottom (top - Hook)
|
||||||
include : VerticalHook.m Middle (top - Hook) (-LongJut + balance) (-Hook + HalfStroke)
|
include : VerticalHook.m Middle (top - Hook) (-LongJut + balance) (-Hook + HalfStroke)
|
||||||
if fSlab : include : union
|
if fSlab : include : union
|
||||||
|
|
|
@ -20,7 +20,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
do "a subglyphs"
|
do "a subglyphs"
|
||||||
define [AAShape pShift df body o] : begin
|
define [AAShape pShift df body o] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df o
|
local { subDf shift } : SubDfAndShift pShift df o
|
||||||
return : WithTransform [ApparentTranslate shift 0] [body subDf df.mvs]
|
return : with-transform [ApparentTranslate shift 0] [body subDf df.mvs]
|
||||||
|
|
||||||
glyph-block-import Letter-Latin-Lower-A : DoubleStorey
|
glyph-block-import Letter-Latin-Lower-A : DoubleStorey
|
||||||
define DoubleStoreyConfig : object
|
define DoubleStoreyConfig : object
|
||||||
|
@ -49,22 +49,22 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
include : difference [right] : intersection
|
include : difference [right] : intersection
|
||||||
MaskAbove (XH * OverlayPos * 1.02)
|
MaskAbove (XH * OverlayPos * 1.02)
|
||||||
union
|
union
|
||||||
WithTransform [ApparentTranslate (-0.25 * df.mvs) 0] [left]
|
with-transform [ApparentTranslate (-0.25 * df.mvs) 0] [left]
|
||||||
WithTransform [ApparentTranslate (-0.50 * df.mvs) 0] [left]
|
with-transform [ApparentTranslate (-0.50 * df.mvs) 0] [left]
|
||||||
WithTransform [ApparentTranslate (-0.75 * df.mvs) 0] [left]
|
with-transform [ApparentTranslate (-0.75 * df.mvs) 0] [left]
|
||||||
WithTransform [ApparentTranslate (-1.00 * df.mvs) 0] [left]
|
with-transform [ApparentTranslate (-1.00 * df.mvs) 0] [left]
|
||||||
include : difference [left] : intersection
|
include : difference [left] : intersection
|
||||||
MaskBelow (XH * OverlayPos * 1.02)
|
MaskBelow (XH * OverlayPos * 1.02)
|
||||||
union
|
union
|
||||||
WithTransform [ApparentTranslate (+0.25 * df.mvs) 0] [right]
|
with-transform [ApparentTranslate (+0.25 * df.mvs) 0] [right]
|
||||||
WithTransform [ApparentTranslate (+0.50 * df.mvs) 0] [right]
|
with-transform [ApparentTranslate (+0.50 * df.mvs) 0] [right]
|
||||||
WithTransform [ApparentTranslate (+0.75 * df.mvs) 0] [right]
|
with-transform [ApparentTranslate (+0.75 * df.mvs) 0] [right]
|
||||||
WithTransform [ApparentTranslate (+1.00 * df.mvs) 0] [right]
|
with-transform [ApparentTranslate (+1.00 * df.mvs) 0] [right]
|
||||||
|
|
||||||
do "o subglyphs"
|
do "o subglyphs"
|
||||||
define [oeOPart pShift df top ad] : begin
|
define [oeOPart pShift df top ad] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df OX
|
local { subDf shift } : SubDfAndShift pShift df OX
|
||||||
return : WithTransform [ApparentTranslate shift 0]
|
return : with-transform [ApparentTranslate shift 0]
|
||||||
OShape top 0 subDf.leftSB subDf.rightSB df.mvs
|
OShape top 0 subDf.leftSB subDf.rightSB df.mvs
|
||||||
subDf.archDepthA ad
|
subDf.archDepthA ad
|
||||||
subDf.archDepthB ad
|
subDf.archDepthB ad
|
||||||
|
@ -100,12 +100,12 @@ glyph-block Letter-Latin-Lower-AE-OE : begin
|
||||||
|
|
||||||
define [EShape pShift df body] : begin
|
define [EShape pShift df body] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df OX
|
local { subDf shift } : SubDfAndShift pShift df OX
|
||||||
return : WithTransform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
return : with-transform [ApparentTranslate shift 0] [body subDf XH df.mvs]
|
||||||
|
|
||||||
define [InvEShape pShift df revbody] : begin
|
define [InvEShape pShift df revbody] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df OX
|
local { subDf shift } : SubDfAndShift pShift df OX
|
||||||
return : WithTransform [ApparentTranslate shift 0]
|
return : with-transform [ApparentTranslate shift 0]
|
||||||
WithTransform [FlipAround subDf.middle (XH / 2)] [revbody subDf XH df.mvs]
|
with-transform [FlipAround subDf.middle (XH / 2)] [revbody subDf XH df.mvs]
|
||||||
|
|
||||||
define Config : object
|
define Config : object
|
||||||
flatCrossbar { SmallEShape RevSmallEShape }
|
flatCrossbar { SmallEShape RevSmallEShape }
|
||||||
|
|
|
@ -15,12 +15,12 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
|
||||||
|
|
||||||
define [AHalfShape pShift df top fStraightBar slabKind] : begin
|
define [AHalfShape pShift df top fStraightBar slabKind] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df
|
local { subDf shift } : SubDfAndShift pShift df
|
||||||
return : WithTransform [ApparentTranslate shift 0]
|
return : with-transform [ApparentTranslate shift 0]
|
||||||
ALetterShape subDf fStraightBar slabKind top df.mvs
|
ALetterShape subDf fStraightBar slabKind top df.mvs
|
||||||
|
|
||||||
define [AHalfShapeMask pShift df top fStraightBar slabKind] : begin
|
define [AHalfShapeMask pShift df top fStraightBar slabKind] : begin
|
||||||
local { subDf shift } : SubDfAndShift pShift df
|
local { subDf shift } : SubDfAndShift pShift df
|
||||||
return : WithTransform [ApparentTranslate shift 0]
|
return : with-transform [ApparentTranslate shift 0]
|
||||||
AMaskShape subDf fStraightBar top df.mvs
|
AMaskShape subDf fStraightBar top df.mvs
|
||||||
|
|
||||||
define SLAB-NONE 0
|
define SLAB-NONE 0
|
||||||
|
@ -96,8 +96,8 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
|
||||||
difference
|
difference
|
||||||
intersection
|
intersection
|
||||||
MaskAbove (height - Stroke)
|
MaskAbove (height - Stroke)
|
||||||
WithTransform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask]
|
with-transform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask]
|
||||||
WithTransform [ApparentTranslate (OX - 0.1) 0] [refer-glyph rightMask]
|
with-transform [ApparentTranslate (OX - 0.1) 0] [refer-glyph rightMask]
|
||||||
|
|
||||||
derive-multi-part-glyphs 'AO' 0xA734 {"AA/Left" "AA/LeftMask" "OO/right"} : function [srcs gr] : glyph-proc
|
derive-multi-part-glyphs 'AO' 0xA734 {"AA/Left" "AA/LeftMask" "OO/right"} : function [srcs gr] : glyph-proc
|
||||||
define df : DivFrame para.diversityM 3.5
|
define df : DivFrame para.diversityM 3.5
|
||||||
|
|
|
@ -36,7 +36,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin
|
||||||
corner eleft top
|
corner eleft top
|
||||||
corner eleft (top - sw)
|
corner eleft (top - sw)
|
||||||
include : intersection
|
include : intersection
|
||||||
WithTransform [Translate (-O) 0] : spiro-outline
|
with-transform [Translate (-O) 0] : spiro-outline
|
||||||
corner df.leftSB 0 [heading Upward]
|
corner df.leftSB 0 [heading Upward]
|
||||||
curl df.leftSB (top * 0.1) [heading Upward]
|
curl df.leftSB (top * 0.1) [heading Upward]
|
||||||
quadControls 0 0.3 6 unimportant
|
quadControls 0 0.3 6 unimportant
|
||||||
|
|
|
@ -124,7 +124,7 @@ glyph-block Letter-Latin-Lower-D : begin
|
||||||
include : Body dfHalf Ascender
|
include : Body dfHalf Ascender
|
||||||
eject-contour 'rightBar'
|
eject-contour 'rightBar'
|
||||||
|
|
||||||
include : WithTransform [ApparentTranslate (df.width - dfHalf.width) 0] : UpwardHookShape
|
include : with-transform [ApparentTranslate (df.width - dfHalf.width) 0] : UpwardHookShape
|
||||||
left -- dfHalf.leftSB
|
left -- dfHalf.leftSB
|
||||||
right -- dfHalf.rightSB
|
right -- dfHalf.rightSB
|
||||||
ybegin -- Ascender
|
ybegin -- Ascender
|
||||||
|
|
|
@ -158,7 +158,7 @@ glyph-block Letter-Latin-Lower-H : begin
|
||||||
derive-multi-part-glyphs 'hDot' 0x1E23 { 'h' 'dotAbove' } : lambda [srcs gr] : glyph-proc
|
derive-multi-part-glyphs 'hDot' 0x1E23 { 'h' 'dotAbove' } : lambda [srcs gr] : glyph-proc
|
||||||
local { base mark } srcs
|
local { base mark } srcs
|
||||||
include [refer-glyph base] AS_BASE ALSO_METRICS
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
include : WithTransform [ApparentTranslate [HSwToV HalfStroke] (XH - Ascender)] [refer-glyph mark]
|
include : with-transform [ApparentTranslate [HSwToV HalfStroke] (XH - Ascender)] [refer-glyph mark]
|
||||||
|
|
||||||
derive-glyphs 'hCedilla' 0x1E29 'h' : lambda [src gr] : glyph-proc
|
derive-glyphs 'hCedilla' 0x1E29 'h' : lambda [src gr] : glyph-proc
|
||||||
local shift : Width + SB - Middle + [HSwToV HalfStroke]
|
local shift : Width + SB - Middle + [HSwToV HalfStroke]
|
||||||
|
|
|
@ -242,7 +242,7 @@ glyph-block Letter-Latin-Lower-I : begin
|
||||||
if Serif [tagged 'serifLT' : Serif subDf Ascender [xMiddleT subDf]] [no-shape]
|
if Serif [tagged 'serifLT' : Serif subDf Ascender [xMiddleT subDf]] [no-shape]
|
||||||
|
|
||||||
include : BodyShape
|
include : BodyShape
|
||||||
include : WithTransform [ApparentTranslate (Width - subDf.width) 0] [BodyShape]
|
include : with-transform [ApparentTranslate (Width - subDf.width) 0] [BodyShape]
|
||||||
include : HOverlayBar [mix SB 0 0.7] [mix RightSB Width 0.7] (0.625 * Ascender)
|
include : HOverlayBar [mix SB 0 0.7] [mix RightSB Width 0.7] (0.625 * Ascender)
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ glyph-block Letter-Latin-Lower-N : begin
|
||||||
|
|
||||||
do "n with Apostrophe"
|
do "n with Apostrophe"
|
||||||
derive-glyphs 'nApostrophe/comma' null 'commaAbove/asPunctuation' : function [src gr] : glyph-proc
|
derive-glyphs 'nApostrophe/comma' null 'commaAbove/asPunctuation' : function [src gr] : glyph-proc
|
||||||
include : WithTransform [Translate (Width + SB - Middle) 0]
|
include : with-transform [Translate (Width + SB - Middle) 0]
|
||||||
refer-glyph src
|
refer-glyph src
|
||||||
|
|
||||||
derive-composites 'nApostrophe' 0x149 'n' 'nApostrophe/comma'
|
derive-composites 'nApostrophe' 0x149 'n' 'nApostrophe/comma'
|
||||||
|
|
|
@ -199,7 +199,7 @@ glyph-block Letter-Latin-Lower-R : begin
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : df.markSet.capDesc
|
include : df.markSet.capDesc
|
||||||
define [object xBar rBottomSerif] : RDim df mode
|
define [object xBar rBottomSerif] : RDim df mode
|
||||||
include : WithTransform [ApparentTranslate 0 (CAP - XH)] : F df mode doTS 0
|
include : with-transform [ApparentTranslate 0 (CAP - XH)] : F df mode doTS 0
|
||||||
eject-contour 'serifLB'
|
eject-contour 'serifLB'
|
||||||
include : VBar.r xBar Descender (CAP - XH)
|
include : VBar.r xBar Descender (CAP - XH)
|
||||||
if doBS : include : rBottomSerif Descender
|
if doBS : include : rBottomSerif Descender
|
||||||
|
|
|
@ -35,7 +35,7 @@ glyph-block Letter-Latin-O : begin
|
||||||
local ada : subDf.archDepthA SmallArchDepth subDf.mvs
|
local ada : subDf.archDepthA SmallArchDepth subDf.mvs
|
||||||
local adb : subDf.archDepthB SmallArchDepth subDf.mvs
|
local adb : subDf.archDepthB SmallArchDepth subDf.mvs
|
||||||
|
|
||||||
include : WithTransform [ApparentTranslate (0.5 * (df.width - subDf.width)) 0]
|
include : with-transform [ApparentTranslate (0.5 * (df.width - subDf.width)) 0]
|
||||||
OShape XH 0 subDf.leftSB subDf.rightSB subDf.mvs ada adb
|
OShape XH 0 subDf.leftSB subDf.rightSB subDf.mvs ada adb
|
||||||
|
|
||||||
create-glyph 'oSideways' 0x1D11 : glyph-proc
|
create-glyph 'oSideways' 0x1D11 : glyph-proc
|
||||||
|
|
|
@ -66,7 +66,7 @@ glyph-block Letter-Latin-Upper-D : begin
|
||||||
local df : DivFrame 1 3
|
local df : DivFrame 1 3
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : DShape df CAP df.rightSB fRound fSlabTop fSlabBot
|
include : DShape df CAP df.rightSB fRound fSlabTop fSlabBot
|
||||||
include : WithTransform [ApparentTranslate 0 (CAP * 0.2)]
|
include : with-transform [ApparentTranslate 0 (CAP * 0.2)]
|
||||||
DShape df (CAP * 0.6) (df.middle + [HSwToV : 0.5 * df.mvs]) fRound
|
DShape df (CAP * 0.6) (df.middle + [HSwToV : 0.5 * df.mvs]) fRound
|
||||||
create-glyph "romanFiftyThousand.\(suffix)" : glyph-proc
|
create-glyph "romanFiftyThousand.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame 1 4
|
local df : DivFrame 1 4
|
||||||
|
@ -76,9 +76,9 @@ glyph-block Letter-Latin-Upper-D : begin
|
||||||
local heightGap : df.mvs + (CAP - df.mvs * 6) / 6
|
local heightGap : df.mvs + (CAP - df.mvs * 6) / 6
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : DShape df CAP df.rightSB fRound fSlabTop fSlabBot
|
include : DShape df CAP df.rightSB fRound fSlabTop fSlabBot
|
||||||
include : WithTransform [ApparentTranslate 0 heightGap]
|
include : with-transform [ApparentTranslate 0 heightGap]
|
||||||
DShape df (CAP - 2 * heightGap) arcX2 fRound
|
DShape df (CAP - 2 * heightGap) arcX2 fRound
|
||||||
include : WithTransform [ApparentTranslate 0 (2 * heightGap)]
|
include : with-transform [ApparentTranslate 0 (2 * heightGap)]
|
||||||
DShape df (CAP - 4 * heightGap) arcX1 fRound
|
DShape df (CAP - 4 * heightGap) arcX1 fRound
|
||||||
|
|
||||||
select-variant 'D' 'D'
|
select-variant 'D' 'D'
|
||||||
|
|
|
@ -55,7 +55,7 @@ glyph-block Letter-Latin-Upper-L : begin
|
||||||
include : intersection
|
include : intersection
|
||||||
MaskLeft RightSB
|
MaskLeft RightSB
|
||||||
MaskAbove sw
|
MaskAbove sw
|
||||||
WithTransform [ApparentTranslate ([HSwToV sw] + gap) 0]
|
with-transform [ApparentTranslate ([HSwToV sw] + gap) 0]
|
||||||
LShape df CAP serifGrade sw
|
LShape df CAP serifGrade sw
|
||||||
|
|
||||||
create-glyph "LHighBar.\(suffix)" : glyph-proc
|
create-glyph "LHighBar.\(suffix)" : glyph-proc
|
||||||
|
@ -81,7 +81,7 @@ glyph-block Letter-Latin-Upper-L : begin
|
||||||
|
|
||||||
derive-multi-part-glyphs 'Lcaron' 0x13D { 'L' 'commaAbove' } : lambda [srcs gr] : glyph-proc
|
derive-multi-part-glyphs 'Lcaron' 0x13D { 'L' 'commaAbove' } : lambda [srcs gr] : glyph-proc
|
||||||
local { base mark } srcs
|
local { base mark } srcs
|
||||||
include : WithTransform [Translate (Width + (RightSB - SB) * 0.375) 0]
|
include : with-transform [Translate (Width + (RightSB - SB) * 0.375) 0]
|
||||||
refer-glyph mark
|
refer-glyph mark
|
||||||
include [refer-glyph base] AS_BASE ALSO_METRICS
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
|
|
||||||
|
|
|
@ -226,7 +226,7 @@ glyph-block Letter-Latin-Upper-R : begin
|
||||||
define bp : RBarPos CAP 0
|
define bp : RBarPos CAP 0
|
||||||
include : intersection
|
include : intersection
|
||||||
Rect CAP 0 SB Width
|
Rect CAP 0 SB Width
|
||||||
WithTransform [Translate (-Width / 8) 0]
|
with-transform [Translate (-Width / 8) 0]
|
||||||
PShape CAP (bp -- bp) (withBar -- false)
|
PShape CAP (bp -- bp) (withBar -- false)
|
||||||
local right : RightSB - O - [if legShape 0 (Width / 16)]
|
local right : RightSB - O - [if legShape 0 (Width / 16)]
|
||||||
include : RLegShapes.(legShape) [RLegTop CAP Stroke bp] 0 (Width * 0.375) right CAP (slabs === PShape.SlabSymmetric) Stroke 0
|
include : RLegShapes.(legShape) [RLegTop CAP Stroke bp] 0 (Width * 0.375) right CAP (slabs === PShape.SlabSymmetric) Stroke 0
|
||||||
|
@ -269,7 +269,7 @@ glyph-block Letter-Latin-Upper-R : begin
|
||||||
include : difference
|
include : difference
|
||||||
union
|
union
|
||||||
SingleLeg
|
SingleLeg
|
||||||
WithTransform [ApparentTranslate (-BBD) 0] [SingleLeg]
|
with-transform [ApparentTranslate (-BBD) 0] [SingleLeg]
|
||||||
HBar.b (terminalX - BBD - [HSwToV BBS]) (terminalX - [HSwToV BBS]) 0 BBS
|
HBar.b (terminalX - BBD - [HSwToV BBS]) (terminalX - [HSwToV BBS]) 0 BBS
|
||||||
PShapeOutline CAP (sw -- BBS) (mul -- 1) (overshoot -- O) (offset -- 1)
|
PShapeOutline CAP (sw -- BBS) (mul -- 1) (overshoot -- O) (offset -- 1)
|
||||||
MaskLeft (SB + BBD)
|
MaskLeft (SB + BBD)
|
||||||
|
|
|
@ -222,7 +222,7 @@ glyph-block Letter-Latin-V : begin
|
||||||
create-glyph "cyrl/Uk.\(suffix)" : glyph-proc
|
create-glyph "cyrl/Uk.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
local vPartHeight : CAP * 0.45 + HalfStroke
|
local vPartHeight : CAP * 0.45 + HalfStroke
|
||||||
include : WithTransform [ApparentTranslate 0 (CAP - vPartHeight)] : glyph-proc
|
include : with-transform [ApparentTranslate 0 (CAP - vPartHeight)] : glyph-proc
|
||||||
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight
|
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight
|
||||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||||
eject-contour 'serifRT'
|
eject-contour 'serifRT'
|
||||||
|
@ -234,7 +234,7 @@ glyph-block Letter-Latin-V : begin
|
||||||
create-glyph "cyrl/ukUnblended.\(suffix)" : glyph-proc
|
create-glyph "cyrl/ukUnblended.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.b
|
include : MarkSet.b
|
||||||
local vPartHeight : Ascender * 0.45 + HalfStroke
|
local vPartHeight : Ascender * 0.45 + HalfStroke
|
||||||
include : WithTransform [ApparentTranslate 0 (Ascender - vPartHeight)] : glyph-proc
|
include : with-transform [ApparentTranslate 0 (Ascender - vPartHeight)] : glyph-proc
|
||||||
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight
|
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight
|
||||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||||
eject-contour 'serifRT'
|
eject-contour 'serifRT'
|
||||||
|
@ -245,7 +245,7 @@ glyph-block Letter-Latin-V : begin
|
||||||
local vPartHeight : CAP * 0.875
|
local vPartHeight : CAP * 0.875
|
||||||
local sw : AdviceStroke 3
|
local sw : AdviceStroke 3
|
||||||
|
|
||||||
include : WithTransform [FlipAround Middle (CAP / 2)] : glyph-proc
|
include : with-transform [FlipAround Middle (CAP / 2)] : glyph-proc
|
||||||
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight (sw -- sw) (hookWidthInner -- (TailX / 3 - [HSwToV : 0.25 * sw]))
|
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight (sw -- sw) (hookWidthInner -- (TailX / 3 - [HSwToV : 0.25 * sw]))
|
||||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||||
eject-contour 'serifRT'
|
eject-contour 'serifRT'
|
||||||
|
@ -261,7 +261,7 @@ glyph-block Letter-Latin-V : begin
|
||||||
local vPartHeight : XH * 1
|
local vPartHeight : XH * 1
|
||||||
local sw : AdviceStroke 3
|
local sw : AdviceStroke 3
|
||||||
|
|
||||||
include : WithTransform [FlipAround Middle (XH / 2)] : glyph-proc
|
include : with-transform [FlipAround Middle (XH / 2)] : glyph-proc
|
||||||
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight (sw -- sw) (hookWidthInner -- (TailX / 3 - [HSwToV : 0.25 * sw]))
|
include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight (sw -- sw) (hookWidthInner -- (TailX / 3 - [HSwToV : 0.25 * sw]))
|
||||||
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
include : Serifs [DivFrame 1] fStraightBar vPartHeight
|
||||||
eject-contour 'serifRT'
|
eject-contour 'serifRT'
|
||||||
|
|
|
@ -474,14 +474,14 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
currentGlyph.clearGeometry
|
currentGlyph.clearGeometry
|
||||||
include : refer-glyph 'cedillaExtShapeBelow'
|
include : refer-glyph 'cedillaExtShapeBelow'
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 0.25)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 0.25)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 0.50)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 0.50)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 0.75)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 0.75)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 1.00)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 1.00)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 1.25)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 1.25)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 1.50)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 1.50)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 1.75)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 1.75)] [refer-glyph src]
|
||||||
WithTransform [ApparentTranslate 0 (Stroke * 2.00)] [refer-glyph src]
|
with-transform [ApparentTranslate 0 (Stroke * 2.00)] [refer-glyph src]
|
||||||
include : refer-glyph 'blankBelow'
|
include : refer-glyph 'blankBelow'
|
||||||
|
|
||||||
glyph-block-export SerifedArcStart
|
glyph-block-export SerifedArcStart
|
||||||
|
|
|
@ -124,8 +124,8 @@ glyph-block Mark-Above : begin
|
||||||
set-width 0
|
set-width 0
|
||||||
local [object radiusIn radiusOut] : RingDims
|
local [object radiusIn radiusOut] : RingDims
|
||||||
local k : 2 * (radiusOut - (radiusOut - radiusIn) * 0.25)
|
local k : 2 * (radiusOut - (radiusOut - radiusIn) * 0.25)
|
||||||
include : WithTransform [Translate (+k / 2) 0] : refer-glyph 'ringAbove'
|
include : with-transform [Translate (+k / 2) 0] : refer-glyph 'ringAbove'
|
||||||
include : WithTransform [Translate (-k / 2) 0] : refer-glyph 'ringAbove'
|
include : with-transform [Translate (-k / 2) 0] : refer-glyph 'ringAbove'
|
||||||
include : StdAnchors.wide
|
include : StdAnchors.wide
|
||||||
|
|
||||||
foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
|
foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
|
||||||
|
@ -308,9 +308,9 @@ glyph-block Mark-Above : begin
|
||||||
create-glyph 'dblCircumflexAbove' 0x1AB0 : glyph-proc
|
create-glyph 'dblCircumflexAbove' 0x1AB0 : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : intersection [MaskRight markMiddle]
|
include : intersection [MaskRight markMiddle]
|
||||||
WithTransform [Translate (+markExtend) 0] : refer-glyph 'circumflexAbove'
|
with-transform [Translate (+markExtend) 0] : refer-glyph 'circumflexAbove'
|
||||||
include : intersection [MaskLeft markMiddle]
|
include : intersection [MaskLeft markMiddle]
|
||||||
WithTransform [Translate (-markExtend) 0] : refer-glyph 'circumflexAbove'
|
with-transform [Translate (-markExtend) 0] : refer-glyph 'circumflexAbove'
|
||||||
include : StdAnchors.extraWide
|
include : StdAnchors.extraWide
|
||||||
|
|
||||||
define [TildeKnots] : with-params [ttop tbot leftEnd rightEnd hs] : glyph-proc
|
define [TildeKnots] : with-params [ttop tbot leftEnd rightEnd hs] : glyph-proc
|
||||||
|
@ -781,22 +781,22 @@ glyph-block Mark-Above : begin
|
||||||
foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
|
foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
|
||||||
create-glyph "dialytikaTonosAbove.\(suffix)" : glyph-proc
|
create-glyph "dialytikaTonosAbove.\(suffix)" : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate 0 0] : refer-glyph 'tonosAbove'
|
include : with-transform [ApparentTranslate 0 0] : refer-glyph 'tonosAbove'
|
||||||
include : StdAnchors.wide
|
include : StdAnchors.wide
|
||||||
|
|
||||||
create-glyph "dialytikaVariaAbove.\(suffix)" : glyph-proc
|
create-glyph "dialytikaVariaAbove.\(suffix)" : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
local shift : 0.125 * (markExtend * 0.875 - markStress)
|
local shift : 0.125 * (markExtend * 0.875 - markStress)
|
||||||
include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate shift 0] : refer-glyph 'variaAbove'
|
include : with-transform [ApparentTranslate shift 0] : refer-glyph 'variaAbove'
|
||||||
include : StdAnchors.wide
|
include : StdAnchors.wide
|
||||||
|
|
||||||
create-glyph "dialytikaOxiaAbove.\(suffix)" : glyph-proc
|
create-glyph "dialytikaOxiaAbove.\(suffix)" : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
local shift : 0.125 * (markExtend * 0.875 - markStress)
|
local shift : 0.125 * (markExtend * 0.875 - markStress)
|
||||||
include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate (-shift) 0] : refer-glyph 'oxiaAbove'
|
include : with-transform [ApparentTranslate (-shift) 0] : refer-glyph 'oxiaAbove'
|
||||||
include : StdAnchors.wide
|
include : StdAnchors.wide
|
||||||
|
|
||||||
select-variant 'dialytikaTonosAbove' 0x344 (follow -- 'diacriticDot')
|
select-variant 'dialytikaTonosAbove' 0x344 (follow -- 'diacriticDot')
|
||||||
|
@ -1066,8 +1066,8 @@ glyph-block Mark-Above : begin
|
||||||
|
|
||||||
create-glyph 'dblPlusAbove' 0x1AC9 : glyph-proc
|
create-glyph 'dblPlusAbove' 0x1AC9 : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'plusAbove'
|
include : with-transform [Translate (+markExtend) 0] : refer-glyph 'plusAbove'
|
||||||
include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'plusAbove'
|
include : with-transform [Translate (-markExtend) 0] : refer-glyph 'plusAbove'
|
||||||
include : StdAnchors.extraWide
|
include : StdAnchors.extraWide
|
||||||
|
|
||||||
create-glyph 'upTackAbove' 0x1DF5 : glyph-proc
|
create-glyph 'upTackAbove' 0x1DF5 : glyph-proc
|
||||||
|
|
|
@ -220,20 +220,20 @@ glyph-block Mark-Below : begin
|
||||||
|
|
||||||
create-glyph 'greaterAndUpArrowheadBelow' 0x0356 : glyph-proc
|
create-glyph 'greaterAndUpArrowheadBelow' 0x0356 : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow'
|
include : with-transform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow'
|
||||||
include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'upArrowHeadBelow'
|
include : with-transform [Translate (+markExtend) 0] : refer-glyph 'upArrowHeadBelow'
|
||||||
include : StdAnchors.impl 0 1.5
|
include : StdAnchors.impl 0 1.5
|
||||||
|
|
||||||
create-glyph 'greaterAndDownArrowheadBelow' 0x1DFF : glyph-proc
|
create-glyph 'greaterAndDownArrowheadBelow' 0x1DFF : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow'
|
include : with-transform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow'
|
||||||
include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'downArrowHeadBelow'
|
include : with-transform [Translate (+markExtend) 0] : refer-glyph 'downArrowHeadBelow'
|
||||||
include : StdAnchors.impl 0 1.5
|
include : StdAnchors.impl 0 1.5
|
||||||
|
|
||||||
create-glyph 'dblCrossBelow' 0x1AB5 : glyph-proc
|
create-glyph 'dblCrossBelow' 0x1AB5 : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'crossBelow'
|
include : with-transform [Translate (-markExtend) 0] : refer-glyph 'crossBelow'
|
||||||
include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'crossBelow'
|
include : with-transform [Translate (+markExtend) 0] : refer-glyph 'crossBelow'
|
||||||
include : StdAnchors.impl 0 1.5
|
include : StdAnchors.impl 0 1.5
|
||||||
|
|
||||||
create-glyph 'leftParenBelow' 0x1AC3 : glyph-proc
|
create-glyph 'leftParenBelow' 0x1AC3 : glyph-proc
|
||||||
|
|
|
@ -266,6 +266,25 @@ glyph-block Mark-Overlay : begin
|
||||||
flat (Middle - Width - dx) (XH / 2 + gap) [widths fine fine]
|
flat (Middle - Width - dx) (XH / 2 + gap) [widths fine fine]
|
||||||
curl (Middle - Width + dx) (XH / 2 + gap)
|
curl (Middle - Width + dx) (XH / 2 + gap)
|
||||||
|
|
||||||
|
define [ArrowRingOverlay kr c] : glyph-proc
|
||||||
|
set-width 0
|
||||||
|
local r : Width * kr
|
||||||
|
set-mark-anchor 'slash' 0 0 0 0
|
||||||
|
include : RingStrokeAt 0 0 r [AdviceStroke c]
|
||||||
|
|
||||||
|
define [ArrowRingMaskOverlay kr c] : glyph-proc
|
||||||
|
set-width 0
|
||||||
|
local r : Width * kr
|
||||||
|
set-mark-anchor 'slash' 0 0 0 0
|
||||||
|
include : RingAt 0 0 r [AdviceStroke c]
|
||||||
|
|
||||||
|
create-glyph 'arrRingOver.NWID' : ArrowRingOverlay 0.25 5
|
||||||
|
create-glyph 'arrRingOver.WWID' : ArrowRingOverlay 0.35 4.5
|
||||||
|
create-glyph 'arrRingOverLR.NWID' : ArrowRingOverlay 0.2 6
|
||||||
|
create-glyph 'arrRingOverLR.WWID' : ArrowRingOverlay 0.35 4.5
|
||||||
|
create-glyph 'arrRingOverLRMask.NWID' : ArrowRingMaskOverlay 0.2 6
|
||||||
|
create-glyph 'arrRingOverLRMask.WWID' : ArrowRingMaskOverlay 0.35 4.5
|
||||||
|
|
||||||
# Half-XH marks for spacing modifiers
|
# Half-XH marks for spacing modifiers
|
||||||
create-glyph 'leftTackOver' : glyph-proc
|
create-glyph 'leftTackOver' : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
|
@ -327,14 +346,14 @@ glyph-block Mark-Overlay : begin
|
||||||
set-width 0
|
set-width 0
|
||||||
set-mark-anchor 'overlay' 0 0 0 0
|
set-mark-anchor 'overlay' 0 0 0 0
|
||||||
|
|
||||||
include : WithTransform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
|
include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
|
||||||
refer-glyph 'rightHalfCircleAbove'
|
refer-glyph 'rightHalfCircleAbove'
|
||||||
|
|
||||||
create-glyph 'leftHalfCircleOver' : glyph-proc
|
create-glyph 'leftHalfCircleOver' : glyph-proc
|
||||||
set-width 0
|
set-width 0
|
||||||
set-mark-anchor 'overlay' 0 0 0 0
|
set-mark-anchor 'overlay' 0 0 0 0
|
||||||
|
|
||||||
include : WithTransform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
|
include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
|
||||||
refer-glyph 'leftHalfCircleAbove'
|
refer-glyph 'leftHalfCircleAbove'
|
||||||
|
|
||||||
# Inner dots
|
# Inner dots
|
||||||
|
|
|
@ -81,8 +81,8 @@ glyph-block Digits-Zero : begin
|
||||||
include zero
|
include zero
|
||||||
if fnMask
|
if fnMask
|
||||||
include : intersection overlay
|
include : intersection overlay
|
||||||
WithTransform [ApparentTranslate (-SplitSlashGap) 0] [fnMask height]
|
with-transform [ApparentTranslate (-SplitSlashGap) 0] [fnMask height]
|
||||||
WithTransform [ApparentTranslate SplitSlashGap 0] [fnMask height]
|
with-transform [ApparentTranslate SplitSlashGap 0] [fnMask height]
|
||||||
include overlay
|
include overlay
|
||||||
|
|
||||||
define [Cutout zero overlay fnMask height] : glyph-proc
|
define [Cutout zero overlay fnMask height] : glyph-proc
|
||||||
|
|
|
@ -166,6 +166,10 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
include : ArrowHead x1 y1 x2 y2 size
|
include : ArrowHead x1 y1 x2 y2 size
|
||||||
include : ArrowBar x1 y1 x2 y2 halfArrowSw
|
include : ArrowBar x1 y1 x2 y2 halfArrowSw
|
||||||
|
|
||||||
|
define [ThinArrowShape x1 y1 x2 y2 size] : glyph-proc
|
||||||
|
include : ArrowHead x1 y1 x2 y2 size
|
||||||
|
include : ArrowBar x1 y1 x2 y2 (0.5 * [mix fine terminal 0.5])
|
||||||
|
|
||||||
define [TrigArrowShape x1 y1 x2 y2 size] : glyph-proc
|
define [TrigArrowShape x1 y1 x2 y2 size] : glyph-proc
|
||||||
include : TriangleArrowHead x1 y1 x2 y2 (0.75 * size)
|
include : TriangleArrowHead x1 y1 x2 y2 (0.75 * size)
|
||||||
include : ArrowBar x1 y1 x2 y2 halfArrowSw
|
include : ArrowBar x1 y1 x2 y2 halfArrowSw
|
||||||
|
@ -851,6 +855,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
|
|
||||||
do "Double-headed Arrows"
|
do "Double-headed Arrows"
|
||||||
DoubleArrow ArrowShape [MangleName 'arrowLeftRight'] [MangleUnicode 0x2194] arrowSB SymbolMid arrowRSB SymbolMid
|
DoubleArrow ArrowShape [MangleName 'arrowLeftRight'] [MangleUnicode 0x2194] arrowSB SymbolMid arrowRSB SymbolMid
|
||||||
|
DoubleArrow ThinArrowShape [MangleName 'thinArrowLeftRight'] null arrowSB SymbolMid arrowRSB SymbolMid
|
||||||
DoubleArrow ArrowShape [MangleName 'arrowUpDown'] [MangleUnicode 0x2195] arrowMidX arrowTop arrowMidX arrowBot
|
DoubleArrow ArrowShape [MangleName 'arrowUpDown'] [MangleUnicode 0x2195] arrowMidX arrowTop arrowMidX arrowBot
|
||||||
DoubleArrow ArrowShape [MangleName 'arrowUpDown.bottomSpaceLeft'] nothing arrowMidX arrowTop arrowMidX (arrowBot + arrowSw * 1.5)
|
DoubleArrow ArrowShape [MangleName 'arrowUpDown.bottomSpaceLeft'] nothing arrowMidX arrowTop arrowMidX (arrowBot + arrowSw * 1.5)
|
||||||
DoubleArrow ArrowShape [MangleName 'arrowUpLeftAndDownRight'] [MangleUnicode 0x2921] arrowDiagSB arrowDiagTop arrowDiagRSB arrowDiagBot
|
DoubleArrow ArrowShape [MangleName 'arrowUpLeftAndDownRight'] [MangleUnicode 0x2921] arrowDiagSB arrowDiagTop arrowDiagRSB arrowDiagBot
|
||||||
|
@ -952,6 +957,31 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
refer-glyph : MangleName 'trigArrowDown'
|
refer-glyph : MangleName 'trigArrowDown'
|
||||||
refer-glyph 'arrDblHStrokeOver'
|
refer-glyph 'arrDblHStrokeOver'
|
||||||
|
|
||||||
|
do "Arrow with ring"
|
||||||
|
create-glyph [MangleName 'uni21F4'] [MangleUnicode 0x21F4] : composite-proc
|
||||||
|
refer-glyph : MangleName 'arrowRight'
|
||||||
|
refer-glyph : MangleName 'arrRingOver'
|
||||||
|
create-glyph [MangleName 'uni2B30'] [MangleUnicode 0x2B30] : composite-proc
|
||||||
|
refer-glyph : MangleName 'arrowLeft'
|
||||||
|
refer-glyph : MangleName 'arrRingOver'
|
||||||
|
create-glyph [MangleName 'uni2948'] [MangleUnicode 0x2948] : composite-proc
|
||||||
|
with-transform [Translate 0 0] : composite-proc
|
||||||
|
refer-glyph : MangleName 'arrowLeftRight'
|
||||||
|
clear-geometry
|
||||||
|
refer-glyph : MangleName 'arrRingOverLR'
|
||||||
|
difference
|
||||||
|
refer-glyph : MangleName 'arrowLeftRight'
|
||||||
|
with-transform [Translate 0 0] : composite-proc
|
||||||
|
refer-glyph : MangleName 'arrowLeftRight'
|
||||||
|
clear-geometry
|
||||||
|
refer-glyph : MangleName 'arrRingOverLRMask'
|
||||||
|
intersection
|
||||||
|
refer-glyph : MangleName 'thinArrowLeftRight'
|
||||||
|
with-transform [Translate 0 0] : composite-proc
|
||||||
|
refer-glyph : MangleName 'arrowLeftRight'
|
||||||
|
clear-geometry
|
||||||
|
refer-glyph : MangleName 'arrRingOverLRMask'
|
||||||
|
|
||||||
do "Stacked Arrows"
|
do "Stacked Arrows"
|
||||||
local hcDist : Math.max (halfArrowSw * 5) (arrowWidth / 2)
|
local hcDist : Math.max (halfArrowSw * 5) (arrowWidth / 2)
|
||||||
VCombine [MangleName 'uni21C4'] [MangleUnicode 0x21C4] [MangleName 'arrowRight'] [MangleName 'arrowLeft'] (arrowHeadSize * 1.75)
|
VCombine [MangleName 'uni21C4'] [MangleUnicode 0x21C4] [MangleName 'arrowRight'] [MangleName 'arrowLeft'] (arrowHeadSize * 1.75)
|
||||||
|
@ -980,15 +1010,15 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
create-glyph [MangleName 'uni21F6'] [MangleUnicode 0x21F6] : glyph-proc
|
create-glyph [MangleName 'uni21F6'] [MangleUnicode 0x21F6] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
local distance : bendArrowHeadSize * 2 - arrowSw
|
local distance : bendArrowHeadSize * 2 - arrowSw
|
||||||
include : WithTransform [ApparentTranslate 0 (+distance)] : refer-glyph : MangleName 'arrowRightCompact'
|
include : with-transform [ApparentTranslate 0 (+distance)] : refer-glyph : MangleName 'arrowRightCompact'
|
||||||
include : refer-glyph : MangleName 'arrowRightCompact'
|
include : refer-glyph : MangleName 'arrowRightCompact'
|
||||||
include : WithTransform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowRightCompact'
|
include : with-transform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowRightCompact'
|
||||||
create-glyph [MangleName 'uni2B31'] [MangleUnicode 0x2B31] : glyph-proc
|
create-glyph [MangleName 'uni2B31'] [MangleUnicode 0x2B31] : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
local distance : bendArrowHeadSize * 2 - arrowSw
|
local distance : bendArrowHeadSize * 2 - arrowSw
|
||||||
include : WithTransform [ApparentTranslate 0 (+distance)] : refer-glyph : MangleName 'arrowLeftCompact'
|
include : with-transform [ApparentTranslate 0 (+distance)] : refer-glyph : MangleName 'arrowLeftCompact'
|
||||||
include : refer-glyph : MangleName 'arrowLeftCompact'
|
include : refer-glyph : MangleName 'arrowLeftCompact'
|
||||||
include : WithTransform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowLeftCompact'
|
include : with-transform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowLeftCompact'
|
||||||
|
|
||||||
do "Zig zag"
|
do "Zig zag"
|
||||||
create-glyph [MangleName 'zigZagArrow'] [MangleUnicode 0x21AF] : glyph-proc
|
create-glyph [MangleName 'zigZagArrow'] [MangleUnicode 0x21AF] : glyph-proc
|
||||||
|
@ -1074,7 +1104,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
define x2 : arrowMidX - bodyWidth / 2
|
define x2 : arrowMidX - bodyWidth / 2
|
||||||
|
|
||||||
include : HBar.t x2 x1(SymbolMid + enclosedSize / 2) arrowSw
|
include : HBar.t x2 x1(SymbolMid + enclosedSize / 2) arrowSw
|
||||||
include : WithTransform [ApparentTranslate 0 ((bodyWidth - enclosedSize) / 2)]
|
include : with-transform [ApparentTranslate 0 ((bodyWidth - enclosedSize) / 2)]
|
||||||
ArrowShape x1 (SymbolMid - bodyWidth / 2) x2 (SymbolMid + bodyWidth / 2)
|
ArrowShape x1 (SymbolMid - bodyWidth / 2) x2 (SymbolMid + bodyWidth / 2)
|
||||||
|
|
||||||
create-glyph [MangleName 'uni21F1'] [MangleUnicode 0x21F1] : glyph-proc
|
create-glyph [MangleName 'uni21F1'] [MangleUnicode 0x21F1] : glyph-proc
|
||||||
|
@ -1085,7 +1115,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
||||||
define y1 : SymbolMid - bodyWidth / 2
|
define y1 : SymbolMid - bodyWidth / 2
|
||||||
define y2 : SymbolMid + bodyWidth / 2
|
define y2 : SymbolMid + bodyWidth / 2
|
||||||
|
|
||||||
include : WithTransform [ApparentTranslate ((enclosedSize - bodyWidth) / 2) ((bodyWidth - enclosedSize) / 2)]
|
include : with-transform [ApparentTranslate ((enclosedSize - bodyWidth) / 2) ((bodyWidth - enclosedSize) / 2)]
|
||||||
ArrowShape x1 y1 x2 y2
|
ArrowShape x1 y1 x2 y2
|
||||||
include : HBar.t (arrowMidX - enclosedSize / 2) (arrowMidX + enclosedSize / 2) (SymbolMid + enclosedSize / 2) arrowSw
|
include : HBar.t (arrowMidX - enclosedSize / 2) (arrowMidX + enclosedSize / 2) (SymbolMid + enclosedSize / 2) arrowSw
|
||||||
include : VBar.l (arrowMidX - enclosedSize / 2) (SymbolMid - enclosedSize / 2) (SymbolMid + enclosedSize / 2) arrowSw
|
include : VBar.l (arrowMidX - enclosedSize / 2) (SymbolMid - enclosedSize / 2) (SymbolMid + enclosedSize / 2) arrowSw
|
||||||
|
|
|
@ -224,10 +224,10 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
|
||||||
union
|
union
|
||||||
difference
|
difference
|
||||||
HBar.m 0 Geom.Width Geom.MidY GeometryStroke
|
HBar.m 0 Geom.Width Geom.MidY GeometryStroke
|
||||||
WithTransform [ApparentTranslate 0 0.01] : WithTransform shiftUp : refer-glyph : MangleName 'blackMediumEqualDiamond'
|
with-transform [ApparentTranslate 0 0.01] : with-transform shiftUp : refer-glyph : MangleName 'blackMediumEqualDiamond'
|
||||||
intersection
|
intersection
|
||||||
MaskBelow (Geom.MidY + GeometryStroke / 2)
|
MaskBelow (Geom.MidY + GeometryStroke / 2)
|
||||||
WithTransform shiftUp : refer-glyph : MangleName 'whiteMediumEqualDiamond'
|
with-transform shiftUp : refer-glyph : MangleName 'whiteMediumEqualDiamond'
|
||||||
|
|
||||||
create-glyph [MangleName 'uni238A'] [MangleUnicode 0x238A] : glyph-proc
|
create-glyph [MangleName 'uni238A'] [MangleUnicode 0x238A] : glyph-proc
|
||||||
set-width Geom.Width
|
set-width Geom.Width
|
||||||
|
|
|
@ -213,7 +213,7 @@ glyph-block Symbol-Math-APL : begin
|
||||||
create-glyph 0x235F : composite-proc [intersection [refer-glyph 'mathOOutline'] [refer-glyph 'opAsterisk.low']] [refer-glyph 'mathO']
|
create-glyph 0x235F : composite-proc [intersection [refer-glyph 'mathOOutline'] [refer-glyph 'opAsterisk.low']] [refer-glyph 'mathO']
|
||||||
|
|
||||||
derive-glyphs 'apl/barSemicolon' 0x236E 'semicolon' : function [src gr] : Overlay
|
derive-glyphs 'apl/barSemicolon' 0x236E 'semicolon' : function [src gr] : Overlay
|
||||||
WithTransform CenterSmallPunctuations [refer-glyph src]
|
with-transform CenterSmallPunctuations [refer-glyph src]
|
||||||
refer-glyph 'underscore.high'
|
refer-glyph 'underscore.high'
|
||||||
|
|
||||||
# Complex Composition
|
# Complex Composition
|
||||||
|
|
|
@ -83,9 +83,9 @@ glyph-block Symbol-Math-Integrals : begin
|
||||||
WithDotVariants 'shiftedRightHalfRingDotIntegrate' 0x2A14 : function [DrawAt kdr ov] : union
|
WithDotVariants 'shiftedRightHalfRingDotIntegrate' 0x2A14 : function [DrawAt kdr ov] : union
|
||||||
difference
|
difference
|
||||||
LongSShape BgOpTop BgOpBot Hook IntHookY OperatorStroke
|
LongSShape BgOpTop BgOpBot Hook IntHookY OperatorStroke
|
||||||
WithTransform [Translate RingIntSideShift 0] : IntegrateRingMask 1
|
with-transform [Translate RingIntSideShift 0] : IntegrateRingMask 1
|
||||||
intersection
|
intersection
|
||||||
WithTransform [Translate RingIntSideShift 0] : IntegrateRing 1 RingIntFine
|
with-transform [Translate RingIntSideShift 0] : IntegrateRing 1 RingIntFine
|
||||||
MaskRight (Middle - OperatorStroke / 2 * HVContrast)
|
MaskRight (Middle - OperatorStroke / 2 * HVContrast)
|
||||||
DrawAt (Middle + RingIntSideShift) SymbolMid (RingIntDotSize * kdr - ov)
|
DrawAt (Middle + RingIntSideShift) SymbolMid (RingIntDotSize * kdr - ov)
|
||||||
|
|
||||||
|
@ -165,16 +165,16 @@ glyph-block Symbol-Math-Integrals : begin
|
||||||
create-glyph 'ringDoubleIntegrate' 0x222F : union
|
create-glyph 'ringDoubleIntegrate' 0x222F : union
|
||||||
difference
|
difference
|
||||||
union
|
union
|
||||||
WithTransform [Translate (-Width / 7) 0]
|
with-transform [Translate (-Width / 7) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 4]
|
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 4]
|
||||||
WithTransform [Translate (+Width / 7) 0]
|
with-transform [Translate (+Width / 7) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 4]
|
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 4]
|
||||||
IntegrateRingMask (1 / 2)
|
IntegrateRingMask (1 / 2)
|
||||||
intersection
|
intersection
|
||||||
union
|
union
|
||||||
WithTransform [Translate (-Width / 7) 0]
|
with-transform [Translate (-Width / 7) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 5]
|
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 5]
|
||||||
WithTransform [Translate (+Width / 7) 0]
|
with-transform [Translate (+Width / 7) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 5]
|
LongSShape BgOpTop BgOpBot (Hook * 0.75) IntHookY [AdviceStroke 5]
|
||||||
IntegrateRingMask (1 / 2)
|
IntegrateRingMask (1 / 2)
|
||||||
IntegrateRing (1 / 2) [AdviceStroke 5]
|
IntegrateRing (1 / 2) [AdviceStroke 5]
|
||||||
|
@ -182,20 +182,20 @@ glyph-block Symbol-Math-Integrals : begin
|
||||||
create-glyph 'ringTripleIntegrate' 0x2230 : union
|
create-glyph 'ringTripleIntegrate' 0x2230 : union
|
||||||
difference
|
difference
|
||||||
union
|
union
|
||||||
WithTransform [Translate (-Width * 0.225) 0]
|
with-transform [Translate (-Width * 0.225) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
||||||
WithTransform [Translate (+0) 0]
|
with-transform [Translate (+0) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
||||||
WithTransform [Translate (+Width * 0.225) 0]
|
with-transform [Translate (+Width * 0.225) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 5]
|
||||||
IntegrateRingMask (1 / 4)
|
IntegrateRingMask (1 / 4)
|
||||||
intersection
|
intersection
|
||||||
union
|
union
|
||||||
WithTransform [Translate (-Width * 0.225) 0]
|
with-transform [Translate (-Width * 0.225) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
||||||
WithTransform [Translate (+0) 0]
|
with-transform [Translate (+0) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
||||||
WithTransform [Translate (+Width * 0.225) 0]
|
with-transform [Translate (+Width * 0.225) 0]
|
||||||
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
LongSShape BgOpTop BgOpBot (Hook * 0.625) (Hook * 0.625) [AdviceStroke 6]
|
||||||
IntegrateRingMask (1 / 4)
|
IntegrateRingMask (1 / 4)
|
||||||
IntegrateRing (1 / 4) [AdviceStroke 6]
|
IntegrateRing (1 / 4) [AdviceStroke 6]
|
||||||
|
|
|
@ -33,7 +33,7 @@ glyph-block NotGlyphFn : begin
|
||||||
flat l b
|
flat l b
|
||||||
curl r t
|
curl r t
|
||||||
return : glyph-proc
|
return : glyph-proc
|
||||||
include : WithTransform [Translate sh 0] [refer-glyph slashBarName]
|
include : with-transform [Translate sh 0] [refer-glyph slashBarName]
|
||||||
|
|
||||||
define [notGlyph.right2] : with-params [newid unicode oldid top bot prop shift] : begin
|
define [notGlyph.right2] : with-params [newid unicode oldid top bot prop shift] : begin
|
||||||
notGlyph newid unicode oldid top bot prop (-NotGlyphSw)
|
notGlyph newid unicode oldid top bot prop (-NotGlyphSw)
|
||||||
|
|
|
@ -32,7 +32,7 @@ glyph-block Symbol-Pictograph-I-Ching : begin
|
||||||
local offsetY : (2 / 3) * (OperBot - PictTop) / n
|
local offsetY : (2 / 3) * (OperBot - PictTop) / n
|
||||||
local startY : SymbolMid - offsetY * (n - 1) / 2
|
local startY : SymbolMid - offsetY * (n - 1) / 2
|
||||||
foreach [bit : range 0 n] : begin
|
foreach [bit : range 0 n] : begin
|
||||||
include : WithTransform [ApparentTranslate 0 (startY + offsetY * bit)]
|
include : with-transform [ApparentTranslate 0 (startY + offsetY * bit)]
|
||||||
refer-glyph : if [not : maskBit offset bit] 'iChing/barYang' 'iChing/barYin'
|
refer-glyph : if [not : maskBit offset bit] 'iChing/barYang' 'iChing/barYin'
|
||||||
|
|
||||||
define [hexagramPatterns su order] : foreach [offset: range 0 64] : begin
|
define [hexagramPatterns su order] : foreach [offset: range 0 64] : begin
|
||||||
|
@ -40,7 +40,7 @@ glyph-block Symbol-Pictograph-I-Ching : begin
|
||||||
local offsetY : (PictBot - PictTop) / 6
|
local offsetY : (PictBot - PictTop) / 6
|
||||||
local startY : SymbolMid - offsetY * (6 - 1) / 2
|
local startY : SymbolMid - offsetY * (6 - 1) / 2
|
||||||
foreach [bit : range 0 6] : begin
|
foreach [bit : range 0 6] : begin
|
||||||
include : WithTransform [ApparentTranslate 0 (startY + offsetY * bit)]
|
include : with-transform [ApparentTranslate 0 (startY + offsetY * bit)]
|
||||||
refer-glyph : if [not : maskBit order.(offset) bit] 'iChing/barYang' 'iChing/barYin'
|
refer-glyph : if [not : maskBit order.(offset) bit] 'iChing/barYang' 'iChing/barYin'
|
||||||
|
|
||||||
define [stringPattern pat] : glyph-proc
|
define [stringPattern pat] : glyph-proc
|
||||||
|
@ -48,7 +48,7 @@ glyph-block Symbol-Pictograph-I-Ching : begin
|
||||||
local offsetY : [if (n >= 4) 1 (2 / 3)] * (OperBot - PictTop) / n
|
local offsetY : [if (n >= 4) 1 (2 / 3)] * (OperBot - PictTop) / n
|
||||||
local startY : SymbolMid - offsetY * (n - 1) / 2
|
local startY : SymbolMid - offsetY * (n - 1) / 2
|
||||||
foreach [bit : range 0 n] : begin
|
foreach [bit : range 0 n] : begin
|
||||||
include : WithTransform [ApparentTranslate 0 (startY + offsetY * bit)]
|
include : with-transform [ApparentTranslate 0 (startY + offsetY * bit)]
|
||||||
refer-glyph : match pat.(bit)
|
refer-glyph : match pat.(bit)
|
||||||
[Just '0'] 'iChing/barYang'
|
[Just '0'] 'iChing/barYang'
|
||||||
[Just '1'] 'iChing/barYin'
|
[Just '1'] 'iChing/barYin'
|
||||||
|
|
|
@ -112,7 +112,7 @@ glyph-block Symbol-Punctuation-Ampersand : begin
|
||||||
Rect (CAP * 2) (0.5 * CAP) Middle Width
|
Rect (CAP * 2) (0.5 * CAP) Middle Width
|
||||||
intersection
|
intersection
|
||||||
Rect (CAP * 2) ArchDepthA 0 (RightSB - [HSwToV fineAmp])
|
Rect (CAP * 2) ArchDepthA 0 (RightSB - [HSwToV fineAmp])
|
||||||
WithTransform [Translate (-O) 0] : spiro-outline
|
with-transform [Translate (-O) 0] : spiro-outline
|
||||||
g4.left.start (xUpperLoopTop - CorrectionOMidX * SwAmpersand) (CAP - O)
|
g4.left.start (xUpperLoopTop - CorrectionOMidX * SwAmpersand) (CAP - O)
|
||||||
archv
|
archv
|
||||||
g4 xUpperLoopLeft yUpperLoopLeft
|
g4 xUpperLoopLeft yUpperLoopLeft
|
||||||
|
|
|
@ -53,8 +53,8 @@ glyph-block Symbol-Punctuation-Asterisk : begin
|
||||||
ApparentTranslate 0 (yLow - SymbolMid)
|
ApparentTranslate 0 (yLow - SymbolMid)
|
||||||
|
|
||||||
if dual : create-glyph (dual + '.' + sMid) : composite-proc
|
if dual : create-glyph (dual + '.' + sMid) : composite-proc
|
||||||
WithTransform [ApparentTranslate 0 (yHigh_DT - SymbolMid)] : refer-glyph (name + '.' + sMid)
|
with-transform [ApparentTranslate 0 (yHigh_DT - SymbolMid)] : refer-glyph (name + '.' + sMid)
|
||||||
WithTransform [ApparentTranslate 0 (yLow_DT - SymbolMid)] : refer-glyph (name + '.' + sMid)
|
with-transform [ApparentTranslate 0 (yLow_DT - SymbolMid)] : refer-glyph (name + '.' + sMid)
|
||||||
|
|
||||||
if triple : for-width-kinds WideWidth1
|
if triple : for-width-kinds WideWidth1
|
||||||
local scale : Math.sqrt (MosaicWidthScalar / 2)
|
local scale : Math.sqrt (MosaicWidthScalar / 2)
|
||||||
|
|
|
@ -97,7 +97,7 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
||||||
local df : DivFrame 1 3
|
local df : DivFrame 1 3
|
||||||
local subDf : df.slice 3 2
|
local subDf : df.slice 3 2
|
||||||
include : shape subDf
|
include : shape subDf
|
||||||
include : WithTransform [ApparentTranslate (df.width - subDf.width) 0] : shape subDf
|
include : with-transform [ApparentTranslate (df.width - subDf.width) 0] : shape subDf
|
||||||
|
|
||||||
turned "parenRight.\(suffix)" null "parenLeft.\(suffix)" Middle SymbolMid
|
turned "parenRight.\(suffix)" null "parenLeft.\(suffix)" Middle SymbolMid
|
||||||
turned "doubleParenRight.\(suffix)" null "doubleParenLeft.\(suffix)" Middle SymbolMid
|
turned "doubleParenRight.\(suffix)" null "doubleParenLeft.\(suffix)" Middle SymbolMid
|
||||||
|
|
|
@ -32,9 +32,9 @@ glyph-block Symbol-Punctuation-ParagraphAndSection : begin
|
||||||
corner RightSB (top - Hook - 0.1)
|
corner RightSB (top - Hook - 0.1)
|
||||||
define [halfShape] : intersection [s dispiro 0] : union
|
define [halfShape] : intersection [s dispiro 0] : union
|
||||||
MaskAbove SymbolMid
|
MaskAbove SymbolMid
|
||||||
WithTransform [FlipAround Middle SymbolMid] : s spiro-outline 0.1
|
with-transform [FlipAround Middle SymbolMid] : s spiro-outline 0.1
|
||||||
|
|
||||||
include : union
|
include : union
|
||||||
halfShape
|
halfShape
|
||||||
WithTransform [FlipAround Middle SymbolMid] : halfShape
|
with-transform [FlipAround Middle SymbolMid] : halfShape
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ glyph-block Symbol-Punctuation-Small : begin
|
||||||
create-glyph 'comma.square' : glyph-proc
|
create-glyph 'comma.square' : glyph-proc
|
||||||
local df : DivFrame para.diversityF
|
local df : DivFrame para.diversityF
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : WithTransform [Translate df.middle 0] : glyph-proc
|
include : with-transform [Translate df.middle 0] : glyph-proc
|
||||||
local r : PeriodRadius * DesignParameters.squareDotScalar + 0
|
local r : PeriodRadius * DesignParameters.squareDotScalar + 0
|
||||||
local sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4)
|
local sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4)
|
||||||
local swEnd : Math.min Stroke (PeriodSize * DesignParameters.squareDotScalar * 0.5)
|
local swEnd : Math.min Stroke (PeriodSize * DesignParameters.squareDotScalar * 0.5)
|
||||||
|
@ -146,7 +146,7 @@ glyph-block Symbol-Punctuation-Small : begin
|
||||||
create-glyph 'revComma.square' : glyph-proc
|
create-glyph 'revComma.square' : glyph-proc
|
||||||
local df : DivFrame para.diversityF
|
local df : DivFrame para.diversityF
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : WithTransform [Translate df.middle 0] : glyph-proc
|
include : with-transform [Translate df.middle 0] : glyph-proc
|
||||||
local r : PeriodRadius * DesignParameters.squareDotScalar + 0
|
local r : PeriodRadius * DesignParameters.squareDotScalar + 0
|
||||||
local sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4)
|
local sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4)
|
||||||
local swEnd : Math.min Stroke (PeriodSize * DesignParameters.squareDotScalar * 0.5)
|
local swEnd : Math.min Stroke (PeriodSize * DesignParameters.squareDotScalar * 0.5)
|
||||||
|
@ -215,33 +215,33 @@ glyph-block Symbol-Punctuation-Small : begin
|
||||||
local multiDotShiftDense : [mix Width RightSB 0.5] - (DotRadius * kDotRadius) - Middle
|
local multiDotShiftDense : [mix Width RightSB 0.5] - (DotRadius * kDotRadius) - Middle
|
||||||
|
|
||||||
create-glyph "threeDotPunct.\(suffix)" : glyph-proc
|
create-glyph "threeDotPunct.\(suffix)" : glyph-proc
|
||||||
include : WithTransform [ApparentTranslate (+multiDotShift) 0] : composite-proc
|
include : with-transform [ApparentTranslate (+multiDotShift) 0] : composite-proc
|
||||||
refer-glyph "smallPeriod.\(suffix)"
|
refer-glyph "smallPeriod.\(suffix)"
|
||||||
refer-glyph "xhSmallPeriod.\(suffix)"
|
refer-glyph "xhSmallPeriod.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate (-multiDotShift) 0] : composite-proc
|
include : with-transform [ApparentTranslate (-multiDotShift) 0] : composite-proc
|
||||||
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
||||||
|
|
||||||
create-glyph "fourDotPunct.\(suffix)" : glyph-proc
|
create-glyph "fourDotPunct.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "smallPeriod.\(suffix)"]
|
include [refer-glyph "smallPeriod.\(suffix)"]
|
||||||
include [refer-glyph "xhSmallPeriod.\(suffix)"]
|
include [refer-glyph "xhSmallPeriod.\(suffix)"]
|
||||||
include : WithTransform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
refer-glyph "halfXhSmallPeriod.\(suffix)"
|
||||||
|
|
||||||
create-glyph "capFourDotPunct.\(suffix)" : glyph-proc
|
create-glyph "capFourDotPunct.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "smallPeriod.\(suffix)"]
|
include [refer-glyph "smallPeriod.\(suffix)"]
|
||||||
include [refer-glyph "capSmallPeriod.\(suffix)"]
|
include [refer-glyph "capSmallPeriod.\(suffix)"]
|
||||||
include : WithTransform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "halfCapSmallPeriod.\(suffix)"
|
refer-glyph "halfCapSmallPeriod.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "halfCapSmallPeriod.\(suffix)"
|
refer-glyph "halfCapSmallPeriod.\(suffix)"
|
||||||
|
|
||||||
create-glyph "fiveDotPunct.\(suffix)" : glyph-proc
|
create-glyph "fiveDotPunct.\(suffix)" : glyph-proc
|
||||||
include : WithTransform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "smallPeriod.\(suffix)"
|
refer-glyph "smallPeriod.\(suffix)"
|
||||||
refer-glyph "xhSmallPeriod.\(suffix)"
|
refer-glyph "xhSmallPeriod.\(suffix)"
|
||||||
include : WithTransform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
include : with-transform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc
|
||||||
refer-glyph "smallPeriod.\(suffix)"
|
refer-glyph "smallPeriod.\(suffix)"
|
||||||
refer-glyph "xhSmallPeriod.\(suffix)"
|
refer-glyph "xhSmallPeriod.\(suffix)"
|
||||||
include : refer-glyph "halfXhSmallPeriod.\(suffix)"
|
include : refer-glyph "halfXhSmallPeriod.\(suffix)"
|
||||||
|
|
|
@ -172,9 +172,9 @@ define-macro glyph-block-import : syntax-rules
|
||||||
DotStrokeAt CircleRing CircleRingAt CircleDotAt RoundStrokeTerminalAt OShapeT OShape
|
DotStrokeAt CircleRing CircleRingAt CircleDotAt RoundStrokeTerminalAt OShapeT OShape
|
||||||
OShapeOutline OShapeFlatTB HSerif VSerif NeedSlab NeedNotItalic HBar HOverlayBar VBar
|
OShapeOutline OShapeFlatTB HSerif VSerif NeedSlab NeedNotItalic HBar HOverlayBar VBar
|
||||||
FlatSlashShape hookstart hookend Ungizmo Regizmo FlipAround ScaleAround Realign
|
FlatSlashShape hookstart hookend Ungizmo Regizmo FlipAround ScaleAround Realign
|
||||||
ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors AsRadical
|
ForceUpright DiagCor NameUni PointingTo with-transform clear-geometry clear-anchors
|
||||||
ExtLineCenter ExtLineLhs ExtLineRhs DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow
|
AsRadical ExtLineCenter ExtLineLhs ExtLineRhs DiagCorDs HCrossBar VERY-FAR MaskAbove
|
||||||
MaskLeft MaskRight HalfRectTriangle MaskAboveLine MaskBelowLine MaskLeftLine
|
MaskBelow MaskLeft MaskRight HalfRectTriangle MaskAboveLine MaskBelowLine MaskLeftLine
|
||||||
MaskRightLine DotVariants WithDotVariants]
|
MaskRightLine DotVariants WithDotVariants]
|
||||||
|
|
||||||
define vartiableFilter : if externEnv.$glyphBlockVariableUsage$
|
define vartiableFilter : if externEnv.$glyphBlockVariableUsage$
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue