v3.4
|
|
@ -95,6 +95,16 @@
|
|||
- "›Ill‹ega›l‹"
|
||||
- "βeta ›ß‹eta Busine›ß‹"
|
||||
|
||||
- title: "Stylistic set 3: r curves into round neighbors"
|
||||
tag: ss03
|
||||
description:
|
||||
Lower case r curved into neighboring round shapes for increased
|
||||
legibility and personality.
|
||||
samples:
|
||||
- "Sa›r‹a"
|
||||
- "i›r‹d"
|
||||
- "Mon›r‹oe"
|
||||
|
||||
- title: Discretionary ligatures
|
||||
tag: dlig
|
||||
description:
|
||||
|
|
@ -118,9 +128,10 @@
|
|||
- {feat: cv03, alt: "Open six", sample: "6"}
|
||||
- {feat: cv04, alt: "Open nine", sample: "9"}
|
||||
- {feat: cv05, alt: "Lower case L with tail", sample: "l ł ƚ ɫ ɬ ŀ ĺ ļ ľ ḷ ḹ ḻ ḽ"}
|
||||
- {feat: cv06, alt: "Lower case R with straight tail", sample: "r ɽ ɍ ɼ ŕ ŗ ř ȑ ȓ ṙ ṛ ṝ ṟ"}
|
||||
- {feat: cv06, alt: "Lower case r with curved tail", sample: "r ɽ ɍ ɼ ŕ ŗ ř ȑ ȓ ṙ ṛ ṝ ṟ"}
|
||||
- {feat: cv07, alt: "Alternate German double-s", sample: "ß"}
|
||||
- {feat: cv08, alt: "Upper-case i with serif", sample: "I Ï Ḯ Ɨ Ḭ Ì Í Î Ĩ Ī Ĭ Į İ Ǐ Ȉ Ȋ Ỉ Ị Ι Ί Ϊ Ἰ Ἱ Ἲ"}
|
||||
- {feat: cv09, alt: "Flat top three", sample: "3"}
|
||||
- {feat: cv10, alt: "Capital G with spur", sample: "G Ǥ Ɠ Ĝ Ğ Ġ Ģ Ǧ Ǵ Ḡ"}
|
||||
- {feat: cv11, alt: "Single-storey a", sample: "a á ă ắ ặ ằ ẳ ẵ ǎ â ấ ậ ầ ẩ ẫ ȁ ä ǟ ȧ ạ ǡ à ả ȃ ā ą ẚ å ǻ ḁ ã"}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,48 +1,48 @@
|
|||
[
|
||||
{
|
||||
"head": {
|
||||
"checkSumAdjustment": 1637560464,
|
||||
"created": 3632096805,
|
||||
"checkSumAdjustment": 494030292,
|
||||
"created": 3636929098,
|
||||
"flags": 27,
|
||||
"fontDirectionHint": 2,
|
||||
"fontRevision": 3.003,
|
||||
"fontRevision": 3.004,
|
||||
"glyphDataFormat": 0,
|
||||
"indexToLocFormat": 0,
|
||||
"lowestRecPPEM": 6,
|
||||
"macStyle": [],
|
||||
"macStyle_raw": 0,
|
||||
"magicNumber": 1594834165,
|
||||
"modified": 3632096873,
|
||||
"modified": 3636929189,
|
||||
"tableVersion": 1.0,
|
||||
"unitsPerEm": 2816,
|
||||
"xMax": 4650,
|
||||
"xMin": -2080,
|
||||
"yMax": 3072,
|
||||
"yMin": -1084
|
||||
"yMin": -764
|
||||
},
|
||||
"hhea": {
|
||||
"advanceWidthMax": 4928,
|
||||
"ascent": 2708,
|
||||
"ascent": 2728,
|
||||
"caretOffset": 0,
|
||||
"caretSlopeRise": 1,
|
||||
"caretSlopeRun": 0,
|
||||
"descent": -660,
|
||||
"descent": -680,
|
||||
"lineGap": 0,
|
||||
"metricDataFormat": 0,
|
||||
"minLeftSideBearing": -2080,
|
||||
"minRightSideBearing": -1440,
|
||||
"numberOfHMetrics": 2345,
|
||||
"numberOfHMetrics": 2402,
|
||||
"tableVersion": 65536,
|
||||
"xMaxExtent": 4650
|
||||
},
|
||||
"id": "Inter Regular:2019:20b39288a",
|
||||
"id": "Inter Regular:2019:871bcce4e",
|
||||
"name": "Inter-Regular",
|
||||
"names": {
|
||||
"copyright": "Copyright 2017-2019 The Inter project authors",
|
||||
"copyright": "Copyright 2019 The Inter project authors",
|
||||
"designer": "Rasmus Andersson",
|
||||
"designerURL": "https://rsms.me/",
|
||||
"familyName": "Inter",
|
||||
"fontId": "Inter Regular:2019:20b39288a",
|
||||
"fontId": "Inter Regular:2019:871bcce4e",
|
||||
"fullName": "Inter Regular",
|
||||
"licenseDescription": "OFL 1.1 (SIL Open Font License, Version 1.1)",
|
||||
"licenseURL": "http://scripts.sil.org/OFL",
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
"subfamilyName": "Regular",
|
||||
"trademark": "Inter UI and Inter is a trademark of rsms.",
|
||||
"vendorURL": "https://rsms.me/",
|
||||
"version": "3.3;20b39288a"
|
||||
"version": "Version 3.004;git-871bcce4e"
|
||||
},
|
||||
"os/2": {
|
||||
"achVendID": "RSMS",
|
||||
|
|
@ -73,8 +73,8 @@
|
|||
},
|
||||
"sCapHeight": 2048,
|
||||
"sFamilyClass": 0,
|
||||
"sTypoAscender": 2708,
|
||||
"sTypoDescender": -660,
|
||||
"sTypoAscender": 2728,
|
||||
"sTypoDescender": -680,
|
||||
"sTypoLineGap": 0,
|
||||
"sxHeight": 1536,
|
||||
"ulCodePageRange1": 415,
|
||||
|
|
@ -92,20 +92,20 @@
|
|||
"usWeightClassName": "Normal (Regular)",
|
||||
"usWidthClass": 5,
|
||||
"usWidthClassName": "Medium (normal)",
|
||||
"usWinAscent": 2708,
|
||||
"usWinDescent": 660,
|
||||
"usWinAscent": 3098,
|
||||
"usWinDescent": 788,
|
||||
"version": 4,
|
||||
"xAvgCharWidth": 1682,
|
||||
"yStrikeoutPosition": 1024,
|
||||
"yStrikeoutSize": 256,
|
||||
"xAvgCharWidth": 1697,
|
||||
"yStrikeoutPosition": 922,
|
||||
"yStrikeoutSize": 192,
|
||||
"ySubscriptXOffset": 0,
|
||||
"ySubscriptXSize": 1536,
|
||||
"ySubscriptYOffset": 256,
|
||||
"ySubscriptYSize": 1280,
|
||||
"ySubscriptXSize": 1830,
|
||||
"ySubscriptYOffset": 211,
|
||||
"ySubscriptYSize": 1690,
|
||||
"ySuperscriptXOffset": 0,
|
||||
"ySuperscriptXSize": 1536,
|
||||
"ySuperscriptYOffset": 1024,
|
||||
"ySuperscriptYSize": 1280
|
||||
"ySuperscriptXSize": 1830,
|
||||
"ySuperscriptYOffset": 986,
|
||||
"ySuperscriptYSize": 1690
|
||||
},
|
||||
"post": {
|
||||
"formatType": 3.0,
|
||||
|
|
@ -118,6 +118,6 @@
|
|||
"underlinePosition": -464,
|
||||
"underlineThickness": 192
|
||||
},
|
||||
"version": "3.3"
|
||||
"version": "Version"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ assign url_root = "/" %}{% else %}{%
|
|||
assign url_root = "/inter/" %}{% endif %}{%
|
||||
assign font_v = site.data.fontinfo[0].version
|
||||
|
||||
%}<link rel="preload" href="{{url_root}}font-files/Inter-upright.var.woff2?v={{font_v}}" as="font" type="font/woff2" crossorigin="anonymous">
|
||||
<link rel="preload" href="{{url_root}}font-files/Inter-italic.var.woff2?v={{font_v}}" as="font" type="font/woff2" crossorigin="anonymous">
|
||||
%}<link rel="preload" href="{{url_root}}font-files/Inter-upright.var.woff2?v=3.4" as="font" type="font/woff2" crossorigin="anonymous">
|
||||
<link rel="preload" href="{{url_root}}font-files/Inter-italic.var.woff2?v=3.4" as="font" type="font/woff2" crossorigin="anonymous">
|
||||
434990
docs/glyphs/metrics.json
201
docs/index.css
|
|
@ -118,203 +118,6 @@ grid.faq {
|
|||
background: var(--yellow);
|
||||
}
|
||||
|
||||
tablex in, tablex to, tablex out {
|
||||
display: table-cell;
|
||||
width: 5%;
|
||||
white-space: pre;
|
||||
padding-bottom:0.5em;
|
||||
}
|
||||
|
||||
tablex to::after {
|
||||
-moz-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
font-feature-settings: 'calt' 1, 'case' 1;
|
||||
content: " → ";
|
||||
color: rgba(0,0,0,0.2);
|
||||
}
|
||||
tablex in, tablex out {
|
||||
color: rgba(0,0,0,0.8);
|
||||
}
|
||||
tablex r name {
|
||||
color: rgba(0,0,0,0.4);
|
||||
}
|
||||
tablex in {
|
||||
-moz-font-feature-settings: 'calt' 0;
|
||||
-ms-font-feature-settings: 'calt' 0;
|
||||
-o-font-feature-settings: 'calt' 0;
|
||||
-webkit-font-feature-settings: 'calt' 0;
|
||||
font-feature-settings: 'calt' 0;
|
||||
}
|
||||
tablex out {
|
||||
-moz-font-feature-settings: 'calt' 1;
|
||||
-ms-font-feature-settings: 'calt' 1;
|
||||
-o-font-feature-settings: 'calt' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1;
|
||||
font-feature-settings: 'calt' 1;
|
||||
}
|
||||
tablex em {
|
||||
font-style: inherit;
|
||||
background: #e4fdef;
|
||||
color: rgba(0,0,0,1);
|
||||
}
|
||||
|
||||
tablex out.zero {
|
||||
-moz-font-feature-settings: 'calt' 1, 'zero' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'zero' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'zero' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'zero' 1;
|
||||
font-feature-settings: 'calt' 1, 'zero' 1;
|
||||
}
|
||||
tablex out.tnum {
|
||||
-moz-font-feature-settings: 'calt' 1, 'tnum' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'tnum' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'tnum' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'tnum' 1;
|
||||
font-feature-settings: 'calt' 1, 'tnum' 1;
|
||||
}
|
||||
tablex out.case {
|
||||
-moz-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'case' 1;
|
||||
font-feature-settings: 'calt' 1, 'case' 1;
|
||||
}
|
||||
tablex out.frac {
|
||||
-moz-font-feature-settings: 'calt' 1, 'frac' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'frac' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'frac' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'frac' 1;
|
||||
font-feature-settings: 'calt' 1, 'frac' 1;
|
||||
}
|
||||
tablex out.numr {
|
||||
-moz-font-feature-settings: 'calt' 1, 'numr' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'numr' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'numr' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'numr' 1;
|
||||
font-feature-settings: 'calt' 1, 'numr' 1;
|
||||
}
|
||||
tablex out.dnom {
|
||||
-moz-font-feature-settings: 'calt' 1, 'dnom' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'dnom' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'dnom' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'dnom' 1;
|
||||
font-feature-settings: 'calt' 1, 'dnom' 1;
|
||||
}
|
||||
tablex out.sups {
|
||||
-moz-font-feature-settings: 'calt' 1, 'sups' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'sups' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'sups' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'sups' 1;
|
||||
font-feature-settings: 'calt' 1, 'sups' 1;
|
||||
}
|
||||
tablex out.subs {
|
||||
-moz-font-feature-settings: 'calt' 1, 'subs' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'subs' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'subs' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'subs' 1;
|
||||
font-feature-settings: 'calt' 1, 'subs' 1;
|
||||
}
|
||||
tablex out.ss01 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'ss01' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'ss01' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'ss01' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'ss01' 1;
|
||||
font-feature-settings: 'calt' 1, 'ss01' 1;
|
||||
}
|
||||
tablex out.ss02 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'ss02' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'ss02' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'ss02' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'ss02' 1;
|
||||
font-feature-settings: 'calt' 1, 'ss02' 1;
|
||||
}
|
||||
tablex out.cpsp {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cpsp' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cpsp' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cpsp' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cpsp' 1;
|
||||
font-feature-settings: 'calt' 1, 'cpsp' 1;
|
||||
}
|
||||
tablex out.dlig {
|
||||
-moz-font-feature-settings: 'calt' 1, 'dlig' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'dlig' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'dlig' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'dlig' 1;
|
||||
font-feature-settings: 'calt' 1, 'dlig' 1;
|
||||
}
|
||||
tablex out.cv01 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv01' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv01' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv01' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv01' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv01' 1;
|
||||
}
|
||||
tablex out.cv02 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv02' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv02' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv02' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv02' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv02' 1;
|
||||
}
|
||||
tablex out.cv03 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv03' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv03' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv03' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv03' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv03' 1;
|
||||
}
|
||||
tablex out.cv04 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv04' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv04' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv04' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv04' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv04' 1;
|
||||
}
|
||||
tablex out.cv05 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv05' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv05' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv05' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv05' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv05' 1;
|
||||
}
|
||||
tablex out.cv06 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv06' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv06' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv06' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv06' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv06' 1;
|
||||
}
|
||||
tablex out.cv07 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv07' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv07' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv07' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv07' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv07' 1;
|
||||
}
|
||||
tablex out.cv08 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv08' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv08' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv08' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv08' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv08' 1;
|
||||
}
|
||||
tablex out.cv09 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv09' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv09' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv09' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv09' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv09' 1;
|
||||
}
|
||||
tablex out.cv10 {
|
||||
-moz-font-feature-settings: 'calt' 1, 'cv10' 1;
|
||||
-ms-font-feature-settings: 'calt' 1, 'cv10' 1;
|
||||
-o-font-feature-settings: 'calt' 1, 'cv10' 1;
|
||||
-webkit-font-feature-settings: 'calt' 1, 'cv10' 1;
|
||||
font-feature-settings: 'calt' 1, 'cv10' 1;
|
||||
}
|
||||
|
||||
boxes.features box h3 + p {
|
||||
margin-top:0.5em;
|
||||
}
|
||||
|
|
@ -329,3 +132,7 @@ boxes.features grid .sample em {
|
|||
background: #e4fdef;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.features box.feat-cvXX {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,8 +214,8 @@ html { font-family: 'Inter', sans-serif; }
|
|||
</p>
|
||||
<boxes class="features">
|
||||
{% for f in site.data.feature_samples %}
|
||||
<box>
|
||||
<h3>{{f.title}} <q title='OpenType feature ID'>{{f.tag}}</q></h3>
|
||||
<box class="feat-{{f.tag}}" id="features/{{f.tag}}">
|
||||
<h3><a href="#features/{{f.tag}}">{{f.title}} <q title='OpenType feature ID'>{{f.tag}}</q></a></h3>
|
||||
{%
|
||||
|
||||
if f.description %}
|
||||
|
|
@ -402,6 +402,17 @@ html { font-family: 'Inter', sans-serif; }
|
|||
it public, but what would be the point of that? :—)
|
||||
</c>
|
||||
|
||||
<c>
|
||||
<h4 id="faq-chrome-vf-bugs"><a href="#faq-chrome-vf-bugs">
|
||||
The variable font renders poorly in Chrome
|
||||
</a></h4>
|
||||
There are some known issues with variable fonts in Chrome, in particular
|
||||
on Microsoft Windows. You may see an effect similar to "ink bleed" where shapes overlap, for instance where the vertical and horizontal stems meet in "+" or "t".
|
||||
On Windows you may in addition see incorrectly placed glyphs that looks like poor kerning (spacing between characters) and even some glyphs being lower or taller than other glyphs.
|
||||
It is recommended to avoid using variable fonts on Chrome.
|
||||
See the <a href="https://bugs.chromium.org/p/chromium/issues/list?can=2&q=variable+component%3ABlink%3EFonts">Chromium bug tracker</a> for a list of variable-font related issues.
|
||||
</c>
|
||||
|
||||
<c>
|
||||
<h4 id="faq-contact"><a href="#faq-contact">
|
||||
I've made a cool thing that uses Inter, can I share it with you?<br>
|
||||
|
|
|
|||
|
|
@ -163,11 +163,11 @@ Ambiguation: (should not be fractions)
|
|||
samples.set('Feature: calt', `
|
||||
(m) (M) (6) [m] [M] [6] {m} {M} {6}
|
||||
m@n M@N
|
||||
3×5 ×9 8× 3x4 x9 2x
|
||||
3−5 −5 8− 3+5 +5 3+
|
||||
3÷5 ÷5 8÷ 3±5 ±5 8±
|
||||
3=5 =5 8= 3≠5 ≠5 8≠
|
||||
8*5 8 * 7 WALLPAPER*
|
||||
3×5 3 × 5 ×9 8× 3x4 x9 2x
|
||||
3−5 3 − 5 −5 8− 3+5 +5 3+
|
||||
3÷5 3 ÷ 5 ÷5 8÷ 3±5 ±5 8±
|
||||
3=5 3 = 5 =5 8= 3≠5 ≠5 8≠
|
||||
8*5 8 * 7 *8 8* X*A
|
||||
B-O B–O B‒O B—O M•N ⌘-
|
||||
-Selvece
|
||||
darest-Selvece
|
||||
|
|
@ -197,22 +197,34 @@ A<->B<–>C<—>D
|
|||
x<-4 x < -4 x<-y
|
||||
12:35
|
||||
1.2 34.56.78.90.12
|
||||
A*Y V*V W*W N*N X*X
|
||||
Λ*Λ Σ*Σ Δ*Δ Y*Y &*
|
||||
A+Y V+V W+W N+N X+X
|
||||
Λ+Λ Σ+Σ Δ+Δ Y+Y &+
|
||||
:-) :–) :—)
|
||||
|
||||
calt case should cascade:
|
||||
U() U[] U{} rightx should be rightx.case
|
||||
()U []U {}U special-cased as "delim' delim -> delim.case"
|
||||
---U--- all hyphens should be hyphen.case
|
||||
U-→(){}[]* all should be .case
|
||||
U-→(){}[]• all should be .case
|
||||
x[]{}H "x br br" separate from "cb cb H"
|
||||
|
||||
left side cascades up to 5 characters:
|
||||
******ABBA******
|
||||
••••••ABBA••••••
|
||||
------M------
|
||||
@@@@@@M@@@@@@
|
||||
++++++M++++++
|
||||
|
||||
x[x] [X] x lc x lc followed by .case C .case
|
||||
(Xx) lc uc uc lc
|
||||
[Zzz] lc uc lc lc lc
|
||||
(XX)
|
||||
(x)
|
||||
(X)
|
||||
( ) M
|
||||
() M
|
||||
()M
|
||||
X(_) .case around underscore next to uc
|
||||
(_) lc otherwise
|
||||
`)
|
||||
|
||||
|
||||
|
|
@ -1526,17 +1538,19 @@ document.head.appendChild(fontCSS)
|
|||
<label title='Capital spacing (adds 16 UPM to each sidebearing)'><input type="checkbox" class="featopt" name="feat:cpsp"> cpsp (Capital spacing)</label>
|
||||
<label title='Stylistic Alternates'><input type="checkbox" class="featopt" name="feat:salt"> salt (Stylistic Alternates)</label>
|
||||
<label title='Stylistic set 1 "Open Digits"'><input type="checkbox" class="featopt" name="feat:ss01"> ss01 (Open Digits)</label>
|
||||
<label title='Stylistic set 1 "Disambiguation"'><input type="checkbox" class="featopt" name="feat:ss02"> ss02 (Disambiguation)</label>
|
||||
<label title='Stylistic set 2 "Disambiguation"'><input type="checkbox" class="featopt" name="feat:ss02"> ss02 (Disambiguation)</label>
|
||||
<label title='Stylistic set 3 "Lower case r curves into round neighbors"'><input type="checkbox" class="featopt" name="feat:ss03"> ss03 (Curved r)</label>
|
||||
<label title='Character Variant 1 "Alternate one"'><input type="checkbox" class="featopt" name="feat:cv01"> cv01 (Alternate one)</label>
|
||||
<label title='Character Variant 2 "Open four"'><input type="checkbox" class="featopt" name="feat:cv02"> cv02 (Open four)</label>
|
||||
<label title='Character Variant 3 "Open six"'><input type="checkbox" class="featopt" name="feat:cv03"> cv03 (Open six)</label>
|
||||
<label title='Character Variant 4 "Open nine"'><input type="checkbox" class="featopt" name="feat:cv04"> cv04 (Open nine)</label>
|
||||
<label title='Character Variant 5 "Lower case L with tail")'><input type="checkbox" class="featopt" name="feat:cv05"> cv05 (Lower case L with tail)</label>
|
||||
<label title='Character Variant 6 "Lower case R with straight tail")'><input type="checkbox" class="featopt" name="feat:cv06"> cv06 (Straight lower case R)</label>
|
||||
<label title='Character Variant 6 "Lower case r with curved tail")'><input type="checkbox" class="featopt" name="feat:cv06"> cv06 (Curved lower case r)</label>
|
||||
<label title='Character Variant 7 "Alternate German double-s")'><input type="checkbox" class="featopt" name="feat:cv07"> cv07 (German double-s)</label>
|
||||
<label title='Character Variant 8 "Upper-case i with serif")'><input type="checkbox" class="featopt" name="feat:cv08"> cv08 (Upper-case i with serif)</label>
|
||||
<label title='Character Variant 9 "Flat top three")'><input type="checkbox" class="featopt" name="feat:cv09"> cv09 (Flat top three)</label>
|
||||
<label title='Character Variant 10 "Capital G with spur")'><input type="checkbox" class="featopt" name="feat:cv10"> cv10 (Capital G with spur)</label>
|
||||
<label title='Character Variant 11 "Single-storey a")'><input type="checkbox" class="featopt" name="feat:cv11"> cv11 (Single-storey a)</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox-group">
|
||||
|
|
|
|||
|
|
@ -31,6 +31,13 @@ except OSError:
|
|||
|
||||
addr = ("localhost", 3003)
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1] == '-h':
|
||||
print('usage: %s [-h | --bind-any]' % sys.argv[0], file=sys.stdout)
|
||||
sys.exit(0)
|
||||
elif sys.argv[1] == '--bind-any':
|
||||
addr = ("0.0.0.0", 3003)
|
||||
|
||||
# make ^C instantly exit program
|
||||
signal.signal(signal.SIGINT, sighandler)
|
||||
|
||||
|
|
|
|||
|
|
@ -76,6 +76,12 @@ body {
|
|||
body {
|
||||
font-family: 'Inter var', system-ui, sans-serif;
|
||||
}
|
||||
body.chrome-win {
|
||||
/* Chrome has some VF issues; worst are on Windows with incorrect kerning.
|
||||
We disable VF on Chrome on Windows for that reason.
|
||||
*/
|
||||
font-family: Inter, system-ui, sans-serif;
|
||||
}
|
||||
}
|
||||
|
||||
DISABLED:target:before {
|
||||
|
|
@ -508,29 +514,6 @@ a > img { display: block; }
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
tablex {
|
||||
display: flex;
|
||||
}
|
||||
tablex > t {
|
||||
display: table;
|
||||
}
|
||||
tablex > t > h {
|
||||
display: table-row;
|
||||
opacity:0.4;
|
||||
}
|
||||
tablex > t > h > * {
|
||||
padding-bottom:1em;
|
||||
}
|
||||
tablex > t > h to {
|
||||
visibility: hidden;
|
||||
}
|
||||
tablex > t > r {
|
||||
text-decoration: none;
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
/* grid */
|
||||
|
||||
|
|
@ -737,6 +720,7 @@ instead.
|
|||
|
||||
.ff-ss01 { font-feature-settings: 'ss01' 1; -webkit-font-feature-settings: 'ss01' 1; -ms-font-feature-settings: 'ss01' 1; -moz-font-feature-settings: 'ss01' 1; }
|
||||
.ff-ss02 { font-feature-settings: 'ss02' 1; -webkit-font-feature-settings: 'ss02' 1; -ms-font-feature-settings: 'ss02' 1; -moz-font-feature-settings: 'ss02' 1; }
|
||||
.ff-ss03 { font-feature-settings: 'ss03' 1; -webkit-font-feature-settings: 'ss03' 1; -ms-font-feature-settings: 'ss03' 1; -moz-font-feature-settings: 'ss03' 1; }
|
||||
.ff-cv01 { font-feature-settings: 'cv01' 1; -webkit-font-feature-settings: 'cv01' 1; -ms-font-feature-settings: 'cv01' 1; -moz-font-feature-settings: 'cv01' 1; }
|
||||
.ff-cv02 { font-feature-settings: 'cv02' 1; -webkit-font-feature-settings: 'cv02' 1; -ms-font-feature-settings: 'cv02' 1; -moz-font-feature-settings: 'cv02' 1; }
|
||||
.ff-cv03 { font-feature-settings: 'cv03' 1; -webkit-font-feature-settings: 'cv03' 1; -ms-font-feature-settings: 'cv03' 1; -moz-font-feature-settings: 'cv03' 1; }
|
||||
|
|
@ -747,3 +731,4 @@ instead.
|
|||
.ff-cv08 { font-feature-settings: 'cv08' 1; -webkit-font-feature-settings: 'cv08' 1; -ms-font-feature-settings: 'cv08' 1; -moz-font-feature-settings: 'cv08' 1; }
|
||||
.ff-cv09 { font-feature-settings: 'cv09' 1; -webkit-font-feature-settings: 'cv09' 1; -ms-font-feature-settings: 'cv09' 1; -moz-font-feature-settings: 'cv09' 1; }
|
||||
.ff-cv10 { font-feature-settings: 'cv10' 1; -webkit-font-feature-settings: 'cv10' 1; -ms-font-feature-settings: 'cv10' 1; -moz-font-feature-settings: 'cv10' 1; }
|
||||
.ff-cv11 { font-feature-settings: 'cv11' 1; -webkit-font-feature-settings: 'cv11' 1; -ms-font-feature-settings: 'cv11' 1; -moz-font-feature-settings: 'cv11' 1; }
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ function InterDynamicLineHeight(fontSize) {
|
|||
}
|
||||
|
||||
|
||||
// Mac or not? Maybe even a buggy Safari?
|
||||
// Mac or not? Maybe a buggy Safari or a busted Chrome on Windows...
|
||||
var isMac = false
|
||||
if (!window.MSStream &&
|
||||
/mac|ipad|iphone|ipod/i.test(navigator.userAgent))
|
||||
|
|
@ -105,4 +105,9 @@ if (!window.MSStream &&
|
|||
{
|
||||
document.body.classList.add('safari')
|
||||
}
|
||||
} else if (
|
||||
navigator.userAgent.indexOf('Windows') != -1 &&
|
||||
navigator.userAgent.indexOf('Chrome') != -1
|
||||
) {
|
||||
document.body.classList.add('chrome-win')
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 416 KiB |
2
docs/res/weights-and-styles.svg
Normal file → Executable file
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 230 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 506 KiB After Width: | Height: | Size: 528 KiB |
|
Before Width: | Height: | Size: 2 MiB After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 224 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 241 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 229 KiB After Width: | Height: | Size: 244 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |