bedstead/bedstead-faces.css
Ben Harris 9f2acba7bd Add character variant for curly apostrophe (SAA5051/2)
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.
2025-01-19 00:49:30 +00:00

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;
}
}