diff --git a/changes/26.1.0.md b/changes/26.1.0.md index dc1e8639e..1096dd2a8 100644 --- a/changes/26.1.0.md +++ b/changes/26.1.0.md @@ -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). * 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). diff --git a/font-src/gen/finalize/glyphs.mjs b/font-src/gen/finalize/glyphs.mjs index 1566d8a24..1b2c82086 100644 --- a/font-src/gen/finalize/glyphs.mjs +++ b/font-src/gen/finalize/glyphs.mjs @@ -4,7 +4,6 @@ import * as CurveUtil from "../../support/geometry/curve-util.mjs"; import * as Geom from "../../support/geometry/index.mjs"; import { Point } from "../../support/geometry/point.mjs"; import { Transform } from "../../support/geometry/transform.mjs"; -import { mix } from "../../support/utils.mjs"; /////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/font-src/glyphs/auto-build/composite.ptl b/font-src/glyphs/auto-build/composite.ptl index a841eda50..79020cc00 100644 --- a/font-src/glyphs/auto-build/composite.ptl +++ b/font-src/glyphs/auto-build/composite.ptl @@ -184,7 +184,7 @@ glyph-block AutoBuild-Enclosure : begin set totalInnerWidth : totalInnerWidth + ([enclosureInnerPartActualWidth.get gniPart] || 0) local x : 0.5 * width - 0.5 * totalInnerWidth 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) define [EnclosureInner gniPrefix gnEnclosure miniatureFont job dimens] : begin @@ -1147,7 +1147,7 @@ glyph-block Autobuild-Ligatures : begin local aw 0 foreach { i component } [components.entries] : do 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 decomposition.push component set-width aw @@ -1425,9 +1425,9 @@ glyph-block Autobuild-Double-Emotions : begin define dfm2 : df2.queryByNameEnsured m2 local sumChildrenWidth : dfg1.advanceWidth * wadj1 + dfg2.advanceWidth * wadj2 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 : union dfg1 [WithTransform [Translate (dfg1.advanceWidth) 0] dfm1] + include : union dfg1 [with-transform [Translate (dfg1.advanceWidth) 0] dfm1] include : Ungizmo include : Translate (-refW / 2) 0 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 include : refer-glyph gid 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' } : else : begin CvDecompose.set currentGlyph { gid } diff --git a/font-src/glyphs/common/shapes.ptl b/font-src/glyphs/common/shapes.ptl index ae363903e..3069ab11d 100644 --- a/font-src/glyphs/common/shapes.ptl +++ b/font-src/glyphs/common/shapes.ptl @@ -575,8 +575,12 @@ glyph-block CommonShapes : begin include giz include g - glyph-block-export WithTransform - define [WithTransform tfm gr] : new-glyph : composite-proc gr tfm + glyph-block-export with-transform + 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 define [clear-anchors] : glyph-proc diff --git a/font-src/glyphs/letter/cyrillic/dzzhe-zhwe.ptl b/font-src/glyphs/letter/cyrillic/dzzhe-zhwe.ptl index b7be40a3b..3e06244a5 100644 --- a/font-src/glyphs/letter/cyrillic/dzzhe-zhwe.ptl +++ b/font-src/glyphs/letter/cyrillic/dzzhe-zhwe.ptl @@ -91,7 +91,7 @@ glyph-block Letter-Cyrillic-Dzzhe-Zhwe : begin glyph-block-import Letter-Cyrillic-Zhe : Zhe define [CyrRightZheShape legShape fSlab df top barLeft] : glyph-proc 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 define [DzzheLeft df] : begin diff --git a/font-src/glyphs/letter/cyrillic/e.ptl b/font-src/glyphs/letter/cyrillic/e.ptl index 05ed6f45d..6a6d2823f 100644 --- a/font-src/glyphs/letter/cyrillic/e.ptl +++ b/font-src/glyphs/letter/cyrillic/e.ptl @@ -47,7 +47,7 @@ glyph-block Letter-Cyrillic-E : begin define dfSub : DivFrame divSub 2 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 hBarRight -- [mix df.leftSB df.rightSB (3 / 4)] diff --git a/font-src/glyphs/letter/cyrillic/iotified-a.ptl b/font-src/glyphs/letter/cyrillic/iotified-a.ptl index 7ea9a3929..f519adede 100644 --- a/font-src/glyphs/letter/cyrillic/iotified-a.ptl +++ b/font-src/glyphs/letter/cyrillic/iotified-a.ptl @@ -114,14 +114,14 @@ glyph-block Letter-Cyrillic-Iotified-A : begin local xIotifiedBarRight : df.leftSB + [HSwToV df.mvs] local botGap : Math.max ((df.rightSB - df.leftSB) * 0.08) [AdviceStroke 6] include : difference - WithTransform [ApparentTranslate shift 0] + with-transform [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] + with-transform [ApparentTranslate shift 0] AMaskShape subDf fStraightBar CAP df.mvs do "iotified a" @@ -134,11 +134,11 @@ glyph-block Letter-Cyrillic-Iotified-A : begin include : df.markSet.e 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 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 create-glyph "cyrl/aIotified.\(suffix)" : glyph-proc @@ -147,7 +147,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin include : df.markSet.e 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) @@ -167,7 +167,7 @@ glyph-block Letter-Cyrillic-Iotified-A : begin include : df.markSet.e 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) diff --git a/font-src/glyphs/letter/cyrillic/yat.ptl b/font-src/glyphs/letter/cyrillic/yat.ptl index fa3456fe5..00547b181 100644 --- a/font-src/glyphs/letter/cyrillic/yat.ptl +++ b/font-src/glyphs/letter/cyrillic/yat.ptl @@ -62,7 +62,7 @@ glyph-block Letter-Cyrillic-Yat : begin define dfSub : DivFrame divSub 2 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) eject-contour 'serifDL' diff --git a/font-src/glyphs/letter/latin-ext/long-s.ptl b/font-src/glyphs/letter/latin-ext/long-s.ptl index 7bf33f467..5773b4eac 100644 --- a/font-src/glyphs/letter/latin-ext/long-s.ptl +++ b/font-src/glyphs/letter/latin-ext/long-s.ptl @@ -55,7 +55,7 @@ glyph-block Letter-Latin-Long-S : begin define [IFishHookShape top bottom fSlab] : glyph-proc 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 : VerticalHook.m Middle (top - Hook) (-LongJut + balance) (-Hook + HalfStroke) if fSlab : include : union diff --git a/font-src/glyphs/letter/latin-ext/lower-ae-oe.ptl b/font-src/glyphs/letter/latin-ext/lower-ae-oe.ptl index 50dc8c336..d47fd12cc 100644 --- a/font-src/glyphs/letter/latin-ext/lower-ae-oe.ptl +++ b/font-src/glyphs/letter/latin-ext/lower-ae-oe.ptl @@ -20,7 +20,7 @@ glyph-block Letter-Latin-Lower-AE-OE : begin do "a subglyphs" define [AAShape pShift df body o] : begin 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 define DoubleStoreyConfig : object @@ -49,22 +49,22 @@ glyph-block Letter-Latin-Lower-AE-OE : begin include : difference [right] : intersection MaskAbove (XH * OverlayPos * 1.02) union - WithTransform [ApparentTranslate (-0.25 * df.mvs) 0] [left] - WithTransform [ApparentTranslate (-0.50 * df.mvs) 0] [left] - WithTransform [ApparentTranslate (-0.75 * df.mvs) 0] [left] - WithTransform [ApparentTranslate (-1.00 * df.mvs) 0] [left] + with-transform [ApparentTranslate (-0.25 * df.mvs) 0] [left] + with-transform [ApparentTranslate (-0.50 * df.mvs) 0] [left] + with-transform [ApparentTranslate (-0.75 * df.mvs) 0] [left] + with-transform [ApparentTranslate (-1.00 * df.mvs) 0] [left] include : difference [left] : intersection MaskBelow (XH * OverlayPos * 1.02) union - WithTransform [ApparentTranslate (+0.25 * df.mvs) 0] [right] - WithTransform [ApparentTranslate (+0.50 * df.mvs) 0] [right] - WithTransform [ApparentTranslate (+0.75 * df.mvs) 0] [right] - WithTransform [ApparentTranslate (+1.00 * df.mvs) 0] [right] + with-transform [ApparentTranslate (+0.25 * df.mvs) 0] [right] + with-transform [ApparentTranslate (+0.50 * df.mvs) 0] [right] + with-transform [ApparentTranslate (+0.75 * df.mvs) 0] [right] + with-transform [ApparentTranslate (+1.00 * df.mvs) 0] [right] do "o subglyphs" define [oeOPart pShift df top ad] : begin 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 subDf.archDepthA ad subDf.archDepthB ad @@ -100,12 +100,12 @@ glyph-block Letter-Latin-Lower-AE-OE : begin define [EShape pShift df body] : begin 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 local { subDf shift } : SubDfAndShift pShift df OX - return : WithTransform [ApparentTranslate shift 0] - WithTransform [FlipAround subDf.middle (XH / 2)] [revbody subDf XH df.mvs] + return : with-transform [ApparentTranslate shift 0] + with-transform [FlipAround subDf.middle (XH / 2)] [revbody subDf XH df.mvs] define Config : object flatCrossbar { SmallEShape RevSmallEShape } diff --git a/font-src/glyphs/letter/latin-ext/upper-aa-ao.ptl b/font-src/glyphs/letter/latin-ext/upper-aa-ao.ptl index 3d55cb199..a6ff39cb1 100644 --- a/font-src/glyphs/letter/latin-ext/upper-aa-ao.ptl +++ b/font-src/glyphs/letter/latin-ext/upper-aa-ao.ptl @@ -15,12 +15,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] + return : with-transform [ApparentTranslate shift 0] 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] + return : with-transform [ApparentTranslate shift 0] AMaskShape subDf fStraightBar top df.mvs define SLAB-NONE 0 @@ -96,8 +96,8 @@ glyph-block Letter-Latin-Upper-AE-OE : begin difference intersection MaskAbove (height - Stroke) - WithTransform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask] - WithTransform [ApparentTranslate (OX - 0.1) 0] [refer-glyph rightMask] + with-transform [ApparentTranslate topSerifGap 0] [refer-glyph leftMask] + 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 define df : DivFrame para.diversityM 3.5 diff --git a/font-src/glyphs/letter/latin-ext/upper-ae-oe.ptl b/font-src/glyphs/letter/latin-ext/upper-ae-oe.ptl index e2a7d04da..5095c8d9c 100644 --- a/font-src/glyphs/letter/latin-ext/upper-ae-oe.ptl +++ b/font-src/glyphs/letter/latin-ext/upper-ae-oe.ptl @@ -36,7 +36,7 @@ glyph-block Letter-Latin-Upper-AE-OE : begin corner eleft top corner eleft (top - sw) include : intersection - WithTransform [Translate (-O) 0] : spiro-outline + with-transform [Translate (-O) 0] : spiro-outline corner df.leftSB 0 [heading Upward] curl df.leftSB (top * 0.1) [heading Upward] quadControls 0 0.3 6 unimportant diff --git a/font-src/glyphs/letter/latin/lower-d.ptl b/font-src/glyphs/letter/latin/lower-d.ptl index 230b45e60..ddeb02d17 100644 --- a/font-src/glyphs/letter/latin/lower-d.ptl +++ b/font-src/glyphs/letter/latin/lower-d.ptl @@ -124,7 +124,7 @@ glyph-block Letter-Latin-Lower-D : begin include : Body dfHalf Ascender 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 right -- dfHalf.rightSB ybegin -- Ascender diff --git a/font-src/glyphs/letter/latin/lower-h.ptl b/font-src/glyphs/letter/latin/lower-h.ptl index 64e080e32..ef9944c5b 100644 --- a/font-src/glyphs/letter/latin/lower-h.ptl +++ b/font-src/glyphs/letter/latin/lower-h.ptl @@ -158,7 +158,7 @@ glyph-block Letter-Latin-Lower-H : begin derive-multi-part-glyphs 'hDot' 0x1E23 { 'h' 'dotAbove' } : lambda [srcs gr] : glyph-proc local { base mark } srcs 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 local shift : Width + SB - Middle + [HSwToV HalfStroke] diff --git a/font-src/glyphs/letter/latin/lower-il.ptl b/font-src/glyphs/letter/latin/lower-il.ptl index bbc711acb..fe1832cbe 100644 --- a/font-src/glyphs/letter/latin/lower-il.ptl +++ b/font-src/glyphs/letter/latin/lower-il.ptl @@ -242,7 +242,7 @@ glyph-block Letter-Latin-Lower-I : begin if Serif [tagged 'serifLT' : Serif subDf Ascender [xMiddleT subDf]] [no-shape] 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 : MarkSet.b diff --git a/font-src/glyphs/letter/latin/lower-n.ptl b/font-src/glyphs/letter/latin/lower-n.ptl index eb7c54053..9995c9e8c 100644 --- a/font-src/glyphs/letter/latin/lower-n.ptl +++ b/font-src/glyphs/letter/latin/lower-n.ptl @@ -220,7 +220,7 @@ glyph-block Letter-Latin-Lower-N : begin do "n with Apostrophe" 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 derive-composites 'nApostrophe' 0x149 'n' 'nApostrophe/comma' diff --git a/font-src/glyphs/letter/latin/lower-r.ptl b/font-src/glyphs/letter/latin/lower-r.ptl index c8c4816cd..354e3ac22 100644 --- a/font-src/glyphs/letter/latin/lower-r.ptl +++ b/font-src/glyphs/letter/latin/lower-r.ptl @@ -199,7 +199,7 @@ glyph-block Letter-Latin-Lower-R : begin set-width df.width include : df.markSet.capDesc 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' include : VBar.r xBar Descender (CAP - XH) if doBS : include : rBottomSerif Descender diff --git a/font-src/glyphs/letter/latin/o.ptl b/font-src/glyphs/letter/latin/o.ptl index 2c0fbeb7e..29096d424 100644 --- a/font-src/glyphs/letter/latin/o.ptl +++ b/font-src/glyphs/letter/latin/o.ptl @@ -35,7 +35,7 @@ glyph-block Letter-Latin-O : begin local ada : subDf.archDepthA 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 create-glyph 'oSideways' 0x1D11 : glyph-proc diff --git a/font-src/glyphs/letter/latin/upper-d.ptl b/font-src/glyphs/letter/latin/upper-d.ptl index 31aa8a18c..25f02319b 100644 --- a/font-src/glyphs/letter/latin/upper-d.ptl +++ b/font-src/glyphs/letter/latin/upper-d.ptl @@ -66,7 +66,7 @@ glyph-block Letter-Latin-Upper-D : begin local df : DivFrame 1 3 include : MarkSet.capital 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 create-glyph "romanFiftyThousand.\(suffix)" : glyph-proc 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 include : MarkSet.capital 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 - include : WithTransform [ApparentTranslate 0 (2 * heightGap)] + include : with-transform [ApparentTranslate 0 (2 * heightGap)] DShape df (CAP - 4 * heightGap) arcX1 fRound select-variant 'D' 'D' diff --git a/font-src/glyphs/letter/latin/upper-l.ptl b/font-src/glyphs/letter/latin/upper-l.ptl index 6771b5ef7..0994bc901 100644 --- a/font-src/glyphs/letter/latin/upper-l.ptl +++ b/font-src/glyphs/letter/latin/upper-l.ptl @@ -55,7 +55,7 @@ glyph-block Letter-Latin-Upper-L : begin include : intersection MaskLeft RightSB MaskAbove sw - WithTransform [ApparentTranslate ([HSwToV sw] + gap) 0] + with-transform [ApparentTranslate ([HSwToV sw] + gap) 0] LShape df CAP serifGrade sw 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 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 include [refer-glyph base] AS_BASE ALSO_METRICS diff --git a/font-src/glyphs/letter/latin/upper-r.ptl b/font-src/glyphs/letter/latin/upper-r.ptl index f22467a44..bb7c7a8a3 100644 --- a/font-src/glyphs/letter/latin/upper-r.ptl +++ b/font-src/glyphs/letter/latin/upper-r.ptl @@ -226,7 +226,7 @@ glyph-block Letter-Latin-Upper-R : begin define bp : RBarPos CAP 0 include : intersection Rect CAP 0 SB Width - WithTransform [Translate (-Width / 8) 0] + with-transform [Translate (-Width / 8) 0] PShape CAP (bp -- bp) (withBar -- false) 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 @@ -269,7 +269,7 @@ glyph-block Letter-Latin-Upper-R : begin include : difference union SingleLeg - WithTransform [ApparentTranslate (-BBD) 0] [SingleLeg] + with-transform [ApparentTranslate (-BBD) 0] [SingleLeg] HBar.b (terminalX - BBD - [HSwToV BBS]) (terminalX - [HSwToV BBS]) 0 BBS PShapeOutline CAP (sw -- BBS) (mul -- 1) (overshoot -- O) (offset -- 1) MaskLeft (SB + BBD) diff --git a/font-src/glyphs/letter/latin/v.ptl b/font-src/glyphs/letter/latin/v.ptl index 7ce45507e..aeb1369e6 100644 --- a/font-src/glyphs/letter/latin/v.ptl +++ b/font-src/glyphs/letter/latin/v.ptl @@ -222,7 +222,7 @@ glyph-block Letter-Latin-V : begin 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 : with-transform [ApparentTranslate 0 (CAP - vPartHeight)] : glyph-proc include : VHookRightShape [DivFrame 1] fStraightBar vPartHeight include : Serifs [DivFrame 1] fStraightBar vPartHeight eject-contour 'serifRT' @@ -234,7 +234,7 @@ glyph-block Letter-Latin-V : begin create-glyph "cyrl/ukUnblended.\(suffix)" : glyph-proc include : MarkSet.b 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 : Serifs [DivFrame 1] fStraightBar vPartHeight eject-contour 'serifRT' @@ -245,7 +245,7 @@ glyph-block Letter-Latin-V : begin local vPartHeight : CAP * 0.875 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 : Serifs [DivFrame 1] fStraightBar vPartHeight eject-contour 'serifRT' @@ -261,7 +261,7 @@ glyph-block Letter-Latin-V : begin local vPartHeight : XH * 1 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 : Serifs [DivFrame 1] fStraightBar vPartHeight eject-contour 'serifRT' diff --git a/font-src/glyphs/letter/shared.ptl b/font-src/glyphs/letter/shared.ptl index d8351654c..b64ed4254 100644 --- a/font-src/glyphs/letter/shared.ptl +++ b/font-src/glyphs/letter/shared.ptl @@ -474,14 +474,14 @@ glyph-block Letter-Shared-Shapes : begin include [refer-glyph src] AS_BASE ALSO_METRICS currentGlyph.clearGeometry include : refer-glyph 'cedillaExtShapeBelow' - WithTransform [ApparentTranslate 0 (Stroke * 0.25)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 0.50)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 0.75)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 1.00)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 1.25)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 1.50)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 1.75)] [refer-glyph src] - WithTransform [ApparentTranslate 0 (Stroke * 2.00)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 0.25)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 0.50)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 0.75)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 1.00)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 1.25)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 1.50)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 1.75)] [refer-glyph src] + with-transform [ApparentTranslate 0 (Stroke * 2.00)] [refer-glyph src] include : refer-glyph 'blankBelow' glyph-block-export SerifedArcStart diff --git a/font-src/glyphs/marks/above.ptl b/font-src/glyphs/marks/above.ptl index 58f92dfc6..5b9469833 100644 --- a/font-src/glyphs/marks/above.ptl +++ b/font-src/glyphs/marks/above.ptl @@ -124,8 +124,8 @@ glyph-block Mark-Above : begin set-width 0 local [object radiusIn radiusOut] : RingDims local k : 2 * (radiusOut - (radiusOut - radiusIn) * 0.25) - include : WithTransform [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 : with-transform [Translate (-k / 2) 0] : refer-glyph 'ringAbove' include : StdAnchors.wide foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do @@ -308,9 +308,9 @@ glyph-block Mark-Above : begin create-glyph 'dblCircumflexAbove' 0x1AB0 : glyph-proc set-width 0 include : intersection [MaskRight markMiddle] - WithTransform [Translate (+markExtend) 0] : refer-glyph 'circumflexAbove' + with-transform [Translate (+markExtend) 0] : refer-glyph 'circumflexAbove' include : intersection [MaskLeft markMiddle] - WithTransform [Translate (-markExtend) 0] : refer-glyph 'circumflexAbove' + with-transform [Translate (-markExtend) 0] : refer-glyph 'circumflexAbove' include : StdAnchors.extraWide 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 create-glyph "dialytikaTonosAbove.\(suffix)" : glyph-proc set-width 0 - include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" - include : WithTransform [ApparentTranslate 0 0] : refer-glyph 'tonosAbove' + include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" + include : with-transform [ApparentTranslate 0 0] : refer-glyph 'tonosAbove' include : StdAnchors.wide create-glyph "dialytikaVariaAbove.\(suffix)" : glyph-proc set-width 0 local shift : 0.125 * (markExtend * 0.875 - markStress) - include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" - include : WithTransform [ApparentTranslate shift 0] : refer-glyph 'variaAbove' + include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" + include : with-transform [ApparentTranslate shift 0] : refer-glyph 'variaAbove' include : StdAnchors.wide create-glyph "dialytikaOxiaAbove.\(suffix)" : glyph-proc set-width 0 local shift : 0.125 * (markExtend * 0.875 - markStress) - include : WithTransform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" - include : WithTransform [ApparentTranslate (-shift) 0] : refer-glyph 'oxiaAbove' + include : with-transform [ApparentTranslate 0 (-1/8 * AccentHeight)] : refer-glyph "dialytikaAbove.\(suffix)" + include : with-transform [ApparentTranslate (-shift) 0] : refer-glyph 'oxiaAbove' include : StdAnchors.wide select-variant 'dialytikaTonosAbove' 0x344 (follow -- 'diacriticDot') @@ -1066,8 +1066,8 @@ glyph-block Mark-Above : begin create-glyph 'dblPlusAbove' 0x1AC9 : glyph-proc set-width 0 - include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'plusAbove' - include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'plusAbove' + include : with-transform [Translate (+markExtend) 0] : refer-glyph 'plusAbove' + include : with-transform [Translate (-markExtend) 0] : refer-glyph 'plusAbove' include : StdAnchors.extraWide create-glyph 'upTackAbove' 0x1DF5 : glyph-proc diff --git a/font-src/glyphs/marks/below.ptl b/font-src/glyphs/marks/below.ptl index 4da3df73b..35340a798 100644 --- a/font-src/glyphs/marks/below.ptl +++ b/font-src/glyphs/marks/below.ptl @@ -220,20 +220,20 @@ glyph-block Mark-Below : begin create-glyph 'greaterAndUpArrowheadBelow' 0x0356 : glyph-proc set-width 0 - include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow' - include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'upArrowHeadBelow' + include : with-transform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow' + include : with-transform [Translate (+markExtend) 0] : refer-glyph 'upArrowHeadBelow' include : StdAnchors.impl 0 1.5 create-glyph 'greaterAndDownArrowheadBelow' 0x1DFF : glyph-proc set-width 0 - include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow' - include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'downArrowHeadBelow' + include : with-transform [Translate (-markExtend) 0] : refer-glyph 'greaterBelow' + include : with-transform [Translate (+markExtend) 0] : refer-glyph 'downArrowHeadBelow' include : StdAnchors.impl 0 1.5 create-glyph 'dblCrossBelow' 0x1AB5 : glyph-proc set-width 0 - include : WithTransform [Translate (-markExtend) 0] : refer-glyph 'crossBelow' - include : WithTransform [Translate (+markExtend) 0] : refer-glyph 'crossBelow' + include : with-transform [Translate (-markExtend) 0] : refer-glyph 'crossBelow' + include : with-transform [Translate (+markExtend) 0] : refer-glyph 'crossBelow' include : StdAnchors.impl 0 1.5 create-glyph 'leftParenBelow' 0x1AC3 : glyph-proc diff --git a/font-src/glyphs/marks/overlay.ptl b/font-src/glyphs/marks/overlay.ptl index 589f42442..749e12dbf 100644 --- a/font-src/glyphs/marks/overlay.ptl +++ b/font-src/glyphs/marks/overlay.ptl @@ -266,6 +266,25 @@ glyph-block Mark-Overlay : begin flat (Middle - Width - dx) (XH / 2 + gap) [widths fine fine] 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 create-glyph 'leftTackOver' : glyph-proc set-width 0 @@ -327,14 +346,14 @@ glyph-block Mark-Overlay : begin set-width 0 set-mark-anchor 'overlay' 0 0 0 0 - include : WithTransform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] + include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] refer-glyph 'rightHalfCircleAbove' create-glyph 'leftHalfCircleOver' : glyph-proc set-width 0 set-mark-anchor 'overlay' 0 0 0 0 - include : WithTransform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] + include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] refer-glyph 'leftHalfCircleAbove' # Inner dots diff --git a/font-src/glyphs/number/0.ptl b/font-src/glyphs/number/0.ptl index ded554086..498bf9542 100644 --- a/font-src/glyphs/number/0.ptl +++ b/font-src/glyphs/number/0.ptl @@ -81,8 +81,8 @@ glyph-block Digits-Zero : begin include zero if fnMask include : intersection overlay - WithTransform [ApparentTranslate (-SplitSlashGap) 0] [fnMask height] - WithTransform [ApparentTranslate SplitSlashGap 0] [fnMask height] + with-transform [ApparentTranslate (-SplitSlashGap) 0] [fnMask height] + with-transform [ApparentTranslate SplitSlashGap 0] [fnMask height] include overlay define [Cutout zero overlay fnMask height] : glyph-proc diff --git a/font-src/glyphs/symbol/arrow.ptl b/font-src/glyphs/symbol/arrow.ptl index 9062dd65e..0a5c60b98 100644 --- a/font-src/glyphs/symbol/arrow.ptl +++ b/font-src/glyphs/symbol/arrow.ptl @@ -166,6 +166,10 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1 include : ArrowHead x1 y1 x2 y2 size 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 include : TriangleArrowHead x1 y1 x2 y2 (0.75 * size) include : ArrowBar x1 y1 x2 y2 halfArrowSw @@ -851,6 +855,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1 do "Double-headed Arrows" 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.bottomSpaceLeft'] nothing arrowMidX arrowTop arrowMidX (arrowBot + arrowSw * 1.5) 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 '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" local hcDist : Math.max (halfArrowSw * 5) (arrowWidth / 2) 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 set-width MosaicWidth 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 : 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 set-width MosaicWidth 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 : WithTransform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowLeftCompact' + include : with-transform [ApparentTranslate 0 (-distance)] : refer-glyph : MangleName 'arrowLeftCompact' do "Zig zag" 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 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) 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 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 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 diff --git a/font-src/glyphs/symbol/geometric/masked.ptl b/font-src/glyphs/symbol/geometric/masked.ptl index eca0da702..18363e102 100644 --- a/font-src/glyphs/symbol/geometric/masked.ptl +++ b/font-src/glyphs/symbol/geometric/masked.ptl @@ -224,10 +224,10 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1 union difference 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 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 set-width Geom.Width diff --git a/font-src/glyphs/symbol/math/apl.ptl b/font-src/glyphs/symbol/math/apl.ptl index c2d0a88ad..6128d0dd4 100644 --- a/font-src/glyphs/symbol/math/apl.ptl +++ b/font-src/glyphs/symbol/math/apl.ptl @@ -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'] 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' # Complex Composition diff --git a/font-src/glyphs/symbol/math/integrals.ptl b/font-src/glyphs/symbol/math/integrals.ptl index d136cb9e2..563421d8c 100644 --- a/font-src/glyphs/symbol/math/integrals.ptl +++ b/font-src/glyphs/symbol/math/integrals.ptl @@ -83,9 +83,9 @@ glyph-block Symbol-Math-Integrals : begin WithDotVariants 'shiftedRightHalfRingDotIntegrate' 0x2A14 : function [DrawAt kdr ov] : union difference LongSShape BgOpTop BgOpBot Hook IntHookY OperatorStroke - WithTransform [Translate RingIntSideShift 0] : IntegrateRingMask 1 + with-transform [Translate RingIntSideShift 0] : IntegrateRingMask 1 intersection - WithTransform [Translate RingIntSideShift 0] : IntegrateRing 1 RingIntFine + with-transform [Translate RingIntSideShift 0] : IntegrateRing 1 RingIntFine MaskRight (Middle - OperatorStroke / 2 * HVContrast) DrawAt (Middle + RingIntSideShift) SymbolMid (RingIntDotSize * kdr - ov) @@ -165,16 +165,16 @@ glyph-block Symbol-Math-Integrals : begin create-glyph 'ringDoubleIntegrate' 0x222F : union difference union - WithTransform [Translate (-Width / 7) 0] + with-transform [Translate (-Width / 7) 0] 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] IntegrateRingMask (1 / 2) intersection union - WithTransform [Translate (-Width / 7) 0] + with-transform [Translate (-Width / 7) 0] 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] IntegrateRingMask (1 / 2) IntegrateRing (1 / 2) [AdviceStroke 5] @@ -182,20 +182,20 @@ glyph-block Symbol-Math-Integrals : begin create-glyph 'ringTripleIntegrate' 0x2230 : union difference 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] - WithTransform [Translate (+0) 0] + with-transform [Translate (+0) 0] 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] IntegrateRingMask (1 / 4) intersection 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] - WithTransform [Translate (+0) 0] + with-transform [Translate (+0) 0] 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] IntegrateRingMask (1 / 4) IntegrateRing (1 / 4) [AdviceStroke 6] diff --git a/font-src/glyphs/symbol/math/not-glyph-fn.ptl b/font-src/glyphs/symbol/math/not-glyph-fn.ptl index bc32a3aaa..36fe263cb 100644 --- a/font-src/glyphs/symbol/math/not-glyph-fn.ptl +++ b/font-src/glyphs/symbol/math/not-glyph-fn.ptl @@ -33,7 +33,7 @@ glyph-block NotGlyphFn : begin flat l b curl r t 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 notGlyph newid unicode oldid top bot prop (-NotGlyphSw) diff --git a/font-src/glyphs/symbol/pictograph/i-ching.ptl b/font-src/glyphs/symbol/pictograph/i-ching.ptl index fb28ff9fe..256c77e6f 100644 --- a/font-src/glyphs/symbol/pictograph/i-ching.ptl +++ b/font-src/glyphs/symbol/pictograph/i-ching.ptl @@ -32,7 +32,7 @@ glyph-block Symbol-Pictograph-I-Ching : begin local offsetY : (2 / 3) * (OperBot - PictTop) / n local startY : SymbolMid - offsetY * (n - 1) / 2 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' 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 startY : SymbolMid - offsetY * (6 - 1) / 2 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' 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 startY : SymbolMid - offsetY * (n - 1) / 2 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) [Just '0'] 'iChing/barYang' [Just '1'] 'iChing/barYin' diff --git a/font-src/glyphs/symbol/punctuation/ampersand.ptl b/font-src/glyphs/symbol/punctuation/ampersand.ptl index bbec77b0f..de92beab0 100644 --- a/font-src/glyphs/symbol/punctuation/ampersand.ptl +++ b/font-src/glyphs/symbol/punctuation/ampersand.ptl @@ -112,7 +112,7 @@ glyph-block Symbol-Punctuation-Ampersand : begin Rect (CAP * 2) (0.5 * CAP) Middle Width intersection 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) archv g4 xUpperLoopLeft yUpperLoopLeft diff --git a/font-src/glyphs/symbol/punctuation/asterisk.ptl b/font-src/glyphs/symbol/punctuation/asterisk.ptl index 2225db844..17a8f1023 100644 --- a/font-src/glyphs/symbol/punctuation/asterisk.ptl +++ b/font-src/glyphs/symbol/punctuation/asterisk.ptl @@ -53,8 +53,8 @@ glyph-block Symbol-Punctuation-Asterisk : begin ApparentTranslate 0 (yLow - SymbolMid) if dual : create-glyph (dual + '.' + sMid) : composite-proc - WithTransform [ApparentTranslate 0 (yHigh_DT - SymbolMid)] : refer-glyph (name + '.' + sMid) - WithTransform [ApparentTranslate 0 (yLow_DT - SymbolMid)] : refer-glyph (name + '.' + sMid) + with-transform [ApparentTranslate 0 (yHigh_DT - SymbolMid)] : refer-glyph (name + '.' + sMid) + with-transform [ApparentTranslate 0 (yLow_DT - SymbolMid)] : refer-glyph (name + '.' + sMid) if triple : for-width-kinds WideWidth1 local scale : Math.sqrt (MosaicWidthScalar / 2) diff --git a/font-src/glyphs/symbol/punctuation/brackets.ptl b/font-src/glyphs/symbol/punctuation/brackets.ptl index 83e9a2c51..9f3291f12 100644 --- a/font-src/glyphs/symbol/punctuation/brackets.ptl +++ b/font-src/glyphs/symbol/punctuation/brackets.ptl @@ -97,7 +97,7 @@ glyph-block Symbol-Punctuation-Brackets : begin local df : DivFrame 1 3 local subDf : df.slice 3 2 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 "doubleParenRight.\(suffix)" null "doubleParenLeft.\(suffix)" Middle SymbolMid diff --git a/font-src/glyphs/symbol/punctuation/section.ptl b/font-src/glyphs/symbol/punctuation/section.ptl index a2bd87b68..529f5c6a2 100644 --- a/font-src/glyphs/symbol/punctuation/section.ptl +++ b/font-src/glyphs/symbol/punctuation/section.ptl @@ -32,9 +32,9 @@ glyph-block Symbol-Punctuation-ParagraphAndSection : begin corner RightSB (top - Hook - 0.1) define [halfShape] : intersection [s dispiro 0] : union MaskAbove SymbolMid - WithTransform [FlipAround Middle SymbolMid] : s spiro-outline 0.1 + with-transform [FlipAround Middle SymbolMid] : s spiro-outline 0.1 include : union halfShape - WithTransform [FlipAround Middle SymbolMid] : halfShape + with-transform [FlipAround Middle SymbolMid] : halfShape diff --git a/font-src/glyphs/symbol/punctuation/small.ptl b/font-src/glyphs/symbol/punctuation/small.ptl index a811c01c5..d51f68671 100644 --- a/font-src/glyphs/symbol/punctuation/small.ptl +++ b/font-src/glyphs/symbol/punctuation/small.ptl @@ -94,7 +94,7 @@ glyph-block Symbol-Punctuation-Small : begin create-glyph 'comma.square' : glyph-proc local df : DivFrame para.diversityF 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 sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4) 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 local df : DivFrame para.diversityF 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 sw : Math.min [AdviceStroke 4] (PeriodSize * DesignParameters.squareDotScalar * 0.4) 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 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 "xhSmallPeriod.\(suffix)" - include : WithTransform [ApparentTranslate (-multiDotShift) 0] : composite-proc + include : with-transform [ApparentTranslate (-multiDotShift) 0] : composite-proc refer-glyph "halfXhSmallPeriod.\(suffix)" create-glyph "fourDotPunct.\(suffix)" : glyph-proc include [refer-glyph "smallPeriod.\(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)" - include : WithTransform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc + include : with-transform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc refer-glyph "halfXhSmallPeriod.\(suffix)" create-glyph "capFourDotPunct.\(suffix)" : glyph-proc include [refer-glyph "smallPeriod.\(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)" - include : WithTransform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc + include : with-transform [ApparentTranslate (-multiDotShiftDense) 0] : composite-proc refer-glyph "halfCapSmallPeriod.\(suffix)" 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 "xhSmallPeriod.\(suffix)" - include : WithTransform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc + include : with-transform [ApparentTranslate (+multiDotShiftDense) 0] : composite-proc refer-glyph "smallPeriod.\(suffix)" refer-glyph "xhSmallPeriod.\(suffix)" include : refer-glyph "halfXhSmallPeriod.\(suffix)" diff --git a/font-src/meta/macros.ptl b/font-src/meta/macros.ptl index 815e2c640..c09b05193 100644 --- a/font-src/meta/macros.ptl +++ b/font-src/meta/macros.ptl @@ -172,9 +172,9 @@ define-macro glyph-block-import : syntax-rules DotStrokeAt CircleRing CircleRingAt CircleDotAt RoundStrokeTerminalAt OShapeT OShape OShapeOutline OShapeFlatTB HSerif VSerif NeedSlab NeedNotItalic HBar HOverlayBar VBar FlatSlashShape hookstart hookend Ungizmo Regizmo FlipAround ScaleAround Realign - ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors AsRadical - ExtLineCenter ExtLineLhs ExtLineRhs DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow - MaskLeft MaskRight HalfRectTriangle MaskAboveLine MaskBelowLine MaskLeftLine + ForceUpright DiagCor NameUni PointingTo with-transform clear-geometry clear-anchors + AsRadical ExtLineCenter ExtLineLhs ExtLineRhs DiagCorDs HCrossBar VERY-FAR MaskAbove + MaskBelow MaskLeft MaskRight HalfRectTriangle MaskAboveLine MaskBelowLine MaskLeftLine MaskRightLine DotVariants WithDotVariants] define vartiableFilter : if externEnv.$glyphBlockVariableUsage$