From 289f335b1a4c0aac4ef78555e71cb8138e6928a5 Mon Sep 17 00:00:00 2001 From: John McWilliams Date: Thu, 1 May 2025 08:09:04 -0400 Subject: [PATCH] Move `[UnicodeWeightGrade n s]` to `meta/aesthetics.ptl`. --- packages/font-glyphs/src/meta/aesthetics.ptl | 15 +++++++++++---- packages/font-glyphs/src/meta/macros.ptl | 8 ++++---- packages/font-glyphs/src/symbol/arrow.ptl | 2 +- .../src/symbol/geometric/ballot-box.ptl | 2 +- .../font-glyphs/src/symbol/geometric/dotted.ptl | 4 ++-- .../font-glyphs/src/symbol/geometric/masked.ptl | 2 +- .../font-glyphs/src/symbol/geometric/plain.ptl | 2 +- .../src/symbol/geometric/rotational.ptl | 2 +- .../font-glyphs/src/symbol/geometric/rounded.ptl | 2 +- .../font-glyphs/src/symbol/geometric/shaded.ptl | 4 ++-- .../font-glyphs/src/symbol/geometric/shared.ptl | 10 ---------- .../src/symbol/geometric/square-corners.ptl | 2 +- .../font-glyphs/src/symbol/geometric/stars.ptl | 2 +- .../src/symbol/geometric/sun-and-gear.ptl | 2 +- .../src/symbol/geometric/technical.ptl | 2 +- packages/font-glyphs/src/symbol/letter.ptl | 1 - .../font-glyphs/src/symbol/mosaic/dentistry.ptl | 2 +- .../src/symbol/pictograph/checking-marks.ptl | 2 +- .../font-glyphs/src/symbol/pictograph/clock.ptl | 2 +- .../font-glyphs/src/symbol/pictograph/cross.ptl | 2 +- .../symbol/pictograph/iec-power-and-playback.ptl | 2 +- .../src/symbol/pictograph/telephone-recorder.ptl | 2 +- 22 files changed, 35 insertions(+), 39 deletions(-) diff --git a/packages/font-glyphs/src/meta/aesthetics.ptl b/packages/font-glyphs/src/meta/aesthetics.ptl index 92f9ed557..0fa23a161 100644 --- a/packages/font-glyphs/src/meta/aesthetics.ptl +++ b/packages/font-glyphs/src/meta/aesthetics.ptl @@ -190,6 +190,13 @@ export : define [calculateMetrics para] : begin define GeometryStroke : AdviceStroke 4 define ShoulderFine : Math.min (Stroke * para.shoulderFineMin) : AdviceStroke 24 + define [UnicodeWeightGrade n s] : begin + define kw : 10 - s - n / 2 + define [mulPow ss] : (0.25 + ss / 8) * [StrokeWidthBlend 2 1] + define kMul : [Math.pow n : mulPow s] / [Math.pow 4 : mulPow 2] + define kAdj : GeometryStroke / [AdviceStroke 6] + return : kMul * kAdj * [AdviceStroke kw] + define [AdviceGlottalStopArchDepth y sign] : begin return : ((y - Stroke) * 0.24 + Stroke * 0.625) + sign * TanSlope * SmoothAdjust @@ -208,10 +215,10 @@ export : define [calculateMetrics para] : begin WideWidth2 WideWidth3 WideWidth4 EssUpper EssLower EssQuestion RightSB Middle DotRadius PeriodRadius ArchDepthA ArchDepthB SmallArchDepthA SmallArchDepthB CorrectionOMidX CorrectionOMidS compositeBaseAnchors AdviceStroke AdviceStroke2 AdviceStrokeInSpace - OverlayStroke OperatorStroke GeometryStroke ShoulderFine AdviceGlottalStopArchDepth - StrokeWidthBlend ArchDepthAOf ArchDepthBOf SmoothAdjust SideJut MidJutSide MidJutCenter - YSmoothMidR YSmoothMidL DToothlessRise DMBlend HSwToV VSwToH NarrowUnicodeT WideUnicodeT - VERY-FAR TINY] + OverlayStroke OperatorStroke GeometryStroke ShoulderFine UnicodeWeightGrade + AdviceGlottalStopArchDepth StrokeWidthBlend ArchDepthAOf ArchDepthBOf SmoothAdjust SideJut + MidJutSide MidJutCenter YSmoothMidR YSmoothMidL DToothlessRise DMBlend HSwToV VSwToH + NarrowUnicodeT WideUnicodeT VERY-FAR TINY] export : define [setFontMetrics para metrics fm] : begin define [object CAP Descender XH Width SymbolMid] metrics diff --git a/packages/font-glyphs/src/meta/macros.ptl b/packages/font-glyphs/src/meta/macros.ptl index f8a45795c..18f62e417 100644 --- a/packages/font-glyphs/src/meta/macros.ptl +++ b/packages/font-glyphs/src/meta/macros.ptl @@ -387,10 +387,10 @@ define-macro glyph-block : syntax-rules WideWidth3 WideWidth4 EssUpper EssLower EssQuestion RightSB Middle DotRadius PeriodRadius ArchDepthA ArchDepthB SmallArchDepthA SmallArchDepthB CorrectionOMidX CorrectionOMidS compositeBaseAnchors AdviceStroke AdviceStroke2 AdviceStrokeInSpace - OverlayStroke OperatorStroke GeometryStroke ShoulderFine AdviceGlottalStopArchDepth - StrokeWidthBlend ArchDepthAOf ArchDepthBOf SmoothAdjust SideJut MidJutSide - MidJutCenter YSmoothMidR YSmoothMidL DToothlessRise DMBlend HSwToV VSwToH - NarrowUnicodeT WideUnicodeT VERY-FAR TINY] + OverlayStroke OperatorStroke GeometryStroke ShoulderFine UnicodeWeightGrade + AdviceGlottalStopArchDepth StrokeWidthBlend ArchDepthAOf ArchDepthBOf SmoothAdjust + SideJut MidJutSide MidJutCenter YSmoothMidR YSmoothMidL DToothlessRise DMBlend HSwToV + VSwToH NarrowUnicodeT WideUnicodeT VERY-FAR TINY] define spiroFnImports `[g4 g2 corner flat curl virt close end straight g2c cg2 flatc ccurl widths disable-contrast heading unimportant important alsoThru alsoThruThem bezControls diff --git a/packages/font-glyphs/src/symbol/arrow.ptl b/packages/font-glyphs/src/symbol/arrow.ptl index 3f8caaa3e..704e9da25 100644 --- a/packages/font-glyphs/src/symbol/arrow.ptl +++ b/packages/font-glyphs/src/symbol/arrow.ptl @@ -7,7 +7,7 @@ glyph-module glyph-block Symbol-Arrow : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define arrowHeight : para.arrowHeight * (Width - SB / 2) * [Math.cbrt MosaicWidthScalar] define arrowWidth : Math.min (MosaicWidth - SB / 2) arrowHeight diff --git a/packages/font-glyphs/src/symbol/geometric/ballot-box.ptl b/packages/font-glyphs/src/symbol/geometric/ballot-box.ptl index 7b465123b..8b6430834 100644 --- a/packages/font-glyphs/src/symbol/geometric/ballot-box.ptl +++ b/packages/font-glyphs/src/symbol/geometric/ballot-box.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Ballot-Box : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/geometric/dotted.ptl b/packages/font-glyphs/src/symbol/geometric/dotted.ptl index ff3456b46..677bfa701 100644 --- a/packages/font-glyphs/src/symbol/geometric/dotted.ptl +++ b/packages/font-glyphs/src/symbol/geometric/dotted.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Dice : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth @@ -48,7 +48,7 @@ glyph-block Symbol-Geometric-Dice : for-width-kinds WideWidth1 glyph-block Symbol-Geometric-Dotted : for-width-kinds WideWidth4 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/geometric/masked.ptl b/packages/font-glyphs/src/symbol/geometric/masked.ptl index 17f49150a..c37e9b706 100644 --- a/packages/font-glyphs/src/symbol/geometric/masked.ptl +++ b/packages/font-glyphs/src/symbol/geometric/masked.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/geometric/plain.ptl b/packages/font-glyphs/src/symbol/geometric/plain.ptl index c9347a0c5..0ba8213e9 100644 --- a/packages/font-glyphs/src/symbol/geometric/plain.ptl +++ b/packages/font-glyphs/src/symbol/geometric/plain.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes ConvexPolygonOutline + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes ConvexPolygonOutline define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/geometric/rotational.ptl b/packages/font-glyphs/src/symbol/geometric/rotational.ptl index 1f7da6f15..a3acf4146 100644 --- a/packages/font-glyphs/src/symbol/geometric/rotational.ptl +++ b/packages/font-glyphs/src/symbol/geometric/rotational.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Rotational : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define [OpenRadius sw sides] : sw / 2 / [Math.tan : Math.PI / sides] diff --git a/packages/font-glyphs/src/symbol/geometric/rounded.ptl b/packages/font-glyphs/src/symbol/geometric/rounded.ptl index 872f109c2..1575d9cf0 100644 --- a/packages/font-glyphs/src/symbol/geometric/rounded.ptl +++ b/packages/font-glyphs/src/symbol/geometric/rounded.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Rounded : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/geometric/shaded.ptl b/packages/font-glyphs/src/symbol/geometric/shaded.ptl index 3a04aca5e..3378ea869 100644 --- a/packages/font-glyphs/src/symbol/geometric/shaded.ptl +++ b/packages/font-glyphs/src/symbol/geometric/shaded.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Shaded : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom @@ -135,7 +135,7 @@ glyph-block Symbol-Geometric-Shaded : for-width-kinds WideWidth1 glyph-block Symbol-Geometric-Shaded-Narrow : for-width-kinds WideWidth4 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade + glyph-block-import Symbol-Geometric-Shared : GeometricDim define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/geometric/shared.ptl b/packages/font-glyphs/src/symbol/geometric/shared.ptl index 9e1b82e77..65f3367cb 100644 --- a/packages/font-glyphs/src/symbol/geometric/shared.ptl +++ b/packages/font-glyphs/src/symbol/geometric/shared.ptl @@ -26,16 +26,6 @@ glyph-block Symbol-Geometric-Shared : begin MidY SymbolMid Bot : SymbolMid - size - glyph-block-export UnicodeWeightGrade - define [UnicodeWeightGrade n s] : begin - define kwPow 1 - define kkw : 2 / (4 ** kwPow) - define kw : 10 - s - kkw * (n ** kwPow) - define [mulPow ss pm] : (1 / 4 + ss / 8) * [StrokeWidthBlend 2 1] - define kMul : (n ** [mulPow s]) / (4 ** [mulPow 2]) - define kAdj : GeometryStroke / [AdviceStroke 6] - return : kMul * kAdj * [AdviceStroke kw] - glyph-block-export GeometricSizes define [GeometricSizes Geom] : object Large {.size [DesignParameters.GeometricLargeX Geom.Width Geom.UnitWidth]} diff --git a/packages/font-glyphs/src/symbol/geometric/square-corners.ptl b/packages/font-glyphs/src/symbol/geometric/square-corners.ptl index 0de90530e..7b809de19 100644 --- a/packages/font-glyphs/src/symbol/geometric/square-corners.ptl +++ b/packages/font-glyphs/src/symbol/geometric/square-corners.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Square-Corners : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/geometric/stars.ptl b/packages/font-glyphs/src/symbol/geometric/stars.ptl index 27a6dd23d..d9e6d7342 100644 --- a/packages/font-glyphs/src/symbol/geometric/stars.ptl +++ b/packages/font-glyphs/src/symbol/geometric/stars.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Stars : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/geometric/sun-and-gear.ptl b/packages/font-glyphs/src/symbol/geometric/sun-and-gear.ptl index a4373a97d..63e674b38 100644 --- a/packages/font-glyphs/src/symbol/geometric/sun-and-gear.ptl +++ b/packages/font-glyphs/src/symbol/geometric/sun-and-gear.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Sun-And-Gear : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/geometric/technical.ptl b/packages/font-glyphs/src/symbol/geometric/technical.ptl index c81ccd153..8dc8e38c5 100644 --- a/packages/font-glyphs/src/symbol/geometric/technical.ptl +++ b/packages/font-glyphs/src/symbol/geometric/technical.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Technical : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes glyph-block-import Shared-Symbol-Shapes : TriangleShape Polyline glyph-block-import Symbol-Arrow : ArrowShape ArrowHead TrigArrowShape diff --git a/packages/font-glyphs/src/symbol/letter.ptl b/packages/font-glyphs/src/symbol/letter.ptl index cc927f606..5c6855929 100644 --- a/packages/font-glyphs/src/symbol/letter.ptl +++ b/packages/font-glyphs/src/symbol/letter.ptl @@ -199,7 +199,6 @@ glyph-block Symbol-Letter : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives glyph-block-import Letter-Latin-X : XStrand - glyph-block-import Symbol-Geometric-Shared : UnicodeWeightGrade glyph-block-import Letter-Shared-Shapes : FlatHookDepth alias 'eulerConst' 0x2107 'latn/Epsilon' diff --git a/packages/font-glyphs/src/symbol/mosaic/dentistry.ptl b/packages/font-glyphs/src/symbol/mosaic/dentistry.ptl index d3d4fc4bb..473fd3de0 100644 --- a/packages/font-glyphs/src/symbol/mosaic/dentistry.ptl +++ b/packages/font-glyphs/src/symbol/mosaic/dentistry.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Mosaic-Dentistry : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade + glyph-block-import Symbol-Geometric-Shared : GeometricDim glyph-block-import Mark-Above : TildeShape define boxDrawingStroke : AdviceStroke 3.5 diff --git a/packages/font-glyphs/src/symbol/pictograph/checking-marks.ptl b/packages/font-glyphs/src/symbol/pictograph/checking-marks.ptl index e441cc34d..971b27639 100644 --- a/packages/font-glyphs/src/symbol/pictograph/checking-marks.ptl +++ b/packages/font-glyphs/src/symbol/pictograph/checking-marks.ptl @@ -7,7 +7,7 @@ glyph-module glyph-block Symbol-Pictograph-Checking-Marks : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade + glyph-block-import Symbol-Geometric-Shared : GeometricDim for-width-kinds WideWidth1 : do define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/pictograph/clock.ptl b/packages/font-glyphs/src/symbol/pictograph/clock.ptl index b70a0d909..cc8878355 100644 --- a/packages/font-glyphs/src/symbol/pictograph/clock.ptl +++ b/packages/font-glyphs/src/symbol/pictograph/clock.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Geometric-Clock : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth diff --git a/packages/font-glyphs/src/symbol/pictograph/cross.ptl b/packages/font-glyphs/src/symbol/pictograph/cross.ptl index 67f60cb56..32a350530 100644 --- a/packages/font-glyphs/src/symbol/pictograph/cross.ptl +++ b/packages/font-glyphs/src/symbol/pictograph/cross.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Cross : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/pictograph/iec-power-and-playback.ptl b/packages/font-glyphs/src/symbol/pictograph/iec-power-and-playback.ptl index 0459d814f..f4f5ea867 100644 --- a/packages/font-glyphs/src/symbol/pictograph/iec-power-and-playback.ptl +++ b/packages/font-glyphs/src/symbol/pictograph/iec-power-and-playback.ptl @@ -7,7 +7,7 @@ glyph-module glyph-block Symbol-Pictograph-IEC-Power-And-Playback : for-width-kinds WideWidth1 : begin glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Size : GeometricSizes Geom diff --git a/packages/font-glyphs/src/symbol/pictograph/telephone-recorder.ptl b/packages/font-glyphs/src/symbol/pictograph/telephone-recorder.ptl index 5ea1f6195..61f35243b 100644 --- a/packages/font-glyphs/src/symbol/pictograph/telephone-recorder.ptl +++ b/packages/font-glyphs/src/symbol/pictograph/telephone-recorder.ptl @@ -8,7 +8,7 @@ glyph-module glyph-block Symbol-Telephone-Recorder : for-width-kinds WideWidth1 glyph-block-import CommonShapes glyph-block-import Common-Derivatives - glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes + glyph-block-import Symbol-Geometric-Shared : GeometricDim GeometricSizes define Geom : GeometricDim MosaicUnitWidth MosaicWidth