Add localized forms for Bashkir and Chuvash. (#2485)
This commit is contained in:
parent
5f20ec72ae
commit
0219a501ec
8 changed files with 107 additions and 7 deletions
|
@ -2,3 +2,4 @@
|
||||||
- KAYAH LI SIGN CWI (`U+A92E`).
|
- KAYAH LI SIGN CWI (`U+A92E`).
|
||||||
- ZERO WIDTH NON-BREAKING SPACE (`U+FEFF`).
|
- ZERO WIDTH NON-BREAKING SPACE (`U+FEFF`).
|
||||||
* Add APL form (`APLF`) for `U+25E0` and `U+25E1`, for UIUA.
|
* Add APL form (`APLF`) for `U+25E0` and `U+25E1`, for UIUA.
|
||||||
|
* Add Cyrillic localization forms for Bashkir and Chuvash.
|
||||||
|
|
|
@ -82,3 +82,19 @@ glyph-block Letter-Cyrillic-Orthography : begin
|
||||||
link-gr LocalizedForm.BGR 'cyrl/tse' 'cyrl/tse.BGR'
|
link-gr LocalizedForm.BGR 'cyrl/tse' 'cyrl/tse.BGR'
|
||||||
link-gr LocalizedForm.BGR 'cyrl/yer' 'cyrl/yer.BGR'
|
link-gr LocalizedForm.BGR 'cyrl/yer' 'cyrl/yer.BGR'
|
||||||
link-gr LocalizedForm.BGR 'cyrl/yeri' 'cyrl/yeri.BGR'
|
link-gr LocalizedForm.BGR 'cyrl/yeri' 'cyrl/yeri.BGR'
|
||||||
|
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/Ghayn' 'cyrl/Ghayn.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/ghayn' 'cyrl/ghayn.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/Dhe' 'cyrl/Dhe.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/dhe' 'cyrl/dhe.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/The' 'cyrl/The.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Upright 'cyrl/the' 'cyrl/the.BSH'
|
||||||
|
|
||||||
|
link-gr LocalizedForm.BSH.Italic 'cyrl/Ghayn' 'cyrl/Ghayn.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Italic 'cyrl/Dhe' 'cyrl/Dhe.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Italic 'cyrl/dhe' 'cyrl/dhe.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Italic 'cyrl/The' 'cyrl/The.BSH'
|
||||||
|
link-gr LocalizedForm.BSH.Italic 'cyrl/the' 'cyrl/the.BSH'
|
||||||
|
|
||||||
|
link-gr LocalizedForm.CHU 'cyrl/The' 'cyrl/The.CHU'
|
||||||
|
link-gr LocalizedForm.CHU 'cyrl/the' 'cyrl/the.CHU'
|
||||||
|
|
|
@ -101,7 +101,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
glyph-block-export CyrZe
|
glyph-block-export CyrZe
|
||||||
define [CyrZe] : with-params [
|
define [CyrZe] : with-params [
|
||||||
slabTop slabBot top bot left right blend hook _stroke
|
slabTop slabBot top bot left right blend hook _stroke
|
||||||
[xo OX] [op OverlayPos] [ada2 SmallArchDepthA] [adb2 SmallArchDepthB]
|
[xo OX] [yo O] [op OverlayPos] [ada2 SmallArchDepthA] [adb2 SmallArchDepthB]
|
||||||
] : namespace
|
] : namespace
|
||||||
export : define [Dim] : begin
|
export : define [Dim] : begin
|
||||||
local stroke : fallback _stroke : AdviceStroke2 2 3 (top - bot)
|
local stroke : fallback _stroke : AdviceStroke2 2 3 (top - bot)
|
||||||
|
@ -109,8 +109,8 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
local midy : mix bot top op
|
local midy : mix bot top op
|
||||||
local topHeight : top - bot
|
local topHeight : top - bot
|
||||||
local midyHeight : midy - bot
|
local midyHeight : midy - bot
|
||||||
local adb : topHeight - [mix (midyHeight + stroke / 2) (topHeight - O - stroke) (ArchDepthA / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke
|
local adb : topHeight - [mix (midyHeight + stroke / 2) (topHeight - yo - stroke) (ArchDepthA / (ArchDepthA + ArchDepthB))] + [HSwToV TanSlope] * stroke
|
||||||
local ada : [mix (stroke + O) (midyHeight - stroke / 2) (ArchDepthA / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke
|
local ada : [mix (stroke + yo) (midyHeight - stroke / 2) (ArchDepthA / (ArchDepthA + ArchDepthB))] - [HSwToV TanSlope] * stroke
|
||||||
local fine : stroke * CThin
|
local fine : stroke * CThin
|
||||||
local stemFine : stroke * (ShoulderFine / Stroke)
|
local stemFine : stroke * (ShoulderFine / Stroke)
|
||||||
return : object stroke midx midy ada adb fine stemFine
|
return : object stroke midx midy ada adb fine stemFine
|
||||||
|
@ -242,6 +242,22 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
include : let [ze : CyrZe slabTop slabBot XH Descender SB RightSB StdBlend SHook]
|
include : let [ze : CyrZe slabTop slabBot XH Descender SB RightSB StdBlend SHook]
|
||||||
union [ze.Shape] [ze.AutoStartSerifL] [ze.AutoEndSerifL]
|
union [ze.Shape] [ze.AutoStartSerifL] [ze.AutoEndSerifL]
|
||||||
|
|
||||||
|
create-glyph "cyrl/Dhe.\(suffix)" : glyph-proc
|
||||||
|
include [refer-glyph "cyrl/Ze.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
||||||
|
include : let [zeNoO : CyrZe slabTop slabBot CAP 0 SB RightSB StdBlend Hook (xo -- 0) (yo -- 0)]
|
||||||
|
difference
|
||||||
|
VBar.m Middle (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
||||||
|
zeNoO.ShapeMask
|
||||||
|
|
||||||
|
create-glyph "cyrl/dhe.\(suffix)" : glyph-proc
|
||||||
|
include [refer-glyph "cyrl/ze.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
||||||
|
include : let [zeNoO : CyrZe slabTop slabBot XH 0 SB RightSB StdBlend SHook (xo -- 0) (yo -- 0)]
|
||||||
|
difference
|
||||||
|
VBar.m Middle (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
||||||
|
zeNoO.ShapeMask
|
||||||
|
|
||||||
create-glyph "cyrl/DzjeKomi.\(suffix)" : glyph-proc
|
create-glyph "cyrl/DzjeKomi.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
local ze : CyrZe slabTop OPEN-VERTICAL CAP 0 SB RightSB StdBlend Hook
|
local ze : CyrZe slabTop OPEN-VERTICAL CAP 0 SB RightSB StdBlend Hook
|
||||||
|
@ -482,8 +498,22 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
|
||||||
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/ZeTopSerifOnly')
|
select-variant 'cyrl/DzjeKomi' 0x506 (follow -- 'cyrl/ZeTopSerifOnly')
|
||||||
select-variant 'cyrl/dzjeKomi' 0x507 (follow -- 'cyrl/zeTopSerifOnly')
|
select-variant 'cyrl/dzjeKomi' 0x507 (follow -- 'cyrl/zeTopSerifOnly')
|
||||||
|
|
||||||
derive-composites 'cyrl/Dhe' 0x498 'cyrl/Ze' 'cedillaExtShapeBelowOArc'
|
select-variant 'cyrl/Dhe' 0x498 (follow -- 'cyrl/Ze')
|
||||||
derive-composites 'cyrl/dhe' 0x499 'cyrl/ze' 'cedillaExtShapeBelowSOArc'
|
select-variant 'cyrl/dhe' 0x499 (follow -- 'cyrl/ze')
|
||||||
|
|
||||||
|
derive-multi-part-glyphs 'cyrl/Dhe.BSH' null { 'cyrl/Ze' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
local { base mark } srcs
|
||||||
|
include : refer-glyph mark
|
||||||
|
include : Translate Width AccentClearance
|
||||||
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-AccentHeight)
|
||||||
|
|
||||||
|
derive-multi-part-glyphs 'cyrl/dhe.BSH' null { 'cyrl/ze' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
local { base mark } srcs
|
||||||
|
include : refer-glyph mark
|
||||||
|
include : Translate Width AccentClearance
|
||||||
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-AccentHeight)
|
||||||
|
|
||||||
select-variant 'latn/epsilon/descBase' (shapeFrom -- 'latn/epsilon')
|
select-variant 'latn/epsilon/descBase' (shapeFrom -- 'latn/epsilon')
|
||||||
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'cyrl/ze/descBase')
|
select-variant 'latn/epsilonRev/descBase' (shapeFrom -- 'cyrl/ze') (follow -- 'cyrl/ze/descBase')
|
||||||
|
|
|
@ -354,8 +354,38 @@ glyph-block Letter-Latin-C : begin
|
||||||
|
|
||||||
derive-composites 'CCedilla' 0xC7 'C' 'cedillaExtShapeBelowOArc'
|
derive-composites 'CCedilla' 0xC7 'C' 'cedillaExtShapeBelowOArc'
|
||||||
derive-composites 'cCedilla' 0xE7 'c' 'cedillaExtShapeBelowOArc'
|
derive-composites 'cCedilla' 0xE7 'c' 'cedillaExtShapeBelowOArc'
|
||||||
derive-composites 'cyrl/The' 0x4AA 'cyrl/Es' 'cedillaExtShapeBelowOArc'
|
|
||||||
derive-composites 'cyrl/the' 0x4AB 'cyrl/es' 'cedillaExtShapeBelowOArc'
|
derive-glyphs 'cyrl/The' 0x4AA "cyrl/Es" : function [src gr] : glyph-proc
|
||||||
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
||||||
|
include : difference
|
||||||
|
VBar.m Middle (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
||||||
|
OShapeOutline.NoOvershoot CAP 0 SB RightSB Stroke ArchDepthA ArchDepthB
|
||||||
|
|
||||||
|
derive-multi-part-glyphs 'cyrl/The.BSH' null { 'cyrl/Es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
local { base mark } srcs
|
||||||
|
include : refer-glyph mark
|
||||||
|
include : Translate Width AccentClearance
|
||||||
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-AccentHeight)
|
||||||
|
|
||||||
|
derive-composites 'cyrl/The.CHU' null 'cyrl/Es' 'cedillaExtShapeBelowOArc'
|
||||||
|
|
||||||
|
derive-glyphs 'cyrl/the' 0x4AB "cyrl/es" : function [src gr] : glyph-proc
|
||||||
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-LongJut + 0.5 * Stroke)
|
||||||
|
include : difference
|
||||||
|
VBar.m Middle (-LongJut + 0.5 * Stroke) (Stroke + O) [AdviceStroke 3.5]
|
||||||
|
OShapeOutline.NoOvershoot XH 0 SB RightSB Stroke SmallArchDepthA SmallArchDepthB
|
||||||
|
|
||||||
|
derive-multi-part-glyphs 'cyrl/the.BSH' null { 'cyrl/es' 'invCommaBelow' } : lambda [srcs gr] : glyph-proc
|
||||||
|
local { base mark } srcs
|
||||||
|
include : refer-glyph mark
|
||||||
|
include : Translate Width AccentClearance
|
||||||
|
include [refer-glyph base] AS_BASE ALSO_METRICS
|
||||||
|
include : ExtendBelowBaseAnchors (-AccentHeight)
|
||||||
|
|
||||||
|
derive-composites 'cyrl/the.CHU' null 'cyrl/es' 'cedillaExtShapeBelowOArc'
|
||||||
|
|
||||||
create-glyph 'mathbb/C' 0x2102 : glyph-proc
|
create-glyph 'mathbb/C' 0x2102 : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
|
|
|
@ -96,6 +96,9 @@ glyph-block Letter-Latin-Upper-F : begin
|
||||||
select-variant 'FBar' 0xA798 (follow -- 'F')
|
select-variant 'FBar' 0xA798 (follow -- 'F')
|
||||||
select-variant 'currency/frenchFrancSign' 0x20A3
|
select-variant 'currency/frenchFrancSign' 0x20A3
|
||||||
|
|
||||||
|
alias 'cyrl/Ghayn.BSH' null 'F'
|
||||||
|
alias 'cyrl/ghayn.BSH' null 'smcpF'
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD
|
glyph-block-import Letter-Blackboard : BBS BBD
|
||||||
create-glyph 'mathbb/F' 0x1D53D : glyph-proc
|
create-glyph 'mathbb/F' 0x1D53D : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
|
|
|
@ -211,6 +211,7 @@ glyph-block Mark-Below : begin
|
||||||
TurnAboveMarkToBelow 'elipsisBelow' 0x20E8 'elipsisAbove'
|
TurnAboveMarkToBelow 'elipsisBelow' 0x20E8 'elipsisAbove'
|
||||||
TurnAboveMarkToBelow 'leftArrowBelow' 0x20EE 'rightArrowAbove'
|
TurnAboveMarkToBelow 'leftArrowBelow' 0x20EE 'rightArrowAbove'
|
||||||
TurnAboveMarkToBelow 'rightArrowBelow' 0x20EF 'leftArrowAbove'
|
TurnAboveMarkToBelow 'rightArrowBelow' 0x20EF 'leftArrowAbove'
|
||||||
|
TurnAboveMarkToBelow 'invCommaBelow' null 'revCommaAbove'
|
||||||
TurnAboveMarkToBelow 'upArrowHeadBelow' null 'downArrowHeadAbove'
|
TurnAboveMarkToBelow 'upArrowHeadBelow' null 'downArrowHeadAbove'
|
||||||
TurnAboveMarkToBelow 'downArrowHeadBelow' null 'upArrowHeadAbove'
|
TurnAboveMarkToBelow 'downArrowHeadBelow' null 'upArrowHeadAbove'
|
||||||
TurnAboveMarkToBelow 'descenderBarBelow' null 'ascenderBarAbove'
|
TurnAboveMarkToBelow 'descenderBarBelow' null 'ascenderBarAbove'
|
||||||
|
|
|
@ -14,6 +14,8 @@ export : define [buildLOCL gsub para glyphStore] : begin
|
||||||
define cyrlMKD : gsub.copyLanguage 'cyrl_MKD ' 'cyrl_DFLT'
|
define cyrlMKD : gsub.copyLanguage 'cyrl_MKD ' 'cyrl_DFLT'
|
||||||
define cyrlBOS : gsub.copyLanguage 'cyrl_BOS ' 'cyrl_DFLT'
|
define cyrlBOS : gsub.copyLanguage 'cyrl_BOS ' 'cyrl_DFLT'
|
||||||
define cyrlBGR : gsub.copyLanguage 'cyrl_BGR ' 'cyrl_DFLT'
|
define cyrlBGR : gsub.copyLanguage 'cyrl_BGR ' 'cyrl_DFLT'
|
||||||
|
define cyrlBSH : gsub.copyLanguage 'cyrl_BSH ' 'cyrl_DFLT'
|
||||||
|
define cyrlCHU : gsub.copyLanguage 'cyrl_CHU ' 'cyrl_DFLT'
|
||||||
define latnTRK : gsub.copyLanguage 'latn_TRK ' 'latn_DFLT'
|
define latnTRK : gsub.copyLanguage 'latn_TRK ' 'latn_DFLT'
|
||||||
define latnAZE : gsub.copyLanguage 'latn_AZE ' 'latn_DFLT'
|
define latnAZE : gsub.copyLanguage 'latn_AZE ' 'latn_DFLT'
|
||||||
define latnGAG : gsub.copyLanguage 'latn_GAG ' 'latn_DFLT'
|
define latnGAG : gsub.copyLanguage 'latn_GAG ' 'latn_DFLT'
|
||||||
|
@ -36,6 +38,15 @@ export : define [buildLOCL gsub para glyphStore] : begin
|
||||||
define loclBGR : cyrlBGR.addFeature : gsub.createFeature 'locl'
|
define loclBGR : cyrlBGR.addFeature : gsub.createFeature 'locl'
|
||||||
loclBGR.addLookup : createGsubLookupFromGr gsub glyphStore LocalizedForm.BGR
|
loclBGR.addLookup : createGsubLookupFromGr gsub glyphStore LocalizedForm.BGR
|
||||||
|
|
||||||
|
# BSH
|
||||||
|
define loclBSH : cyrlBSH.addFeature : gsub.createFeature 'locl'
|
||||||
|
loclBSH.addLookup : createGsubLookupFromGr gsub glyphStore
|
||||||
|
if [not para.isItalic] LocalizedForm.BSH.Upright LocalizedForm.BSH.Italic
|
||||||
|
|
||||||
|
# CHU
|
||||||
|
define loclCHU : cyrlCHU.addFeature : gsub.createFeature 'locl'
|
||||||
|
loclCHU.addLookup : createGsubLookupFromGr gsub glyphStore LocalizedForm.CHU
|
||||||
|
|
||||||
# TRK
|
# TRK
|
||||||
define loclTRK : gsub.createFeature 'locl'
|
define loclTRK : gsub.createFeature 'locl'
|
||||||
latnTRK.addFeature loclTRK
|
latnTRK.addFeature loclTRK
|
||||||
|
|
|
@ -30,6 +30,11 @@ export const LocalizedForm = {
|
||||||
Italic: LinkedGlyphProp("SerbianLocItalic"),
|
Italic: LinkedGlyphProp("SerbianLocItalic"),
|
||||||
},
|
},
|
||||||
BGR: LinkedGlyphProp("BulgarianLoc"),
|
BGR: LinkedGlyphProp("BulgarianLoc"),
|
||||||
|
BSH: {
|
||||||
|
Upright: LinkedGlyphProp("BashkirLocUpright"),
|
||||||
|
Italic: LinkedGlyphProp("BashkirLocItalic"),
|
||||||
|
},
|
||||||
|
CHU: LinkedGlyphProp("ChuvashLoc"),
|
||||||
IPPH: LinkedGlyphProp("IPALoc"),
|
IPPH: LinkedGlyphProp("IPALoc"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -184,6 +189,9 @@ export const AnyLocalizedForm = {
|
||||||
if (LocalizedForm.SRB.Upright.get(glyph)) grs.push(LocalizedForm.SRB.Upright);
|
if (LocalizedForm.SRB.Upright.get(glyph)) grs.push(LocalizedForm.SRB.Upright);
|
||||||
if (LocalizedForm.SRB.Italic.get(glyph)) grs.push(LocalizedForm.SRB.Italic);
|
if (LocalizedForm.SRB.Italic.get(glyph)) grs.push(LocalizedForm.SRB.Italic);
|
||||||
if (LocalizedForm.BGR.get(glyph)) grs.push(LocalizedForm.BGR);
|
if (LocalizedForm.BGR.get(glyph)) grs.push(LocalizedForm.BGR);
|
||||||
|
if (LocalizedForm.BSH.Upright.get(glyph)) grs.push(LocalizedForm.BSH.Upright);
|
||||||
|
if (LocalizedForm.BSH.Italic.get(glyph)) grs.push(LocalizedForm.BSH.Italic);
|
||||||
|
if (LocalizedForm.CHU.get(glyph)) grs.push(LocalizedForm.CHU);
|
||||||
if (LocalizedForm.IPPH.get(glyph)) grs.push(LocalizedForm.IPPH);
|
if (LocalizedForm.IPPH.get(glyph)) grs.push(LocalizedForm.IPPH);
|
||||||
if (grs.length) return grs;
|
if (grs.length) return grs;
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue