]> de.git.xonotic.org Git - xonotic/mediasource.git/blobdiff - fonts/xolonium/sourcefiles/features/Xolonium-Kern-Greek.fea
Update Xolonium font sources to version 3.0
[xonotic/mediasource.git] / fonts / xolonium / sourcefiles / features / Xolonium-Kern-Greek.fea
diff --git a/fonts/xolonium/sourcefiles/features/Xolonium-Kern-Greek.fea b/fonts/xolonium/sourcefiles/features/Xolonium-Kern-Greek.fea
new file mode 100644 (file)
index 0000000..4c9c256
--- /dev/null
@@ -0,0 +1,406 @@
+# UPPERCASE BASE CLASSES
+
+@Α = [Α Δ Λ];
+@Β = [Β];
+@Γ = [Γ];
+@Ε = [Ε];
+@Ζ = [Ζ];
+@Θ = [Θ Ο];
+@Κ = [Κ];
+@Ξ = [Ξ];
+@Ρ = [Ρ];
+@Σ = [Σ];
+@Τ = [Τ];
+@Υ = [Υ Ϋ];
+@Φ = [Φ];
+@Χ = [Χ];
+@Ψ = [Ψ];
+@Ω = [Ω];
+@Ά = [Ά];
+@Έ = [Έ];
+@Ό = [Ό];
+@Ύ = [Ύ];
+@Ώ = [Ώ];
+
+
+# UPPERCASE KERNING CLASSES
+
+@Α_ = [@Α @Ά];
+@Ε_ = [@Ε @Ξ @Σ @Έ];
+@Ζ_ = [@Ζ];
+@Θ_ = [@Θ];
+@Κ_ = [@Κ];
+@Ρ_ = [@Ρ];
+@Τ_ = [@Γ @Τ];
+@Υ_ = [@Υ @Ύ];
+@Φ_ = [@Φ];
+@Χ_ = [@Χ];
+@Ψ_ = [@Ψ];
+@Ω_ = [@Β @Ω @Ώ];
+
+@_Α = [@Α];
+@_Ζ = [@Ζ];
+@_Θ = [@Θ @Ό];
+@_Ξ = [@Ξ @Σ];
+@_Τ = [@Τ];
+@_Υ = [@Υ];
+@_Φ = [@Φ];
+@_Χ = [@Χ];
+@_Ψ = [@Ψ];
+@_Ω = [@Ω];
+
+
+# lowercase base classes
+
+@α = [α ά];
+@β = [β];
+@γ = [γ];
+@δ = [δ];
+@ε = [ε έ];
+@ζ = [ζ];
+@η = [η ή];
+@θ = [θ];
+@ι = [ι π];
+@κ = [κ];
+@λ = [λ];
+@μ = [μ];
+@ν = [ν];
+@ξ = [ξ];
+@ο = [ο ό];
+@ρ = [ρ];
+@ς = [ς];
+@σ = [σ];
+@τ = [τ];
+@υ = [υ ΰ ύ ϋ ψ ω ώ];
+@φ = [φ];
+@χ = [χ];
+@ί = [ί];
+@ϊ = [ΐ ϊ];
+
+
+# lowercase kerning classes
+
+@α_ = [@α];
+@β_ = [@β];
+@δ_ = [@δ];
+@ε_ = [@ε @ς];
+@ζ_ = [@ζ @ξ];
+@ι_ = [@ι];
+@κ_ = [@κ];
+@λ_ = [@λ];
+@ο_ = [@ο @ρ @φ];
+@η_ = [@η];
+@θ_ = [@θ];
+@τ_ = [@γ @ν @σ @τ @χ];
+@υ_ = [@μ @υ];
+@ί_ = [@ί];
+@ϊ_ = [@ϊ];
+
+@_α = [@α];
+@_δ = [@δ];
+@_ζ = [@ζ];
+@_ι = [@ι @η @κ @μ];
+@_λ = [@λ];
+@_ο = [@ο @ε @ς @σ];
+@_ρ = [@ρ];
+@_θ = [@θ @ξ];
+@_τ = [@γ @ν @τ @χ];
+@_υ = [@υ @φ];
+@_ί = [@ί];
+@_ϊ = [@ϊ];
+
+
+lookup kernGreek
+{
+# Table exceptions
+
+       enum pos @BRACKET_ @μ 0;
+
+
+# Table size optimizations
+
+       enum pos [@ASCIIQUOTE @SLASH] @_Α -80;
+
+       enum pos @Α_ anoteleia -60;
+       enum pos @λ_ anoteleia -60;
+
+       enum pos @Τ_ @_Ω -10;
+       enum pos @Υ_ @_Ω -20;
+
+       enum pos @Ω_ @_Τ -10;
+       enum pos @Ω_ @_Υ -20;
+
+       enum pos @θ_ @_λ -10;
+
+       enum pos @ζ_ @_θ -10;
+       enum pos @κ_ @_θ -10;
+       enum pos @λ_ @_θ -10;
+
+
+# PUNCTUATION LETTER
+
+       pos [@PERIOD @BASEQUOTE @BACKSLASH] @_Τ -80;
+       pos [@PERIOD @BASEQUOTE @BACKSLASH] @_Υ -90;
+       pos [@PERIOD @BASEQUOTE @BACKSLASH] @_Ψ -30;
+       pos [@PERIOD @BASEQUOTE @BACKSLASH] @_τ -30;
+
+       pos [@COLON @GREEKCOLON @DASH @GUILLEMET] @_Τ -40;
+       pos [@COLON @GREEKCOLON @DASH @GUILLEMET] @_Υ -50;
+
+       pos @FANCYQUOTE @_Α -100;
+       pos @FANCYQUOTE @_α -40;
+       pos @FANCYQUOTE @_δ -20;
+       pos @FANCYQUOTE @_ι -30;
+       pos @FANCYQUOTE @_λ -20;
+       pos @FANCYQUOTE @_ο -30;
+       pos @FANCYQUOTE @_ρ -30;
+       pos @FANCYQUOTE @_τ -20;
+       pos @FANCYQUOTE @_υ -30;
+
+       pos @BRACKET_ @_Α -40;
+       pos @BRACKET_ @_Φ -20;
+       pos @BRACKET_ @_α -40;
+       pos @BRACKET_ @_δ -20;
+       pos @BRACKET_ @_ζ -30;
+       pos @BRACKET_ @_ι -30;
+       pos @BRACKET_ @_ο -40;
+       pos @BRACKET_ @_τ -30;
+       pos @BRACKET_ @_υ -30;
+       pos @BRACKET_ @_ί -20;
+       pos @BRACKET_ @_ϊ +20;
+
+
+       # LETTER PUNCTUATION
+
+       pos @Ρ_ [@PERIOD @BASEQUOTE @SLASH] -70;
+       pos @Τ_ [@PERIOD @BASEQUOTE @SLASH] -80;
+       pos @Υ_ [@PERIOD @BASEQUOTE @SLASH] -90;
+       pos @Ψ_ [@PERIOD @BASEQUOTE @SLASH] -30;
+       pos @τ_ [@PERIOD @BASEQUOTE @SLASH] -30;
+
+       pos @Τ_ [@COLON @GREEKCOLON @DASH @GUILLEMET] -40;
+       pos @Υ_ [@COLON @GREEKCOLON @DASH @GUILLEMET] -50;
+
+       pos @Α_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -80;
+       pos @α_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -30;
+       pos @λ_ [@ASCIIQUOTE @FANCYQUOTE @BACKSLASH] -80;
+
+       pos @Α_ @_BRACKET -40;
+       pos @Φ_ @_BRACKET -20;
+       pos @α_ @_BRACKET -30;
+       pos @δ_ @_BRACKET -20;
+       pos @ε_ @_BRACKET -10;
+       pos @ι_ @_BRACKET -30;
+       pos @κ_ @_BRACKET -30;
+       pos @λ_ @_BRACKET -40;
+       pos @ο_ @_BRACKET -40;
+       pos @τ_ @_BRACKET -30;
+       pos @υ_ @_BRACKET -30;
+       pos @ϊ_ @_BRACKET +20;
+
+
+# UPPERCASE UPPERCASE
+
+       pos @Α_ @_Θ -10;
+       pos @Α_ @_Τ -120;
+       pos @Α_ @_Υ -140;
+       pos @Α_ @_Φ -20;
+       pos @Α_ @_Ψ -30;
+
+       pos @Ε_ @_Φ -10;
+
+       pos @Ζ_ @_Τ -10;
+       pos @Ζ_ @_Υ -10;
+       pos @Ζ_ @_Φ -10;
+
+       pos @Θ_ @_Α -10;
+       pos @Θ_ @_Τ -10;
+       pos @Θ_ @_Χ -10;
+       pos @Θ_ @_Υ -20;
+
+       pos @Κ_ @_Φ -30;
+       pos @Κ_ @_Ψ -20;
+
+       pos @Ρ_ @_Α -80;
+
+       pos @Τ_ @_Α -120;
+       pos @Τ_ @_Ζ -10;
+       pos @Τ_ @_Θ -10;
+       pos @Τ_ @_Τ +20;
+       pos @Τ_ @_Φ -10;
+
+       pos @Υ_ @_Α -140;
+       pos @Υ_ @_Ζ -10;
+       pos @Υ_ @_Θ -20;
+       pos @Υ_ @_Φ -30;
+
+       pos @Φ_ @_Α -20;
+       pos @Φ_ @_Ζ -10;
+       pos @Φ_ @_Ξ -10;
+       pos @Φ_ @_Τ -10;
+       pos @Φ_ @_Υ -30;
+       pos @Φ_ @_Χ -30;
+
+       pos @Χ_ @_Θ -10;
+       pos @Χ_ @_Φ -30;
+
+       pos @Ψ_ @_Α -30;
+
+
+# UPPERCASE lowercase
+
+       pos @Α_ @_α -10;
+       pos @Α_ @_τ -80;
+
+       pos @Ε_ @_τ -10;
+       pos @Ε_ @_ϊ +20;
+
+       pos @Ζ_ @_τ -20;
+       pos @Ζ_ @_ϊ +10;
+
+       pos @Κ_ @_α -20;
+       pos @Κ_ @_τ -50;
+       pos @Κ_ @_ϊ +20;
+
+       pos @Ρ_ @_λ -20;
+       pos @Ρ_ @_ϊ +10;
+
+       pos @Τ_ @_α -60;
+       pos @Τ_ @_δ -40;
+       pos @Τ_ @_ζ -30;
+       pos @Τ_ @_ι -50;
+       pos @Τ_ @_λ -20;
+       pos @Τ_ @_ο -60;
+       pos @Τ_ @_ρ -60;
+       pos @Τ_ @_τ -40;
+       pos @Τ_ @_υ -50;
+       pos @Τ_ @_ί -30;
+       pos @Τ_ @_ϊ +50;
+
+       pos @Υ_ @_α -80;
+       pos @Υ_ @_δ -50;
+       pos @Υ_ @_ζ -40;
+       pos @Υ_ @_ι -60;
+       pos @Υ_ @_λ -30;
+       pos @Υ_ @_ο -70;
+       pos @Υ_ @_ρ -70;
+       pos @Υ_ @_τ -40;
+       pos @Υ_ @_υ -60;
+       pos @Υ_ @_ί -50;
+       pos @Υ_ @_ϊ +50;
+
+       pos @Φ_ @_λ -20;
+
+       pos @Χ_ @_α -20;
+       pos @Χ_ @_τ -30;
+       pos @Χ_ @_ϊ +40;
+
+       pos @Ψ_ @_λ -20;
+       pos @Ψ_ @_ϊ +10;
+
+
+# lowercase UPPERCASE
+
+       pos @α_ @_Τ -100;
+       pos @α_ @_Υ -110;
+       pos @α_ @_Φ -20;
+       pos @α_ @_Ψ -40;
+
+       pos @β_ @_Τ -10;
+       pos @β_ @_Υ -20;
+
+       pos @δ_ @_Τ -20;
+       pos @δ_ @_Υ -30;
+
+       pos @ε_ @_Τ -20;
+       pos @ε_ @_Υ -30;
+
+       pos @ζ_ @_Φ -20;
+
+       pos @ι_ @_Τ -50;
+       pos @ι_ @_Υ -60;
+
+       pos @κ_ @_Τ -30;
+       pos @κ_ @_Υ -30;
+
+       pos @λ_ @_Τ -120;
+       pos @λ_ @_Υ -140;
+       pos @λ_ @_Φ -30;
+       pos @λ_ @_Ψ -60;
+
+       pos @ο_ @_Τ -60;
+       pos @ο_ @_Υ -70;
+
+       pos @η_ @_Τ -60;
+       pos @η_ @_Υ -70;
+
+       pos @τ_ @_Α -80;
+       pos @τ_ @_Ζ -20;
+       pos @τ_ @_Ξ -10;
+       pos @τ_ @_Τ -40;
+       pos @τ_ @_Υ -40;
+       pos @τ_ @_Χ -30;
+
+       pos @υ_ @_Τ -50;
+       pos @υ_ @_Υ -60;
+
+       pos @ί_ @_Τ +20;
+       pos @ί_ @_Υ +30;
+       pos @ί_ @_Χ +20;
+
+       pos @ϊ_ @_Ζ +10;
+       pos @ϊ_ @_Ξ +20;
+       pos @ϊ_ @_Τ +50;
+       pos @ϊ_ @_Υ +50;
+       pos @ϊ_ @_Χ +40;
+       pos @ϊ_ @_Ψ +10;
+
+
+# lowercase lowercase
+
+       pos @α_ @_α -10;
+       pos @α_ @_τ -50;
+
+       pos @β_ @_λ -10;
+       pos @β_ @_τ -20;
+
+       pos @δ_ @_λ -10;
+       pos @δ_ @_τ -10;
+
+       pos @ε_ @_α -10;
+
+       pos @ζ_ @_α -20;
+       pos @ζ_ @_δ -10;
+       pos @ζ_ @_ζ -10;
+       pos @ζ_ @_ο -10;
+       pos @ζ_ @_τ -20;
+       pos @ζ_ @_υ -10;
+
+       pos @κ_ @_α -20;
+       pos @κ_ @_δ -10;
+       pos @κ_ @_ζ -10;
+       pos @κ_ @_ο -10;
+       pos @κ_ @_υ -10;
+
+       pos @λ_ @_α -20;
+       pos @λ_ @_δ -10;
+       pos @λ_ @_ζ -10;
+       pos @λ_ @_ο -10;
+       pos @λ_ @_τ -80;
+       pos @λ_ @_υ -10;
+
+       pos @ο_ @_λ -10;
+       pos @ο_ @_τ -10;
+
+       pos @η_ @_τ -10;
+
+       pos @τ_ @_α -20;
+       pos @τ_ @_δ -20;
+       pos @τ_ @_ζ -10;
+       pos @τ_ @_λ -40;
+       pos @τ_ @_ο -10;
+       pos @τ_ @_ρ -10;
+
+       pos @υ_ @_λ -10;
+
+} kernGreek;