Some Christian Crosses (#1844)

* crosses

* cross size refinement
This commit is contained in:
Logo 2023-07-15 09:05:23 +08:00 committed by GitHub
parent 6e454e0ff6
commit e37c489e9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 67 additions and 0 deletions

View file

@ -1,3 +1,9 @@
* Add Characters:
- ORTHODOX CROSS (`U+2626`).
- CROSS OF LORRAINE (`U+2628`).
- LATIN CROSS (`U+271D`) (#1841).
- HEAVY LATIN CROSS (`U+1F547`).
- CELTIC CROSS (`U+1F548`).
* Refine shape of `U+A666` and `U+A667` (#1838). * Refine shape of `U+A666` and `U+A667` (#1838).
* Make `cv33` affect `U+0270`, `U+02AE`, and `U+02AF`. * Make `cv33` affect `U+0270`, `U+02AE`, and `U+02AF`.
* Make `cv42` affect serifs of `U+027F`. * Make `cv42` affect serifs of `U+027F`.

View file

@ -6,6 +6,7 @@ export : define [apply] : begin
run-glyph-module "./pictograph/astronomy.mjs" run-glyph-module "./pictograph/astronomy.mjs"
run-glyph-module "./pictograph/atom.mjs" run-glyph-module "./pictograph/atom.mjs"
run-glyph-module "./pictograph/bolt-symbol.mjs" run-glyph-module "./pictograph/bolt-symbol.mjs"
run-glyph-module "./pictograph/christian-cross.mjs"
run-glyph-module "./pictograph/checking-marks.mjs" run-glyph-module "./pictograph/checking-marks.mjs"
run-glyph-module "./pictograph/faces.mjs" run-glyph-module "./pictograph/faces.mjs"
run-glyph-module "./pictograph/flags.mjs" run-glyph-module "./pictograph/flags.mjs"

View file

@ -0,0 +1,60 @@
$$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from"../../../support/utils.mjs"
import [DesignParameters] from"../../../meta/aesthetics.mjs"
glyph-module
glyph-block Symbol-Christian-Cross : for-width-kinds WideWidth1
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Symbol-Geometric-Shared : GeometricDim UnicodeWeightGrade GeometricSizes
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
define Size : GeometricSizes Geom
define mediumSw : UnicodeWeightGrade 5 Geom.Scalar
define heavySw : UnicodeWeightGrade 9 Geom.Scalar
define pBottom 2
define pShortBar 0.6
define pRing 0.6
define crossHeight : Geom.Size * Size.Large.size * 2
define shortSize : crossHeight / (pBottom + 1)
define yTop : Geom.MidY + 0.5 * crossHeight
define yBot : Geom.MidY - 0.5 * crossHeight
define yCenter : yTop - shortSize
define [LatinCross sw fSecondBar] : glyph-proc
include : dispiro
corner Geom.MidX yTop [widths.center sw]
corner Geom.MidX yBot
include : dispiro
corner (Geom.MidX - shortSize) yCenter [widths.center sw]
corner (Geom.MidX + shortSize) yCenter
if fSecondBar : include : dispiro
corner (Geom.MidX - pShortBar * shortSize) [mix yCenter yTop 0.5] [widths.center sw]
corner (Geom.MidX + pShortBar * shortSize) [mix yCenter yTop 0.5]
create-glyph [MangleName 'latinCross'] [MangleUnicode 0x271D] : glyph-proc
set-width Geom.Width
include : LatinCross mediumSw false
create-glyph [MangleName 'heavyLatinCross'] [MangleUnicode 0x1F547] : glyph-proc
set-width Geom.Width
include : LatinCross heavySw false
create-glyph [MangleName 'lorraineCross'] [MangleUnicode 0x2628] : glyph-proc
set-width Geom.Width
include : LatinCross mediumSw true
create-glyph [MangleName 'orthodoxCross'] [MangleUnicode 0x2626] : glyph-proc
set-width Geom.Width
include : LatinCross mediumSw true
include : dispiro
corner (Geom.MidX - pShortBar * shortSize) [mix yBot yCenter 0.45] [widths.center mediumSw]
corner (Geom.MidX + pShortBar * shortSize) [mix yBot yCenter 0.3]
create-glyph [MangleName 'celticCross'] [MangleUnicode 0x1F548] : glyph-proc
set-width Geom.Width
include : LatinCross mediumSw false
include : RingStrokeAt Geom.MidX yCenter (pRing * shortSize + 0.5 * mediumSw) mediumSw