Add box drawing glyphs and programming ligatures

This commit is contained in:
Fred Shallcrass 2024-07-26 10:27:17 -04:00
parent 08d42d257a
commit c10dc0e4c5
17082 changed files with 261806 additions and 124757 deletions

View File

@ -1,8 +1,8 @@
Copyright 2023 Intel Corp. with Reserved Font Name 'Intel One Mono'
Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono), with Reserved Font Name 'Intel'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------

View File

@ -15,9 +15,9 @@ Intel One Mono also covers a wide range of over 200 languages using the Latin sc
To install the fonts, please use the provided builds under [Releases](https://github.com/intel/intel-one-mono/releases). Please refer to your softwares documentation for how to activate and use these fonts.
### Activating the Fonts in Code Editors
- VSCode - In Settings, search Font Family, then specify `IntelOne Mono`
- Sublime Text - Go to Sublime Text -> Preferences -> Settings and set `font_face` to `IntelOne Mono`
- IntelliJ Platform - Go to File -> Settings -> Editor -> Font and set Font to `IntelOne Mono`
- VSCode - In Settings, search Font Family, then specify `Intel One Mono`
- Sublime Text - Go to Sublime Text -> Preferences -> Settings and set `font_face` to `Intel One Mono`
- IntelliJ Platform - Go to File -> Settings -> Editor -> Font and set Font to `Intel One Mono`
### Font Formats
- We recommend the .otf or .ttf format for desktop use.
@ -29,43 +29,49 @@ We recommend using these fonts at 7 points and larger in print, 9 pixels and lar
### Available OpenType Features
Outside of the default characters, there are a few extra features that are accessible in some applications, as well as via CSS:
- **Raised Colon:** there is an option for a raised colon, either applied contextually between numbers or activated generally. The contextual option is available via ss11 (Stylistic Set #11), or use ss12 (Stylistic Set #12) or salt (Stylistic Alternates) for the global switch. Also, the colon will automatically be raised in operators, to align with math symbols.
- **Language Support:** ccmp and locl features ensure correct display across a wide range of languages. These are usually activated by default. We recommend setting the language tag/setting in your software to the desired language for best results.
- **Superior/superscript and inferior/subscript figures** are included via their Unicode codepoints, or you can produce them from the default figures via the sups (Superscript), subs (Subscript), and si (Scientific Inferior) features.
- **Fraction numerals** are similarly available via the numr (Numerator) and dnom (Denominator) features. A set of premade fractions is also available in the fonts.
- **Programming Ligatures:** New in release 1.4, by popular demand. To use programming ligatures, activate the `ss01` feature (Stylistic Set #1). Additional refinements are available via `ss02` and `ss03`: Stylistic Set #2 switches the <= and >= combinations to arrow forms (math contractions being the default otherwise), and Stylistic Set #3 additionally activates a “www” ligature.
- **Raised Colon:** The colon is automatically raised in operators, to align with math symbols. For non-programming contexts, the raised colon can be applied contextually between numbers or activated generally. The contextual option is available via `ss11` (Stylistic Set #11); for the global switch use `ss12` (Stylistic Set #12) or `salt` (Stylistic Alternates).
- **Language Support:** `ccmp` and `locl` features ensure correct display across a wide range of languages. These are usually active by default. We recommend setting the language tag/setting in your software to the desired language for best results.
- **Superior/superscript and inferior/subscript figures** are included via their Unicode codepoints, or you can produce them from the default figures via the `sups` (Superscript) and `subs`/`sinf` (Subscript) features.
- **Fraction numerals** are similarly available via the `numr` (Numerator) and `dnom` (Denominator) features. A set of premade fractions is also available in the fonts.
### Activating Programming Ligatures in Code Editors
Programming ligatures are not active by default. To use them, activate the stylistic sets of your preference in your code editor. For example:
- VSCode - In Settings, add `"editor.fontLigatures": "'ss01'"`
- Sublime Text - In Settings, add `"font_options": ["ss01"]`
## Viewing and Editing Sources
### UFO Source Files: Instances
You will find editable sources in the sources directory. The instances subfolder contains separate source files for each style of the typeface. Sources are provided in .ufo files, which contain complete artwork, OpenType features, as well as meta information like naming and vertical alignments for each style of the typeface.
You will find editable sources in the `sources` directory. The `instances` subfolder contains separate source files for each style of the typeface. Sources are provided in .ufo files, which contain complete artwork, links to OpenType features provided in separate .fea files, as well as meta information like naming and vertical alignments for each style of the typeface.
These are not installable fonts, but rather the source files that produce them: UFO (Unified Font Object) is an open, human-readable font source file format; you can find the [file spec here](https://github.com/unified-font-object/ufo-spec).
These sources were created using [RoboFont](https://robofont.com/). Many other font editors will also be able to open .ufo files; we recommend using RoboFont version 3.4 or up for the closest approximation of the original design and development environment.
These sources were created using [RoboFont](https://robofont.com/). Many other font editors will also be able to open .ufo files; we recommend using RoboFont version 4.4.
### Outline Formats
For instances, you will find postscript and truetype subfolders; these contain separate source files for the .otf format and the .ttf/.woff/.woff2 files respectively. Since the format for the outline drawings differs between these sets of formats, for best results we recommend using the postscript sources to create .otf fonts, and the TrueType sources to create .ttf, .woff, or .woff2 fonts.
For instances, you will find `postscript` and `truetype` subfolders; these contain separate source files for the .otf format and the .ttf/.woff/.woff2 files respectively. Since the format for the outline drawings differs between these sets of formats, for best results we recommend using the postscript sources to create .otf fonts, and the TrueType sources to create .ttf, .woff, or .woff2 fonts.
### Generating Fonts
After making your desired edits, you can generate installable fonts directly from the font editor using its “Generate Font” functionality. If you use RoboFont, any install options should default to the ideal settings, but here they are for reference:
- For .otf builds, we recommend activating “Decompose” as well as “Autohint” options.
- For .ttf, .woff and .woff2 builds, we recommend activating the “Autohint” option only for more compact files (see note on hinting below).
- For .ttf, .woff and .woff2 builds, we recommend activating the “Autohint” option only (see note on hinting below).
- In any case, we recommend using the “Release Mode” setting for best results.
### UFO Source Files: Masters
If you would like to apply edits across multiple weights, a more advanced yet potentially efficient way is to edit the masters. These are special sources that describe the extreme points in the design space — the lightest and heaviest weights for both roman and italic designs.
After editing masters, you will need to rerun interpolation to generate individual weights and styles within that design space. This requires the .designspace files enclosed with the masters; the designspace format is an open, XML-based format that describes interpolation spaces ([format specification](https://github.com/fonttools/fonttools/tree/main/Doc/source/designspaceLib) for reference). For a RoboFont-based workflow we recommend [Skateboard](https://extensionstore.robofont.com/extensions/skateboard/) for interpolation; you can also use the free [DesignSpaceEditor](https://github.com/LettError/designSpaceRoboFontExtension) extension to view and edit these files.
After editing masters, you will need to rerun interpolation to generate individual weights and styles within that design space. This requires the .designspace files enclosed with the masters. The designspace format is an open, XML-based format that describes interpolation spaces ([format specification](https://github.com/fonttools/fonttools/tree/main/Doc/source/designspaceLib) for reference). For a RoboFont-based workflow we recommend [Skateboard](https://extensionstore.robofont.com/extensions/skateboard/) for interpolation; you can also use the free [DesignSpaceEditor](https://github.com/LettError/designSpaceRoboFontExtension) extension to view and edit these files.
Note that masters are only available in postscript format, so they will be best for creating .otf fonts. If you need to make TrueType based builds from the masters, we recommend [QuadraticConverter](https://github.com/BlackFoundry/QuadraticConverter) for best quality conversion of the curves before generating .ttf, .woff, or .woff2 files; mind that the results will not match the provided instances precisely.
NB: The prepared instances contain some additional data that cannot be stored in the masters and maintained through interpolation. For best results, compare new interpolations to the existing instance sources and update them accordingly, specifically the information accessible through the Font Info panels.
NB: The prepared instances contain some additional data that cannot be maintained through interpolation. For best results, compare new interpolations to the existing instance sources and update them accordingly, specifically the information accessible through the Font Info panels.
### Other Files: Hinting Source
### Hinting Source
For TrueType-based formats (.ttf, .woff, .woff2 files), the official releases are manually optimized for screen rendering. These “hinting” sources are stored separately from the .ufo files, which do not contain any TrueType hinting information. When rebuilding TrueType-based formats, we recommend using the “autohint” option to achieve reasonable, though not identical screen rendering.
If you would like to access and edit manual hinting instructions, you will find these in the separate set of source files under other files/truetype hinting source. These special TTF files will be viewable and editable using [Microsoft VTT](https://learn.microsoft.com/en-us/typography/tools/vtt/).
If you would like to access and edit manual hinting instructions, you will find these in the separate set of source files under `hinting/truetype hinting source`. These special TTF files will be viewable and editable using [Microsoft VTT](https://learn.microsoft.com/en-us/typography/tools/vtt/).
## Suggesting Edits

View File

@ -1,24 +1,21 @@
Release Notes / Intel One Mono
2023-08-18
2024-07-26
Family name
Font family
Intel One Mono
Version number
1.3 Updated font naming (“Intel One Mono”) - will require relinking
Improved linking of Regular and Bold weights
Improved alignment between hyphen, colon, and operators
Updated art for backtick/grave
Edited mark/ccmp features for language support
Edits to meta info and licensing text
Version
1.4 Added optional programming ligatures
Added box-drawing glyphs
Small bugfixes and improvements
Supported scripts
Latin (full glyph complement supporting over 200 languages)
Number of glyphs
684
1043
Weights/Styles
Light
@ -34,7 +31,7 @@ Usage
Text
Use at 7 pt and up in print, 9 px and up on screen.
File formats
Font file formats
OTF (Desktop)
TTF (Desktop/App)
WOFF (Web)
@ -48,14 +45,18 @@ Embedding settings
No embedding restrictions
Available OpenType features
ss11 Raised Colon (Figures Only)
ss12 Raised Colon (Global)
salt Stylistic Alternates
ss01 Programming ligatures
ss02 Arrow forms for less/equal and greater/equal combinations
ss03 www ligature
ss11 Raised colon (contextual with figures)
ss12 Raised colon (global)
salt Raised colon (global)
locl Localizations
ccmp Glyph Composition/Decomposition Rules
ccmp Glyph composition/decomposition rules
mark Mark Attachment
numr Numerator
dnom Denominator
sups Superscript
subs Subscript
sinf Scientific Inferior
sinf Scientific inferior
aalt Access all alternates

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
Copyright 2023 Intel Corp. with Reserved Font Name 'Intel One Mono'
Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono), with Reserved Font Name 'Intel'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
Copyright 2023 Intel Corp. with Reserved Font Name 'Intel One Mono'
Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono), with Reserved Font Name 'Intel'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
Copyright 2023 Intel Corp. with Reserved Font Name 'Intel One Mono'
Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono), with Reserved Font Name 'Intel'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
Copyright 2023 Intel Corp. with Reserved Font Name 'Intel One Mono'
Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono), with Reserved Font Name 'Intel'
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------

17
sources/.ninja_log Normal file
View File

@ -0,0 +1,17 @@
# ninja log v5
0 1181 1721251731258217000 instance_ttf/IntelOneMono-Bold.ufo 9e8cd7ed2bbce774
2 1205 1721251731271727000 instance_ttf/IntelOneMono-Medium.ufo 112f20cbd87fb985
2 1211 1721251731273130000 instance_ttf/IntelOneMono-Light.ufo 65fe9d19d10fa728
1 1213 1721251731277536000 instance_ttf/IntelOneMono-BoldItalic.ufo 4af4d6bc7eeff546
3 1218 1721251731280863000 instance_ttf/IntelOneMono-MediumItalic.ufo e6255691778d2b62
1 1219 1721251731279373000 instance_ttf/IntelOneMono-Italic.ufo 8967b3b5dc4626ea
2 1220 1721251731281653000 instance_ttf/IntelOneMono-LightItalic.ufo f2a921845deb1807
3 1223 1721251731284453000 instance_ttf/IntelOneMono-Regular.ufo 8771f5d34efcfc1b
2 1126 1721254468483781000 instance_ttf/IntelOneMono-Medium.ufo 112f20cbd87fb985
2 1135 1721254468490023000 instance_ttf/IntelOneMono-Light.ufo 65fe9d19d10fa728
1 1138 1721254468487726000 instance_ttf/IntelOneMono-Bold.ufo 9e8cd7ed2bbce774
2 1141 1721254468491629000 instance_ttf/IntelOneMono-Italic.ufo 8967b3b5dc4626ea
1 1142 1721254468496825000 instance_ttf/IntelOneMono-BoldItalic.ufo 4af4d6bc7eeff546
2 1145 1721254468492784000 instance_ttf/IntelOneMono-MediumItalic.ufo e6255691778d2b62
3 1145 1721254468494845000 instance_ttf/IntelOneMono-Regular.ufo 8771f5d34efcfc1b
2 1146 1721254468496425000 instance_ttf/IntelOneMono-LightItalic.ufo f2a921845deb1807

60
sources/features/aalt.fea Normal file
View File

@ -0,0 +1,60 @@
# --------------
# All Alternates
# --------------
feature aalt {
sub germandbls from [germandbls uni1E9E];
sub uni1E9E from [uni1E9E germandbls];
sub colon from [colon colon.fig];
sub colon.fig from [colon.fig colon];
sub eight from [eight eight.den eight.sup eight.num eight.inf];
sub eight.inf from [eight.inf eight eight.den eight.sup eight.num];
sub eight.num from [eight.num eight.inf eight eight.den eight.sup];
sub eight.sup from [eight.sup eight.num eight.inf eight eight.den];
sub eight.den from [eight.den eight.sup eight.num eight.inf eight];
sub five from [five five.inf five.num five.den five.sup];
sub five.sup from [five.sup five five.inf five.num five.den];
sub five.den from [five.den five.sup five five.inf five.num];
sub five.num from [five.num five.den five.sup five five.inf];
sub five.inf from [five.inf five.num five.den five.sup five];
sub four from [four four.sup four.num four.den four.inf];
sub four.inf from [four.inf four four.sup four.num four.den];
sub four.den from [four.den four.inf four four.sup four.num];
sub four.num from [four.num four.den four.inf four four.sup];
sub four.sup from [four.sup four.num four.den four.inf four];
sub nine from [nine nine.den nine.inf nine.num nine.sup];
sub nine.sup from [nine.sup nine nine.den nine.inf nine.num];
sub nine.num from [nine.num nine.sup nine nine.den nine.inf];
sub nine.inf from [nine.inf nine.num nine.sup nine nine.den];
sub nine.den from [nine.den nine.inf nine.num nine.sup nine];
sub one from [one one.den one.num one.inf one.sup];
sub one.sup from [one.sup one one.den one.num one.inf];
sub one.inf from [one.inf one.sup one one.den one.num];
sub one.num from [one.num one.inf one.sup one one.den];
sub one.den from [one.den one.num one.inf one.sup one];
sub seven from [seven seven.inf seven.num seven.sup seven.den];
sub seven.den from [seven.den seven seven.inf seven.num seven.sup];
sub seven.sup from [seven.sup seven.den seven seven.inf seven.num];
sub seven.num from [seven.num seven.sup seven.den seven seven.inf];
sub seven.inf from [seven.inf seven.num seven.sup seven.den seven];
sub six from [six six.num six.sup six.den six.inf];
sub six.inf from [six.inf six six.num six.sup six.den];
sub six.den from [six.den six.inf six six.num six.sup];
sub six.sup from [six.sup six.den six.inf six six.num];
sub six.num from [six.num six.sup six.den six.inf six];
sub three from [three three.inf three.den three.num three.sup];
sub three.sup from [three.sup three three.inf three.den three.num];
sub three.num from [three.num three.sup three three.inf three.den];
sub three.den from [three.den three.num three.sup three three.inf];
sub three.inf from [three.inf three.den three.num three.sup three];
sub two from [two two.inf two.sup two.num two.den];
sub two.den from [two.den two two.inf two.sup two.num];
sub two.num from [two.num two.den two two.inf two.sup];
sub two.sup from [two.sup two.num two.den two two.inf];
sub two.inf from [two.inf two.sup two.num two.den two];
sub zero from [zero zero.sup zero.num zero.den zero.inf];
sub zero.inf from [zero.inf zero zero.sup zero.num zero.den];
sub zero.den from [zero.den zero.inf zero zero.sup zero.num];
sub zero.num from [zero.num zero.den zero.inf zero zero.sup];
sub zero.sup from [zero.sup zero.num zero.den zero.inf zero];
} aalt;

View File

@ -0,0 +1,96 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:49 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 0 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 0 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor 0 -35> @mark_below;
markClass [cedillacmb] <anchor 0 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor 0 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 296 507> mark @mark_aboveLC;
pos base [c] <anchor 313 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 321 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 400 502> mark @mark_aboveLC;
pos base [e] <anchor 319 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 319 507> mark @mark_aboveLC;
pos base [g] <anchor 314 507> mark @mark_aboveLC;
pos base [m] <anchor 307 502> mark @mark_aboveLC;
pos base [n] <anchor 309 502> mark @mark_aboveLC;
pos base [o] <anchor 308 507> mark @mark_aboveLC;
pos base [p] <anchor 319 502> mark @mark_aboveLC;
pos base [s] <anchor 312 507> mark @mark_aboveLC;
pos base [u] <anchor 319 502> mark @mark_aboveLC;
pos base [z] <anchor 299 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 298 691> mark @mark_aboveUC;
pos base [C] <anchor 364 696> mark @mark_aboveUC;
pos base [E] <anchor 314 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 314 691> mark @mark_aboveUC;
pos base [G] <anchor 331 691> mark @mark_aboveUC;
pos base [I] <anchor 307 691> mark @mark_aboveUC;
pos base [J] <anchor 470 691> mark @mark_aboveUC;
pos base [M] <anchor 312 691> mark @mark_aboveUC;
pos base [N] <anchor 311 691> mark @mark_aboveUC;
pos base [O] <anchor 309 696> mark @mark_aboveUC;
pos base [P] <anchor 323 691> mark @mark_aboveUC;
pos base [S] <anchor 321 696> mark @mark_aboveUC;
pos base [U] <anchor 307 691> mark @mark_aboveUC;
pos base [Z] <anchor 317 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 354 -40> mark @mark_below;
pos base [Dcroat] <anchor 303 -35> mark @mark_below;
pos base [E] <anchor 314 -35> mark @mark_below;
pos base [H] <anchor 307 -35> mark @mark_below;
pos base [I] <anchor 307 -35> mark @mark_below;
pos base [O] <anchor 310 -40> mark @mark_below;
pos base [S] <anchor 294 -40> mark @mark_below;
pos base [U] <anchor 307 -40> mark @mark_below;
pos base [X] <anchor 308 -35> mark @mark_below;
pos base [Z] <anchor 317 -35> mark @mark_below;
pos base [c] <anchor 310 -35> mark @mark_below;
pos base [dcroat] <anchor 331 -30> mark @mark_below;
pos base [dotlessi] <anchor 322 -35> mark @mark_below;
pos base [e] <anchor 319 -40> mark @mark_below;
pos base [h] <anchor 318 -35> mark @mark_below;
pos base [o] <anchor 307 -40> mark @mark_below;
pos base [s] <anchor 301 -40> mark @mark_below;
pos base [u] <anchor 317 -35> mark @mark_below;
pos base [x] <anchor 305 -35> mark @mark_below;
pos base [z] <anchor 299 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 317 -10> mark @mark_belowcedilla;
pos base [z] <anchor 299 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 487 -10> mark @mark_belowogonek;
pos base [E] <anchor 467 -10> mark @mark_belowogonek;
pos base [I] <anchor 307 -10> mark @mark_belowogonek;
pos base [O] <anchor 320 -15> mark @mark_belowogonek;
pos base [U] <anchor 310 -15> mark @mark_belowogonek;
pos base [a] <anchor 462 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 322 -9> mark @mark_belowogonek;
pos base [e] <anchor 410 -10> mark @mark_belowogonek;
pos base [o] <anchor 312 -15> mark @mark_belowogonek;
pos base [u] <anchor 472 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:46 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 76 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 130 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor -78 -35> @mark_below;
markClass [cedillacmb] <anchor -71 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor -71 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 372 507> mark @mark_aboveLC;
pos base [c] <anchor 389 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 388 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 476 502> mark @mark_aboveLC;
pos base [e] <anchor 395 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 395 507> mark @mark_aboveLC;
pos base [g] <anchor 400 507> mark @mark_aboveLC;
pos base [m] <anchor 382 502> mark @mark_aboveLC;
pos base [n] <anchor 384 502> mark @mark_aboveLC;
pos base [o] <anchor 370 507> mark @mark_aboveLC;
pos base [p] <anchor 394 502> mark @mark_aboveLC;
pos base [s] <anchor 388 507> mark @mark_aboveLC;
pos base [u] <anchor 386 502> mark @mark_aboveLC;
pos base [z] <anchor 364 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 427 691> mark @mark_aboveUC;
pos base [C] <anchor 472 696> mark @mark_aboveUC;
pos base [E] <anchor 443 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 443 691> mark @mark_aboveUC;
pos base [G] <anchor 460 691> mark @mark_aboveUC;
pos base [I] <anchor 437 691> mark @mark_aboveUC;
pos base [J] <anchor 599 691> mark @mark_aboveUC;
pos base [M] <anchor 436 691> mark @mark_aboveUC;
pos base [N] <anchor 440 691> mark @mark_aboveUC;
pos base [O] <anchor 440 696> mark @mark_aboveUC;
pos base [P] <anchor 452 691> mark @mark_aboveUC;
pos base [S] <anchor 452 696> mark @mark_aboveUC;
pos base [U] <anchor 436 691> mark @mark_aboveUC;
pos base [Z] <anchor 422 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 275 -40> mark @mark_below;
pos base [Dcroat] <anchor 303 -35> mark @mark_below;
pos base [E] <anchor 246 -35> mark @mark_below;
pos base [H] <anchor 229 -35> mark @mark_below;
pos base [I] <anchor 228 -35> mark @mark_below;
pos base [O] <anchor 243 -40> mark @mark_below;
pos base [S] <anchor 271 -40> mark @mark_below;
pos base [U] <anchor 228 -40> mark @mark_below;
pos base [X] <anchor 230 -35> mark @mark_below;
pos base [Z] <anchor 239 -35> mark @mark_below;
pos base [c] <anchor 232 -35> mark @mark_below;
pos base [dcroat] <anchor 254 -30> mark @mark_below;
pos base [dotlessi] <anchor 235 -35> mark @mark_below;
pos base [e] <anchor 240 -40> mark @mark_below;
pos base [h] <anchor 240 -35> mark @mark_below;
pos base [o] <anchor 242 -40> mark @mark_below;
pos base [s] <anchor 222 -40> mark @mark_below;
pos base [u] <anchor 239 -35> mark @mark_below;
pos base [x] <anchor 227 -35> mark @mark_below;
pos base [z] <anchor 237 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 246 -10> mark @mark_belowcedilla;
pos base [z] <anchor 244 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 443 -10> mark @mark_belowogonek;
pos base [E] <anchor 396 -10> mark @mark_belowogonek;
pos base [I] <anchor 235 -10> mark @mark_belowogonek;
pos base [O] <anchor 248 -15> mark @mark_belowogonek;
pos base [U] <anchor 238 -15> mark @mark_belowogonek;
pos base [a] <anchor 391 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 242 -9> mark @mark_belowogonek;
pos base [e] <anchor 339 -10> mark @mark_belowogonek;
pos base [o] <anchor 245 -15> mark @mark_belowogonek;
pos base [u] <anchor 401 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,96 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:51 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 77 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 132 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor -77 -35> @mark_below;
markClass [cedillacmb] <anchor -70 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor -70 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 375 507> mark @mark_aboveLC;
pos base [c] <anchor 403 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 393 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 455 502> mark @mark_aboveLC;
pos base [e] <anchor 396 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 396 507> mark @mark_aboveLC;
pos base [g] <anchor 389 504> mark @mark_aboveLC;
pos base [m] <anchor 385 502> mark @mark_aboveLC;
pos base [n] <anchor 383 502> mark @mark_aboveLC;
pos base [o] <anchor 374 507> mark @mark_aboveLC;
pos base [p] <anchor 402 502> mark @mark_aboveLC;
pos base [s] <anchor 399 507> mark @mark_aboveLC;
pos base [u] <anchor 385 502> mark @mark_aboveLC;
pos base [z] <anchor 380 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 425 691> mark @mark_aboveUC;
pos base [C] <anchor 465 693> mark @mark_aboveUC;
pos base [E] <anchor 460 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 460 691> mark @mark_aboveUC;
pos base [G] <anchor 477 694> mark @mark_aboveUC;
pos base [I] <anchor 438 691> mark @mark_aboveUC;
pos base [J] <anchor 602 691> mark @mark_aboveUC;
pos base [M] <anchor 434 691> mark @mark_aboveUC;
pos base [N] <anchor 443 691> mark @mark_aboveUC;
pos base [O] <anchor 430 696> mark @mark_aboveUC;
pos base [P] <anchor 455 691> mark @mark_aboveUC;
pos base [S] <anchor 448 696> mark @mark_aboveUC;
pos base [U] <anchor 438 691> mark @mark_aboveUC;
pos base [Z] <anchor 433 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 261 -40> mark @mark_below;
pos base [Dcroat] <anchor 300 -32> mark @mark_below;
pos base [E] <anchor 256 -35> mark @mark_below;
pos base [H] <anchor 231 -35> mark @mark_below;
pos base [I] <anchor 231 -35> mark @mark_below;
pos base [O] <anchor 246 -40> mark @mark_below;
pos base [S] <anchor 245 -37> mark @mark_below;
pos base [U] <anchor 229 -40> mark @mark_below;
pos base [X] <anchor 231 -35> mark @mark_below;
pos base [Z] <anchor 233 -35> mark @mark_below;
pos base [c] <anchor 242 -38> mark @mark_below;
pos base [dcroat] <anchor 248 -33> mark @mark_below;
pos base [dotlessi] <anchor 235 -35> mark @mark_below;
pos base [e] <anchor 243 -37> mark @mark_below;
pos base [h] <anchor 237 -35> mark @mark_below;
pos base [o] <anchor 243 -40> mark @mark_below;
pos base [s] <anchor 221 -40> mark @mark_below;
pos base [u] <anchor 227 -35> mark @mark_below;
pos base [x] <anchor 230 -35> mark @mark_below;
pos base [z] <anchor 245 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 240 -10> mark @mark_belowcedilla;
pos base [z] <anchor 252 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 459 -10> mark @mark_belowogonek;
pos base [E] <anchor 391 -10> mark @mark_belowogonek;
pos base [I] <anchor 238 -9> mark @mark_belowogonek;
pos base [O] <anchor 246 -15> mark @mark_belowogonek;
pos base [U] <anchor 250 -15> mark @mark_belowogonek;
pos base [a] <anchor 400 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 242 -10> mark @mark_belowogonek;
pos base [e] <anchor 322 -10> mark @mark_belowogonek;
pos base [o] <anchor 245 -15> mark @mark_belowogonek;
pos base [u] <anchor 411 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:56 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 0 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 0 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor 0 -35> @mark_below;
markClass [cedillacmb] <anchor 0 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor 0 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 310 507> mark @mark_aboveLC;
pos base [c] <anchor 330 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 317 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 366 502> mark @mark_aboveLC;
pos base [e] <anchor 318 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 318 507> mark @mark_aboveLC;
pos base [g] <anchor 302 502> mark @mark_aboveLC;
pos base [m] <anchor 310 502> mark @mark_aboveLC;
pos base [n] <anchor 306 502> mark @mark_aboveLC;
pos base [o] <anchor 307 507> mark @mark_aboveLC;
pos base [p] <anchor 329 502> mark @mark_aboveLC;
pos base [s] <anchor 325 507> mark @mark_aboveLC;
pos base [u] <anchor 307 502> mark @mark_aboveLC;
pos base [z] <anchor 324 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 307 691> mark @mark_aboveUC;
pos base [C] <anchor 330 691> mark @mark_aboveUC;
pos base [E] <anchor 335 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 335 691> mark @mark_aboveUC;
pos base [G] <anchor 352 696> mark @mark_aboveUC;
pos base [I] <anchor 307 691> mark @mark_aboveUC;
pos base [J] <anchor 472 691> mark @mark_aboveUC;
pos base [M] <anchor 307 691> mark @mark_aboveUC;
pos base [N] <anchor 313 691> mark @mark_aboveUC;
pos base [O] <anchor 307 696> mark @mark_aboveUC;
pos base [P] <anchor 324 691> mark @mark_aboveUC;
pos base [S] <anchor 313 696> mark @mark_aboveUC;
pos base [U] <anchor 307 691> mark @mark_aboveUC;
pos base [Z] <anchor 306 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 331 -40> mark @mark_below;
pos base [Dcroat] <anchor 299 -30> mark @mark_below;
pos base [E] <anchor 335 -35> mark @mark_below;
pos base [H] <anchor 307 -35> mark @mark_below;
pos base [I] <anchor 307 -35> mark @mark_below;
pos base [O] <anchor 308 -40> mark @mark_below;
pos base [S] <anchor 309 -35> mark @mark_below;
pos base [U] <anchor 307 -40> mark @mark_below;
pos base [X] <anchor 307 -35> mark @mark_below;
pos base [Z] <anchor 306 -35> mark @mark_below;
pos base [c] <anchor 323 -40> mark @mark_below;
pos base [dcroat] <anchor 322 -35> mark @mark_below;
pos base [dotlessi] <anchor 324 -35> mark @mark_below;
pos base [e] <anchor 319 -35> mark @mark_below;
pos base [h] <anchor 311 -35> mark @mark_below;
pos base [o] <anchor 307 -40> mark @mark_below;
pos base [s] <anchor 298 -40> mark @mark_below;
pos base [u] <anchor 296 -35> mark @mark_below;
pos base [x] <anchor 306 -35> mark @mark_below;
pos base [z] <anchor 324 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 306 -10> mark @mark_belowcedilla;
pos base [z] <anchor 324 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 534 -10> mark @mark_belowogonek;
pos base [E] <anchor 457 -10> mark @mark_belowogonek;
pos base [I] <anchor 307 -9> mark @mark_belowogonek;
pos base [O] <anchor 315 -15> mark @mark_belowogonek;
pos base [U] <anchor 326 -15> mark @mark_belowogonek;
pos base [a] <anchor 472 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 324 -10> mark @mark_belowogonek;
pos base [e] <anchor 383 -10> mark @mark_belowogonek;
pos base [o] <anchor 315 -15> mark @mark_belowogonek;
pos base [u] <anchor 483 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:54 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 78 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 132 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor -76 -35> @mark_below;
markClass [cedillacmb] <anchor -69 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor -69 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 377 507> mark @mark_aboveLC;
pos base [c] <anchor 409 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 395 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 445 502> mark @mark_aboveLC;
pos base [e] <anchor 397 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 397 507> mark @mark_aboveLC;
pos base [g] <anchor 384 502> mark @mark_aboveLC;
pos base [m] <anchor 387 502> mark @mark_aboveLC;
pos base [n] <anchor 383 502> mark @mark_aboveLC;
pos base [o] <anchor 376 507> mark @mark_aboveLC;
pos base [p] <anchor 406 502> mark @mark_aboveLC;
pos base [s] <anchor 404 507> mark @mark_aboveLC;
pos base [u] <anchor 384 502> mark @mark_aboveLC;
pos base [z] <anchor 387 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 424 691> mark @mark_aboveUC;
pos base [C] <anchor 462 691> mark @mark_aboveUC;
pos base [E] <anchor 467 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 467 691> mark @mark_aboveUC;
pos base [G] <anchor 485 696> mark @mark_aboveUC;
pos base [I] <anchor 439 691> mark @mark_aboveUC;
pos base [J] <anchor 604 691> mark @mark_aboveUC;
pos base [M] <anchor 433 691> mark @mark_aboveUC;
pos base [N] <anchor 445 691> mark @mark_aboveUC;
pos base [O] <anchor 426 696> mark @mark_aboveUC;
pos base [P] <anchor 456 691> mark @mark_aboveUC;
pos base [S] <anchor 446 696> mark @mark_aboveUC;
pos base [U] <anchor 439 691> mark @mark_aboveUC;
pos base [Z] <anchor 438 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 254 -40> mark @mark_below;
pos base [Dcroat] <anchor 299 -30> mark @mark_below;
pos base [E] <anchor 260 -35> mark @mark_below;
pos base [H] <anchor 232 -35> mark @mark_below;
pos base [I] <anchor 232 -35> mark @mark_below;
pos base [O] <anchor 248 -40> mark @mark_below;
pos base [S] <anchor 234 -35> mark @mark_below;
pos base [U] <anchor 230 -40> mark @mark_below;
pos base [X] <anchor 232 -35> mark @mark_below;
pos base [Z] <anchor 231 -35> mark @mark_below;
pos base [c] <anchor 246 -40> mark @mark_below;
pos base [dcroat] <anchor 246 -35> mark @mark_below;
pos base [dotlessi] <anchor 235 -35> mark @mark_below;
pos base [e] <anchor 244 -35> mark @mark_below;
pos base [h] <anchor 236 -35> mark @mark_below;
pos base [o] <anchor 244 -40> mark @mark_below;
pos base [s] <anchor 221 -40> mark @mark_below;
pos base [u] <anchor 221 -35> mark @mark_below;
pos base [x] <anchor 231 -35> mark @mark_below;
pos base [z] <anchor 249 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 238 -10> mark @mark_belowcedilla;
pos base [z] <anchor 256 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 466 -10> mark @mark_belowogonek;
pos base [E] <anchor 389 -10> mark @mark_belowogonek;
pos base [I] <anchor 239 -9> mark @mark_belowogonek;
pos base [O] <anchor 245 -15> mark @mark_belowogonek;
pos base [U] <anchor 256 -15> mark @mark_belowogonek;
pos base [a] <anchor 404 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 242 -10> mark @mark_belowogonek;
pos base [e] <anchor 315 -10> mark @mark_belowogonek;
pos base [o] <anchor 245 -15> mark @mark_belowogonek;
pos base [u] <anchor 415 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:38:01 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 0 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 0 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor 0 -35> @mark_below;
markClass [cedillacmb] <anchor 0 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor 0 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 301 507> mark @mark_aboveLC;
pos base [c] <anchor 319 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 319 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 387 502> mark @mark_aboveLC;
pos base [e] <anchor 319 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 319 507> mark @mark_aboveLC;
pos base [g] <anchor 309 505> mark @mark_aboveLC;
pos base [m] <anchor 308 502> mark @mark_aboveLC;
pos base [n] <anchor 308 502> mark @mark_aboveLC;
pos base [o] <anchor 308 507> mark @mark_aboveLC;
pos base [p] <anchor 323 502> mark @mark_aboveLC;
pos base [s] <anchor 317 507> mark @mark_aboveLC;
pos base [u] <anchor 314 502> mark @mark_aboveLC;
pos base [z] <anchor 309 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 301 691> mark @mark_aboveUC;
pos base [C] <anchor 351 694> mark @mark_aboveUC;
pos base [E] <anchor 322 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 322 691> mark @mark_aboveUC;
pos base [G] <anchor 339 693> mark @mark_aboveUC;
pos base [I] <anchor 307 691> mark @mark_aboveUC;
pos base [J] <anchor 471 691> mark @mark_aboveUC;
pos base [M] <anchor 310 691> mark @mark_aboveUC;
pos base [N] <anchor 312 691> mark @mark_aboveUC;
pos base [O] <anchor 308 696> mark @mark_aboveUC;
pos base [P] <anchor 323 691> mark @mark_aboveUC;
pos base [S] <anchor 318 696> mark @mark_aboveUC;
pos base [U] <anchor 307 691> mark @mark_aboveUC;
pos base [Z] <anchor 313 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 345 -40> mark @mark_below;
pos base [Dcroat] <anchor 301 -33> mark @mark_below;
pos base [E] <anchor 322 -35> mark @mark_below;
pos base [H] <anchor 307 -35> mark @mark_below;
pos base [I] <anchor 307 -35> mark @mark_below;
pos base [O] <anchor 309 -40> mark @mark_below;
pos base [S] <anchor 300 -38> mark @mark_below;
pos base [U] <anchor 307 -40> mark @mark_below;
pos base [X] <anchor 308 -35> mark @mark_below;
pos base [Z] <anchor 313 -35> mark @mark_below;
pos base [c] <anchor 315 -37> mark @mark_below;
pos base [dcroat] <anchor 328 -32> mark @mark_below;
pos base [dotlessi] <anchor 323 -35> mark @mark_below;
pos base [e] <anchor 319 -38> mark @mark_below;
pos base [h] <anchor 315 -35> mark @mark_below;
pos base [o] <anchor 307 -40> mark @mark_below;
pos base [s] <anchor 300 -40> mark @mark_below;
pos base [u] <anchor 309 -35> mark @mark_below;
pos base [x] <anchor 305 -35> mark @mark_below;
pos base [z] <anchor 309 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 313 -10> mark @mark_belowcedilla;
pos base [z] <anchor 309 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 505 -10> mark @mark_belowogonek;
pos base [E] <anchor 463 -10> mark @mark_belowogonek;
pos base [I] <anchor 307 -10> mark @mark_belowogonek;
pos base [O] <anchor 318 -15> mark @mark_belowogonek;
pos base [U] <anchor 316 -15> mark @mark_belowogonek;
pos base [a] <anchor 466 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 323 -9> mark @mark_belowogonek;
pos base [e] <anchor 400 -10> mark @mark_belowogonek;
pos base [o] <anchor 313 -15> mark @mark_belowogonek;
pos base [u] <anchor 476 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:59 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 77 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 131 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor -77 -35> @mark_below;
markClass [cedillacmb] <anchor -70 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor -70 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 374 507> mark @mark_aboveLC;
pos base [c] <anchor 397 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 391 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 464 502> mark @mark_aboveLC;
pos base [e] <anchor 396 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 396 507> mark @mark_aboveLC;
pos base [g] <anchor 394 505> mark @mark_aboveLC;
pos base [m] <anchor 384 502> mark @mark_aboveLC;
pos base [n] <anchor 384 502> mark @mark_aboveLC;
pos base [o] <anchor 372 507> mark @mark_aboveLC;
pos base [p] <anchor 399 502> mark @mark_aboveLC;
pos base [s] <anchor 394 507> mark @mark_aboveLC;
pos base [u] <anchor 385 502> mark @mark_aboveLC;
pos base [z] <anchor 373 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 426 691> mark @mark_aboveUC;
pos base [C] <anchor 468 694> mark @mark_aboveUC;
pos base [E] <anchor 452 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 452 691> mark @mark_aboveUC;
pos base [G] <anchor 470 693> mark @mark_aboveUC;
pos base [I] <anchor 438 691> mark @mark_aboveUC;
pos base [J] <anchor 601 691> mark @mark_aboveUC;
pos base [M] <anchor 435 691> mark @mark_aboveUC;
pos base [N] <anchor 442 691> mark @mark_aboveUC;
pos base [O] <anchor 435 696> mark @mark_aboveUC;
pos base [P] <anchor 454 691> mark @mark_aboveUC;
pos base [S] <anchor 450 696> mark @mark_aboveUC;
pos base [U] <anchor 437 691> mark @mark_aboveUC;
pos base [Z] <anchor 428 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 267 -40> mark @mark_below;
pos base [Dcroat] <anchor 301 -33> mark @mark_below;
pos base [E] <anchor 251 -35> mark @mark_below;
pos base [H] <anchor 230 -35> mark @mark_below;
pos base [I] <anchor 230 -35> mark @mark_below;
pos base [O] <anchor 245 -40> mark @mark_below;
pos base [S] <anchor 257 -38> mark @mark_below;
pos base [U] <anchor 229 -40> mark @mark_below;
pos base [X] <anchor 231 -35> mark @mark_below;
pos base [Z] <anchor 236 -35> mark @mark_below;
pos base [c] <anchor 237 -37> mark @mark_below;
pos base [dcroat] <anchor 251 -32> mark @mark_below;
pos base [dotlessi] <anchor 235 -35> mark @mark_below;
pos base [e] <anchor 242 -38> mark @mark_below;
pos base [h] <anchor 238 -35> mark @mark_below;
pos base [o] <anchor 243 -40> mark @mark_below;
pos base [s] <anchor 222 -40> mark @mark_below;
pos base [u] <anchor 232 -35> mark @mark_below;
pos base [x] <anchor 229 -35> mark @mark_below;
pos base [z] <anchor 242 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 243 -10> mark @mark_belowcedilla;
pos base [z] <anchor 249 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 452 -10> mark @mark_belowogonek;
pos base [E] <anchor 393 -10> mark @mark_belowogonek;
pos base [I] <anchor 237 -10> mark @mark_belowogonek;
pos base [O] <anchor 247 -15> mark @mark_belowogonek;
pos base [U] <anchor 245 -15> mark @mark_belowogonek;
pos base [a] <anchor 396 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 242 -9> mark @mark_belowogonek;
pos base [e] <anchor 330 -10> mark @mark_belowogonek;
pos base [o] <anchor 245 -15> mark @mark_belowogonek;
pos base [u] <anchor 406 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

View File

@ -0,0 +1,95 @@
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:38:03 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 0 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 0 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor 0 -35> @mark_below;
markClass [cedillacmb] <anchor 0 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor 0 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 306 507> mark @mark_aboveLC;
pos base [c] <anchor 325 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 318 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 377 502> mark @mark_aboveLC;
pos base [e] <anchor 318 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 318 507> mark @mark_aboveLC;
pos base [g] <anchor 306 504> mark @mark_aboveLC;
pos base [m] <anchor 309 502> mark @mark_aboveLC;
pos base [n] <anchor 307 502> mark @mark_aboveLC;
pos base [o] <anchor 307 507> mark @mark_aboveLC;
pos base [p] <anchor 326 502> mark @mark_aboveLC;
pos base [s] <anchor 321 507> mark @mark_aboveLC;
pos base [u] <anchor 311 502> mark @mark_aboveLC;
pos base [z] <anchor 316 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 304 691> mark @mark_aboveUC;
pos base [C] <anchor 341 693> mark @mark_aboveUC;
pos base [E] <anchor 329 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 329 691> mark @mark_aboveUC;
pos base [G] <anchor 346 694> mark @mark_aboveUC;
pos base [I] <anchor 307 691> mark @mark_aboveUC;
pos base [J] <anchor 471 691> mark @mark_aboveUC;
pos base [M] <anchor 309 691> mark @mark_aboveUC;
pos base [N] <anchor 312 691> mark @mark_aboveUC;
pos base [O] <anchor 308 696> mark @mark_aboveUC;
pos base [P] <anchor 324 691> mark @mark_aboveUC;
pos base [S] <anchor 315 696> mark @mark_aboveUC;
pos base [U] <anchor 307 691> mark @mark_aboveUC;
pos base [Z] <anchor 309 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 338 -40> mark @mark_below;
pos base [Dcroat] <anchor 300 -32> mark @mark_below;
pos base [E] <anchor 329 -35> mark @mark_below;
pos base [H] <anchor 307 -35> mark @mark_below;
pos base [I] <anchor 307 -35> mark @mark_below;
pos base [O] <anchor 309 -40> mark @mark_below;
pos base [S] <anchor 304 -37> mark @mark_below;
pos base [U] <anchor 307 -40> mark @mark_below;
pos base [X] <anchor 307 -35> mark @mark_below;
pos base [Z] <anchor 309 -35> mark @mark_below;
pos base [c] <anchor 319 -38> mark @mark_below;
pos base [dcroat] <anchor 325 -33> mark @mark_below;
pos base [dotlessi] <anchor 323 -35> mark @mark_below;
pos base [e] <anchor 319 -37> mark @mark_below;
pos base [h] <anchor 313 -35> mark @mark_below;
pos base [o] <anchor 307 -40> mark @mark_below;
pos base [s] <anchor 299 -40> mark @mark_below;
pos base [u] <anchor 303 -35> mark @mark_below;
pos base [x] <anchor 306 -35> mark @mark_below;
pos base [z] <anchor 316 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 309 -10> mark @mark_belowcedilla;
pos base [z] <anchor 316 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 519 -10> mark @mark_belowogonek;
pos base [E] <anchor 460 -10> mark @mark_belowogonek;
pos base [I] <anchor 307 -9> mark @mark_belowogonek;
pos base [O] <anchor 317 -15> mark @mark_belowogonek;
pos base [U] <anchor 321 -15> mark @mark_belowogonek;
pos base [a] <anchor 469 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 323 -10> mark @mark_belowogonek;
pos base [e] <anchor 391 -10> mark @mark_belowogonek;
pos base [o] <anchor 314 -15> mark @mark_belowogonek;
pos base [u] <anchor 480 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;

1703
sources/features/shared.fea Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,368 +1,6 @@
# ----------------------------
# INTEL ONE MONO OPENTYPE CODE
# ----------------------------
# ----------------
# Language Systems
# ----------------
include(../../features/shared.fea);
languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn TRK;
languagesystem latn AZE;
languagesystem latn CRT;
languagesystem latn CAT;
include(../../features/mark/IntelOneMono-Italic mark.fea);
# -------
# Classes
# -------
# Base Letters
@ltrUC = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z uni1E9E AE OE Schwa Eng Thorn Eth Dcroat Hbar Tbar Lslash Oslash Aring Ohorn Uhorn I];
@ltrLC = [a b c d e f g h i j k l m n o p q r s t u v w x y z germandbls ae oe schwa eng thorn eth dcroat hbar tbar lslash oslash aring ohorn uhorn dotlessi];
# Figures
@fig = [zero one two three four five six seven eight nine];
@figSup = [zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup];
@figInf = [zero.inf one.inf two.inf three.inf four.inf five.inf six.inf seven.inf eight.inf nine.inf];
@figNum = [zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num];
@figDen = [zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den];
# Marks Above
@lcMarks = [acutecmb gravecmb hungarumlautcmb circumflexcmb caroncmb brevecmb tildecmb macroncmb dieresiscmb dotaccentcmb ringcmb ];
@ucMarks = [acutecmb.cap gravecmb.cap hungarumlautcmb.cap circumflexcmb.cap caroncmb.cap brevecmb.cap tildecmb.cap macroncmb.cap dieresiscmb.cap dotaccentcmb.cap ringcmb.cap];
# Marks Below
@belowMarks = [circumflexbelowcmb macronbelowcmb cedillacmb ogonekcmb];
# ---------------
# Localized Forms
# ---------------
feature locl {
script latn;
language TRK;
lookup iTurkish {
sub i by idotaccent;
} iTurkish;
language AZE;
lookup iTurkish;
language CRT;
lookup iTurkish;
language CAT;
sub l periodcentered' l by middotcat;
sub L periodcentered' L by middotcat.cap;
# try fusing them
sub L middotcat.cap by L.dot;
sub L middotcat by L.dot;
sub l middotcat by l.dot;
} locl;
# ---------------------------------
# Glyph Composition / Decomposition
# ---------------------------------
feature ccmp {
# Decompose unicode lowercase characters whose uppercase counterparts have no unicode.
lookup Decomp {
sub hlinebelow by h macronlowmod;
sub jcaron by j caron;
} Decomp;
# Replace double above accents by combined drawings.
lookup DblMarks {
sub dieresiscmb acutecmb by dieresisacute;
sub dieresiscmb gravecmb by dieresisgrave;
sub dieresiscmb caroncmb by dieresiscaron;
sub dieresiscmb macroncmb by dieresismacron;
sub brevecmb acutecmb by breveacute;
sub brevecmb gravecmb by brevegrave;
sub brevecmb hookcmb by brevehook;
sub brevecmb tildecmb by brevetilde;
sub circumflexcmb acutecmb by circumflexacute;
sub circumflexcmb gravecmb by circumflexgrave;
sub circumflexcmb hookcmb by circumflexhook;
sub circumflexcmb tildecmb by circumflextilde;
# capital forms
sub dieresiscmb.cap acutecmb.cap by dieresisacute.cap;
sub dieresiscmb.cap gravecmb.cap by dieresisgrave.cap;
sub dieresiscmb.cap caroncmb.cap by dieresiscaron.cap;
sub dieresiscmb.cap macroncmb.cap by dieresismacron.cap;
sub brevecmb.cap acutecmb.cap by breveacute.cap;
sub brevecmb.cap gravecmb.cap by brevegrave.cap;
sub brevecmb.cap hookcmb.cap by brevehook.cap;
sub brevecmb.cap tildecmb.cap by brevetilde.cap;
sub circumflexcmb.cap acutecmb.cap by circumflexacute.cap;
sub circumflexcmb.cap gravecmb.cap by circumflexgrave.cap;
sub circumflexcmb.cap hookcmb.cap by circumflexhook.cap;
sub circumflexcmb.cap tildecmb.cap by circumflextilde.cap;
} DblMarks;
# Replace combining marks that follow a uppercase letter by their uppercase form
lookup CapitalMarks {
sub [@ltrUC] [@lcMarks @belowMarks dotbelowcmb] [@lcMarks]' by [@ucMarks];
sub [@ltrUC] [@lcMarks]' by [@ucMarks];
} CapitalMarks;
# Replace letters with dotless counterparts when followed by a combining mark
lookup Dotless {
sub [i j]' [@belowMarks dotbelowcmb] [@lcMarks] by [dotlessi dotlessj];
sub [i j]' [@lcMarks] by [dotlessi dotlessj];
} Dotless;
# Replace e ogonek with pre-drawn eogonek
lookup eogonek {
sub e ogonekcmb by eogonek;
} eogonek;
} ccmp;
# ----------
# Numerators
# ----------
feature numr {
sub @fig by @figNum;
} numr;
# ------------
# Denominators
# ------------
feature dnom {
sub @fig by @figDen;
} dnom;
# -----------
# Superscript
# -----------
feature sups {
sub @fig by @figSup;
} sups;
# ---------------------
# Subscript & Inferiors
# ---------------------
feature subs {
sub @fig by @figInf;
} subs;
feature sinf {
sub @fig by @figInf;
} sinf;
# ---------------------
# Contextual Alternates
# ---------------------
feature calt {
# shifts colon to align with math symbols when used together
sub colon' [plus equal greater less hyphen] by colon.fig;
sub [plus equal less greater hyphen] colon' by colon.fig;
sub colon' [colon colon.fig] by colon.fig;
sub colon.fig colon' by colon.fig;
} calt;
# --------------
# Stylistic Sets
# --------------
feature ss11 {
featureNames {
name "Raised Colon (Figures Only)"; # Windows English
name 1 0 0 "Raised Colon (Figures Only)"; # Mac English
};
lookup FigureColonContextual {
sub @fig colon' @fig by colon.fig;
} FigureColonContextual;
} ss11;
feature ss12 {
featureNames {
name "Raised Colon (Global)"; # Windows English
name 1 0 0 "Raised Colon (Global)"; # Mac English
};
lookup FigureColon {
sub colon by colon.fig;
} FigureColon;
} ss12;
# --------------------
# Stylistic Alternates
# --------------------
feature salt {
lookup FigureColon; # SS12
} salt;
# ---------------------------------------------------------------------
# MARK | Generated: November 23, 2022 - 02:37:49 PM by 'markFeature.py'
# ---------------------------------------------------------------------
markClass [acutecmb caroncmb circumflexcmb dieresiscmb dotaccentcmb gravecmb macroncmb tildecmb] <anchor 0 502> @mark_aboveLC;
markClass [acutecmb.cap caroncmb.cap circumflexcmb.cap dieresiscmb.cap dotaccentcmb.cap gravecmb.cap macroncmb.cap tildecmb.cap] <anchor 0 691> @mark_aboveUC;
markClass [dieresisbelowcmb dotbelowcmb macronbelowcmb] <anchor 0 -35> @mark_below;
markClass [cedillacmb] <anchor 0 -10> @mark_belowcedilla;
markClass [ogonekcmb] <anchor 0 -10> @mark_belowogonek;
feature mark {
lookup aboveLC{
pos base [a] <anchor 296 507> mark @mark_aboveLC;
pos base [c] <anchor 313 507> mark @mark_aboveLC;
pos base [dotlessi] <anchor 321 502> mark @mark_aboveLC;
pos base [dotlessj] <anchor 400 502> mark @mark_aboveLC;
pos base [e] <anchor 319 507> mark @mark_aboveLC;
pos base [eogonek] <anchor 319 507> mark @mark_aboveLC;
pos base [g] <anchor 314 507> mark @mark_aboveLC;
pos base [m] <anchor 307 502> mark @mark_aboveLC;
pos base [n] <anchor 309 502> mark @mark_aboveLC;
pos base [o] <anchor 308 507> mark @mark_aboveLC;
pos base [p] <anchor 319 502> mark @mark_aboveLC;
pos base [s] <anchor 312 507> mark @mark_aboveLC;
pos base [u] <anchor 319 502> mark @mark_aboveLC;
pos base [z] <anchor 299 502> mark @mark_aboveLC;
} aboveLC;
lookup aboveUC{
pos base [A] <anchor 298 691> mark @mark_aboveUC;
pos base [C] <anchor 364 696> mark @mark_aboveUC;
pos base [E] <anchor 314 691> mark @mark_aboveUC;
pos base [Eogonek] <anchor 314 691> mark @mark_aboveUC;
pos base [G] <anchor 331 691> mark @mark_aboveUC;
pos base [I] <anchor 307 691> mark @mark_aboveUC;
pos base [J] <anchor 470 691> mark @mark_aboveUC;
pos base [M] <anchor 312 691> mark @mark_aboveUC;
pos base [N] <anchor 311 691> mark @mark_aboveUC;
pos base [O] <anchor 309 696> mark @mark_aboveUC;
pos base [P] <anchor 323 691> mark @mark_aboveUC;
pos base [S] <anchor 321 696> mark @mark_aboveUC;
pos base [U] <anchor 307 691> mark @mark_aboveUC;
pos base [Z] <anchor 317 691> mark @mark_aboveUC;
} aboveUC;
lookup below{
pos base [C] <anchor 354 -40> mark @mark_below;
pos base [Dcroat] <anchor 303 -35> mark @mark_below;
pos base [E] <anchor 314 -35> mark @mark_below;
pos base [H] <anchor 307 -35> mark @mark_below;
pos base [I] <anchor 307 -35> mark @mark_below;
pos base [O] <anchor 310 -40> mark @mark_below;
pos base [S] <anchor 294 -40> mark @mark_below;
pos base [U] <anchor 307 -40> mark @mark_below;
pos base [X] <anchor 308 -35> mark @mark_below;
pos base [Z] <anchor 317 -35> mark @mark_below;
pos base [c] <anchor 310 -35> mark @mark_below;
pos base [dcroat] <anchor 331 -30> mark @mark_below;
pos base [dotlessi] <anchor 322 -35> mark @mark_below;
pos base [e] <anchor 319 -40> mark @mark_below;
pos base [h] <anchor 318 -35> mark @mark_below;
pos base [o] <anchor 307 -40> mark @mark_below;
pos base [s] <anchor 301 -40> mark @mark_below;
pos base [u] <anchor 317 -35> mark @mark_below;
pos base [x] <anchor 305 -35> mark @mark_below;
pos base [z] <anchor 299 -35> mark @mark_below;
} below;
lookup belowcedilla{
pos base [Z] <anchor 317 -10> mark @mark_belowcedilla;
pos base [z] <anchor 299 -10> mark @mark_belowcedilla;
} belowcedilla;
lookup belowogonek{
pos base [A] <anchor 487 -10> mark @mark_belowogonek;
pos base [E] <anchor 467 -10> mark @mark_belowogonek;
pos base [I] <anchor 307 -10> mark @mark_belowogonek;
pos base [O] <anchor 320 -15> mark @mark_belowogonek;
pos base [U] <anchor 310 -15> mark @mark_belowogonek;
pos base [a] <anchor 462 -10> mark @mark_belowogonek;
pos base [dotlessi] <anchor 322 -9> mark @mark_belowogonek;
pos base [e] <anchor 410 -10> mark @mark_belowogonek;
pos base [o] <anchor 312 -15> mark @mark_belowogonek;
pos base [u] <anchor 472 -10> mark @mark_belowogonek;
} belowogonek;
} mark;
@BASES = [A C Dcroat E Eogonek G H I J M N O P S U X Z a c dcroat dotlessi dotlessj e eogonek g h m n o p s u x z];
@MARKS = [@mark_aboveLC @mark_aboveUC @mark_below @mark_belowcedilla @mark_belowogonek];
table GDEF {
GlyphClassDef @BASES,,@MARKS,;
} GDEF;
# --------------
# All Alternates
# --------------
feature aalt {
sub germandbls from [germandbls uni1E9E];
sub uni1E9E from [uni1E9E germandbls];
sub colon from [colon colon.fig];
sub colon.fig from [colon.fig colon];
sub eight from [eight eight.den eight.sup eight.num eight.inf];
sub eight.inf from [eight.inf eight eight.den eight.sup eight.num];
sub eight.num from [eight.num eight.inf eight eight.den eight.sup];
sub eight.sup from [eight.sup eight.num eight.inf eight eight.den];
sub eight.den from [eight.den eight.sup eight.num eight.inf eight];
sub five from [five five.inf five.num five.den five.sup];
sub five.sup from [five.sup five five.inf five.num five.den];
sub five.den from [five.den five.sup five five.inf five.num];
sub five.num from [five.num five.den five.sup five five.inf];
sub five.inf from [five.inf five.num five.den five.sup five];
sub four from [four four.sup four.num four.den four.inf];
sub four.inf from [four.inf four four.sup four.num four.den];
sub four.den from [four.den four.inf four four.sup four.num];
sub four.num from [four.num four.den four.inf four four.sup];
sub four.sup from [four.sup four.num four.den four.inf four];
sub nine from [nine nine.den nine.inf nine.num nine.sup];
sub nine.sup from [nine.sup nine nine.den nine.inf nine.num];
sub nine.num from [nine.num nine.sup nine nine.den nine.inf];
sub nine.inf from [nine.inf nine.num nine.sup nine nine.den];
sub nine.den from [nine.den nine.inf nine.num nine.sup nine];
sub one from [one one.den one.num one.inf one.sup];
sub one.sup from [one.sup one one.den one.num one.inf];
sub one.inf from [one.inf one.sup one one.den one.num];
sub one.num from [one.num one.inf one.sup one one.den];
sub one.den from [one.den one.num one.inf one.sup one];
sub seven from [seven seven.inf seven.num seven.sup seven.den];
sub seven.den from [seven.den seven seven.inf seven.num seven.sup];
sub seven.sup from [seven.sup seven.den seven seven.inf seven.num];
sub seven.num from [seven.num seven.sup seven.den seven seven.inf];
sub seven.inf from [seven.inf seven.num seven.sup seven.den seven];
sub six from [six six.num six.sup six.den six.inf];
sub six.inf from [six.inf six six.num six.sup six.den];
sub six.den from [six.den six.inf six six.num six.sup];
sub six.sup from [six.sup six.den six.inf six six.num];
sub six.num from [six.num six.sup six.den six.inf six];
sub three from [three three.inf three.den three.num three.sup];
sub three.sup from [three.sup three three.inf three.den three.num];
sub three.num from [three.num three.sup three three.inf three.den];
sub three.den from [three.den three.num three.sup three three.inf];
sub three.inf from [three.inf three.den three.num three.sup three];
sub two from [two two.inf two.sup two.num two.den];
sub two.den from [two.den two two.inf two.sup two.num];
sub two.num from [two.num two.den two two.inf two.sup];
sub two.sup from [two.sup two.num two.den two two.inf];
sub two.inf from [two.inf two.sup two.num two.den two];
sub zero from [zero zero.sup zero.num zero.den zero.inf];
sub zero.inf from [zero.inf zero zero.sup zero.num zero.den];
sub zero.den from [zero.den zero.inf zero zero.sup zero.num];
sub zero.num from [zero.num zero.den zero.inf zero zero.sup];
sub zero.sup from [zero.sup zero.num zero.den zero.inf zero];
} aalt;
include(../../features/aalt.fea);

View File

@ -7,7 +7,7 @@
<key>capHeight</key>
<integer>655</integer>
<key>copyright</key>
<string>Copyright 2023 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono)</string>
<string>Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono)</string>
<key>descender</key>
<integer>-260</integer>
<key>familyName</key>
@ -57,7 +57,7 @@
<key>platformID</key>
<integer>1</integer>
<key>string</key>
<string>(C) 2023 Intel Corporation</string>
<string>Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono)</string>
</dict>
<dict>
<key>encodingID</key>
@ -69,7 +69,7 @@
<key>platformID</key>
<integer>3</integer>
<key>string</key>
<string>(C) 2023 Intel Corporation</string>
<string>Copyright 2023-2024 The Intel One Mono Project Authors (https://github.com/intel/intel-one-mono)</string>
</dict>
<dict>
<key>encodingID</key>
@ -263,30 +263,6 @@
<key>string</key>
<string>http://frerejones.com</string>
</dict>
<dict>
<key>encodingID</key>
<integer>1</integer>
<key>languageID</key>
<integer>1033</integer>
<key>nameID</key>
<integer>16</integer>
<key>platformID</key>
<integer>3</integer>
<key>string</key>
<string>Intel One Mono</string>
</dict>
<dict>
<key>encodingID</key>
<integer>1</integer>
<key>languageID</key>
<integer>1033</integer>
<key>nameID</key>
<integer>17</integer>
<key>platformID</key>
<integer>3</integer>
<key>string</key>
<string>Bold</string>
</dict>
</array>
<key>openTypeOS2CodePageRanges</key>
<array>
@ -403,7 +379,7 @@
<key>versionMajor</key>
<integer>1</integer>
<key>versionMinor</key>
<integer>3</integer>
<integer>4</integer>
<key>xHeight</key>
<integer>477</integer>
</dict>

View File

@ -8,7 +8,6 @@
<outline>
<component base="middotcat.cap" xOffset="230"/>
<component base="L"/>
<component base="L"/>
</outline>
<lib>
<dict>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="brevecmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="caroncmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="circumflexcmb.cap" xOffset="309"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="circumflexacute.cap" xOffset="309"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -7,10 +7,4 @@
<component base="circumflexcmb.cap" xOffset="309"/>
<component base="dotbelowcmb" xOffset="310" yOffset="-5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="circumflexgrave.cap" xOffset="309"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="circumflexhook.cap" xOffset="309"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="circumflextilde.cap" xOffset="309"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="dieresiscmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="dotaccentcmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="dotbelowcmb" xOffset="310" yOffset="-5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="hookcmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -2,9 +2,6 @@
<glyph name="Ohorn" format="2">
<advance width="614"/>
<unicode hex="01A0"/>
<anchor x="309" y="696" name="aboveUC"/>
<anchor x="309" y="661" name="aboveUCx"/>
<anchor x="310" y="-40" name="below"/>
<outline>
<contour>
<point x="309" y="655" type="line" smooth="yes"/>

View File

@ -6,10 +6,4 @@
<component base="Ohorn"/>
<component base="acutecmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="Ohorn"/>
<component base="dotbelowcmb" xOffset="310" yOffset="-5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="Ohorn"/>
<component base="gravecmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="Ohorn"/>
<component base="hookcmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="Ohorn"/>
<component base="tildecmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="macroncmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="O"/>
<component base="tildecmb.cap" xOffset="309" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="acutecmb.cap" xOffset="304"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="caroncmb.cap" xOffset="304"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="uni0326" xOffset="311"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="dotaccentcmb.cap" xOffset="304"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="dotbelowcmb" xOffset="311"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="R"/>
<component base="macronbelowcmb" xOffset="311"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -7,10 +7,4 @@
<component base="macroncmb.cap" xOffset="304"/>
<component base="dotbelowcmb" xOffset="311"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="S"/>
<component base="acutecmb.cap" xOffset="321" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="S"/>
<component base="caroncmb.cap" xOffset="321" yOffset="5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="S"/>
<component base="circumflexcmb.cap" xOffset="321"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="S"/>
<component base="uni0326" xOffset="294" yOffset="-5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="S"/>
<component base="dotbelowcmb" xOffset="294" yOffset="-5"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="T"/>
<component base="caroncmb.cap" xOffset="307"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="T"/>
<component base="circumflexbelowcmb" xOffset="307"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

View File

@ -6,10 +6,4 @@
<component base="T"/>
<component base="uni0326" xOffset="307"/>
</outline>
<lib>
<dict>
<key>public.markColor</key>
<string>0.7843,0.7843,0.7843,1</string>
</dict>
</lib>
</glyph>

Some files were not shown because too many files have changed in this diff Show More