mirror of
https://bjh21.me.uk/bedstead/.git
synced 2026-07-09 21:43:06 -04:00
Unicode takes the position that U+0027 APOSTROPHE is always a straight apostrophe and is you want a curly one you should use U+2019 RIGHT SINGLE QUOTATION MARK (or U+02BC MODIFIER LETTER APOSTROPHE but let's not get into that here). Bedstead generally follows that, putting the SAA5050 straight apostrophe at U+0027 and the SAA5055 curly one at U+2019. Older character standards, though, conflated those two and treated the difference between them as one of font design. In particular, ETS 300 706: May 1997, "Enhanced Teletext specification" treats position 2/7 as being the same character in all national sub-sets of the Latin G0 primary set. When coverting Teletext data to Unicode, ZVBI maps 2/7 to U+0027 whichever national sub-set is in use. This means that to faithfully display Teletext data in the way that an SAA5051/2 would, Bedstead needs to interpret U+0027 as a curly apostrophe. I have accomplished this by adding a new "apostrophe.curly" alias and including that in the 'ss01' and 'ss02' Stylistic Sets. It also, of course, gains a new Character Variant feature, 'cv07', so that you can turn the curly apostrophe on and off independently. This does cause me to wonder whether there should be a stylistic set to map U+0020..U+007E onto the SAA5055 glyphs.
136 lines
3.1 KiB
CSS
136 lines
3.1 KiB
CSS
/*
|
|
* This file defines @font-face rules to make the various standard
|
|
* Bedstead fonts available in CSS.
|
|
*
|
|
* SPDX-License-Identifier: CC0-1.0
|
|
*/
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: expanded;
|
|
font-weight: 500;
|
|
src: url(bedstead-extended.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: normal;
|
|
font-weight: 500;
|
|
src: url(bedstead.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: semi-condensed;
|
|
font-weight: 500;
|
|
src: url(bedstead-semicondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: condensed;
|
|
font-weight: 500;
|
|
src: url(bedstead-condensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: extra-condensed;
|
|
font-weight: 500;
|
|
src: url(bedstead-extracondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: ultra-condensed;
|
|
font-weight: 500;
|
|
src: url(bedstead-ultracondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: expanded;
|
|
font-weight: 700;
|
|
src: url(bedstead-boldextended.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: normal;
|
|
font-weight: 700;
|
|
src: url(bedstead-bold.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: semi-condensed;
|
|
font-weight: 700;
|
|
src: url(bedstead-boldsemicondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: condensed;
|
|
font-weight: 700;
|
|
src: url(bedstead-boldcondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: extra-condensed;
|
|
font-weight: 700;
|
|
src: url(bedstead-boldextracondensed.otf) format("opentype");
|
|
}
|
|
|
|
@font-face {
|
|
font-family: Bedstead;
|
|
font-stretch: ultra-condensed;
|
|
font-weight: 700;
|
|
src: url(bedstead-boldultracondensed.otf) format("opentype");
|
|
}
|
|
|
|
/*
|
|
* These settings allow selection of stylistic sets by name:
|
|
* font-variant: styleset(saa5051);
|
|
* font-variant: styleset(saa5052);
|
|
* font-variant: styleset(saa5054);
|
|
*/
|
|
@font-feature-values Bedstead {
|
|
@styleset {
|
|
saa5051: 1;
|
|
saa5052: 2;
|
|
saa5054: 4;
|
|
}
|
|
@character-variant {
|
|
apostrophe-default: 6 1;
|
|
apostrophe-curly: 6 2
|
|
comma-default: 12 1;
|
|
comma-left: 12 2;
|
|
period-default: 14 1;
|
|
period-large: 14 2;
|
|
colon-default: 26 1;
|
|
colon-leftsmall: 26 2;
|
|
semicolon-default: 27 1;
|
|
semicolon-left: 27 2;
|
|
question-default: 31 1;
|
|
question-open: 31 2;
|
|
D-default: 38 1;
|
|
D-serif: 38 2;
|
|
D-narrow: 38 3;
|
|
J-default: 42 1;
|
|
J-narrow: 42 2;
|
|
L-default: 44 1;
|
|
L-narrow: 44 2;
|
|
ugrave-default: 61 1;
|
|
ugrave-roundjoined: 61 2;
|
|
j-default: 74 1;
|
|
j-serif: 74 2;
|
|
o-default: 79 1;
|
|
o-large: 79 2;
|
|
t-default: 84 1;
|
|
t-small: 84 2;
|
|
cedilla-default: 96 1;
|
|
cedilla-angular: 96 2;
|
|
}
|
|
}
|