OpenType ãã©ã³ãç¹æ§ã®æå¼ã
ãã©ã³ãç¹æ§ (font features) ã¾ãã¯ç°ä½å (variants) ã¨ã¯ãOpenType ãã©ã³ãã«å«ã¾ãããã¾ãã¾ãªåå½¢ãæåã¹ã¿ã¤ã«ã®ãã¨ã§ãããããã«ã¯ãåå ('fi' ã 'ffl' ãªã©ã®æåãçµã¿åãããç¹å¥ãªåå½¢)ãã«ã¼ãã³ã° (ç¹å®ã®æåã®çµã¿åããã®ééã®èª¿æ´)ãåæ°ãæ°åã®ã¹ã¿ã¤ã«ãªã©ãããã¾ãããããã¯ãã¹ã¦ OpenType æ©è½ã¨å¼ã°ããç¹å®ã®ããããã£ãä½ã¬ãã«ã®å¶å¾¡ãããã㣠- font-feature-settings ãéãã¦ã¦ã§ãä¸ã§ä½¿ç¨ã§ããããã«ãªã£ã¦ãã¾ãããã®è¨äºã§ã¯ãCSS ã§ OpenType ãã©ã³ãç¹æ§ã使ç¨ããããã«å¿
è¦ãªãã¹ã¦ã®ç¥èãæä¾ãã¾ãã
ãã©ã³ãã«ãã£ã¦ã¯ããããã®ç¹æ§ã®ãã¡ 1 ã¤ä»¥ä¸ãæ¢å®ã§æå¹ã«ãªã£ã¦ãããã®ãããã° (ã«ã¼ãã³ã°ãæ¢å®ã®ååãä¸è¬çãªä¾ã§ã)ãç¹å®ã®å ´é¢ã§æå¹ã«ãããã©ããããã¶ã¤ãã¼ãéçºè ã«å§ãã¦ãããã®ãããã¾ãã
ååã lining åå½¢ (å°æåã®ããã«è¦ãã 'oldstyle' ã¨ã¯å¯¾ç §çã«ãåçã«ä¸¦ã¶æ°å) ã®ãããªåºç¯ãªç¹æ§ã»ããã«å ãã¦ãã¹ã¿ã¤ãªã¹ãã£ãã¯ã»ãã (ä¸ç·ã«ä½¿ç¨ãããã¨ãæå³ããåå½¢ã®ããã¤ãã®ç¹å®ã®ç°ä½åãå«ãå ´åããã)ã代æ¿åå½¢ (æå 'a' ã® 1 ã¤ã¾ãã¯è¤æ°ã®ç°ä½åã®å ´åããã)ããããã¯æ±ã¢ã¸ã¢ã®è¨èªã®ããã®è¨èªåºæã®å¤æ´ãªã©ãé常ã«ç¹æ®ãªãã®ãããã¾ããå¾è ã®å ´åããããã®å¤æ´ã¯ããã®è¨èªãé©åã«è¡¨ç¾ããããã«å®éã«å¿ è¦ãªãã®ã§ãããä»ã®ã»ã¨ãã©ã® OpenType æ©è½ã®ãããªã¹ã¿ã¤ã«ä¸ã®å¥½ã¿ãããéè¦ã§ãã
è¦å:
ãã©ã³ãã®ç¹æ§ãå©ç¨ããããã«å¤ãã® CSS 屿§ãå®ç¾©ããã¦ãã¾ãããæ®å¿µãªãããã®å¤ãã¯å®å
¨ã«ã¯å®è£
ããã¦ãã¾ããããããã¯ãã¹ã¦å®ç¾©ããã¦ãããããã§ç´¹ä»ããã¦ãã¾ãããå¤ãã¯ä¸ä½ã¬ãã«ã® font-feature-settings ããããã£ã§ã®ã¿åä½ãã¾ãã両æ¹ã®æ¹æ³ã§åä½ããããã« CSS ãè¨è¿°ãããã¨ã¯å¯è½ã§ãããããã¯é¢åãªãã¨ã«ãªãã¾ãããã¹ã¦ã« font-feature-settings ã使ãå ´åã®åé¡ç¹ã¯ãåã
ã®ç¹æ§ã夿´ãããã³ã«ãæååå
¨ä½ãåå®ç¾©ããªããã°ãªããªããã¨ã§ã (å¯å¤ãã©ã³ãã font-variation-settings ã§æä½ããã®ã¨ä¼¼ã¦ãã¾ã)ã
ãã©ã³ãã®ç¹æ§ã®æç¡ã®ç¢ºèª
ããã¯ããã©ã³ãã«ä»å±ãã¦ããããã¥ã¡ã³ãããªãå ´åãæãåä»ãªåé¡ã§ã (å¤ãã®ãã©ã³ããã¶ã¤ãã¼ãå·¥æ¿ããµã³ãã«ãã¼ã¸ã CSS ãæä¾ãã¦ããã®ã¯ãã®ããã§ã)ãããããç°¡åã«è§£æ±ºã§ãããµã¤ããããã¾ãã wakamaifondue.com ã«ã¢ã¯ã»ã¹ãã¦ãæç¤ºãããåã®ä¸ã«ãã©ã³ããã¡ã¤ã«ãããããããã¨ãããã«ãã©ã³ãã®ãã¹ã¦ã®ç¹æ§ã¨ç¹å¾´ã«é¢ããå®å ¨ãªã¬ãã¼ããå¾ããã¾ãã Axis-praxis.org ãåæ§ã®æ©è½ãæä¾ãã¦ãããç¹æ§ãã¯ãªãã¯ããã¨ãæå®ããããã¹ããããã¯ã§ãããããªã³ã¾ãã¯ãªãã«ãããã¨ãã§ãã¾ãã
使ç¨ããçç±
ãããã®ç¹æ§ã®ç¥èãå¾ã¦ä½¿ç¨ããã«ã¯å°ãæéãããããã¨ãèããã¨ãããªããããã使ãã®ããã¨ããçåãæ¹§ãã®ãç¡çã¯ããã¾ããããã®çãã¯ããµã¤ãããã便å©ã«ãããèªã¿ããããããæ´ç·´ããããã®ã«ããããã®å ·ä½çãªæ©è½ã«ããã¾ãã
- 'ff' ã 'fi' ã®ãããªååã使ãã¨ãæåã®ééãããåä¸ã«ãªããããã¹ã ã¼ãºã«èªããããã«ãªãã¾ãã
- åæ°ã使ããã¨ã§ãæ¥æå¤§å·¥ãã¬ã·ãã®ãµã¤ããããè¦ããããåããããããªãã¾ãã
- ããã¹ãã®æ®µè½å ã®æ°åã 'oldstyle' ã«è¨å®ããã¨ãå°æåã®éã§ããè¦ãããã«é ç½®ãããåæ§ã«æ°åã 'tabular numbers' ã«è¨å®ããã¨ãéé¡ã®ãªã¹ãã表ã«è¨å®ããã¨ãã«è¦ããã並ã³ã¾ãã䏿¹ã 'lining' ã®æ°åã¯ãåç¬ã§ãã大æåã®åèªã®åã§ããããçµ±ä¸æãããã¾ãã
ã©ã®ç¹æ§ããããããªãããã¨ãã£ã¦ãµã¤ãã使ããªããªãããã§ã¯ããã¾ããããããããã®ç¹æ§ããããã¨ã§ããã使ãããããããå°è±¡ã«æ®ããµã¤ãã«ãªãã¾ãã
OpenType ã®ç¹æ§ã¯ããã©ã³ãã®ç§å¯ã®ã³ã³ãã¼ãã¡ã³ãã®ãããªãã®ã§ããããããå©ç¨ã§ããããã«ãããã¨ã§ããã©ã³ãã®å¤è¦³ãåä½ãå¾®å¦ã«ããããã¯åçã«å¤åãããæ¹æ³ãè¦ã¤ãããã¨ãã§ãã¾ãããã¹ã¦ã® OpenType ç¹æ§ã常ã«ä½¿ç¨ããã®ã«é©ãã¦ããããã§ã¯ããã¾ããããããã¤ãã®ç¹æ§ã¯åªããçµçã«ä¸å¯æ¬ ã§ãã -- Tim Brown, Head of Typography at Adobe.
æã«ã¯ã¹ã¿ã¤ã«ã ãã§ãªãæ¬è³ªã«ãªããã¨ã
ã¾ããå ´åã«ãã£ã¦ã¯ â font-variant-east-asian ã®ããã« â OpenType ã®ç¹æ§ããç¹å®ã®ç°ä½åã使ç¨ãããã¨ã«ç´çµãã¦ããããããæå³ãèªã¿ãããã«å½±é¿ãä¸ãããã¨ãããã¾ãããã®ãããªã±ã¼ã¹ã§ã¯ãåãªã飾ãã§ã¯ãªããã³ã³ãã³ãèªä½ã«ä¸å¯æ¬ ãªè¦ç´ ã¨ãªãã¾ãã
ãã©ã³ãç¹æ§
èæ ®ãã¹ãç¹æ§ãããã¤ãããã¾ããããã§ã¯ãW3C ã®ä»æ§æ¸ã«è¨è¼ããã¦ãã主ãªå±æ§ããªãã·ã§ã³ã«æ²¿ã£ã¦ã°ã«ã¼ãåãã説æãã¦ãã¾ãã
ã¡ã¢: 以ä¸ã®ä¾ã§ã¯ãããããã£ã¨ããã¤ãã®çµã¿åããä¾ããåçã®ä½æ°´æºæ§æã¨ã¨ãã«ç¤ºãã¦ãã¾ãããã©ã¦ã¶ã¼ã®å®è£ ã«ä¸æ´åããããããå®å ¨ã«ã¯ä¸è´ããªãããããã¾ããããå¤ãã®å ´åãä¸ã¤ç®ã®ä¾ã¯äºã¤ç®ã®ä¾ã¨ä¸è´ãã¾ãã表示ããã¦ããæ¸ä½ã¯ãPlayfair DisplayãSource Serif ProãIBM Plex SerifãDancing ScriptãKokoro ã§ã (ãã¹ã¦å ¥æå¯è½ã§ç¡æã§ä½¿ç¨ã§ããã»ã¨ãã©ã¯ Google Fonts ããã®ä»ã®ãµã¼ãã¹ã§æä¾ããã¦ãã¾ã)ã
ã«ã¼ãã³ã°
é¢é£ããããããã£: font-kerning
ããã¯ãç¹å®ã®æåã®çµã¿åããã®ééãæå³ãã¾ããããã¯éå¸¸ãæ¢å®ã§ãªã³ã«ãªã£ã¦ãã¾ã (OpenType 仿§ã§æ¨å¥¨ããã¦ãã¾ã)ããªããletter-spacing ãããã¹ãã«è¨å®ããã¦ããå ´åã¯ãã«ã¼ãã³ã°ã®å¾ã«é©ç¨ããã¾ãã®ã§æ³¨æãå¿
è¦ã§ãã
以ä¸ã®ã³ã¼ããããã¯å
ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
/* kerning: auto|normal|none */
.container1 * {
font-kerning: normal;
}
.inactive.container1 * {
font-kerning: none;
}
/* 'kern' 1|0 (on or off) */
.container2 * {
font-feature-settings: "kern" 1;
}
.inactive.container2 * {
font-feature-settings: "kern" 0;
}
代æ¿åå½¢
é¢é£ããããããã£: font-variant-alternates
ãã©ã³ãã¯ãå°æåã® 'a' ã®ç°ãªãã¹ã¿ã¤ã«ããçè¨ä½ã«ãããå¤ããå°ãªãã精巧ãªã¹ã¯ãã·ã¥ã®ããã«ãæ§ã
ãªåå½¢ã«å¯¾ãã¦å¤ãã®ç°ãªãä»£æ¿æ¡ãæä¾ãããã¨ãã§ãã¾ãããã®ããããã£ã¯ãä¸ããããå¤ã«å¿ãã¦ãä»£æ¿æ¡ã®ã»ããå
¨ä½ãæå¹ã«ãããã¨ããç¹å®ã®ãã®ã ããæå¹ã«ãããã¨ãã§ãã¾ãã以ä¸ã®ä¾ã¯ãä»£æ¿æåãæ±ãéã®ããã¤ãã®ç°ãªãå´é¢ã示ãã¦ãã¾ãã代æ¿åå½¢ãæã¤ãã©ã³ãã§ã¯ã代æ¿åå½¢ãå
¨ä½çã«ä½¿ç¨ã§ããããã«ãããã¨ããåå¥ã®ã¹ã¿ã¤ã«ã»ãããåã
ã®æåã§åå¥ã«ä½¿ç¨ã§ããããã«ãããã¨ãã§ãã¾ãããã®ä¾ã§ã¯ã2 ã¤ã®ç°ãªãæ¸ä½ã¨ã@font-feature-values ã¢ããã«ã¼ã«ã®å°å
¥ãè¦ããã¨ãã§ãã¾ããããã¯ããã©ã³ããã¡ããªã¼ãã¨ã«å®ç¾©ã§ããã·ã§ã¼ãã«ãããååä»ããªãã·ã§ã³ãå®ç¾©ããããã®ãã®ã§ãããã®ããã«ãã¦ãåä¸ã®ãã©ã³ãã«ã®ã¿é©ç¨ãããååä»ããªãã·ã§ã³ããå
±æããã¦ããä¸è¬çã«é©ç¨ãããååä»ããªãã·ã§ã³ã使ãããã¨ãã§ãã¾ãã以ä¸ã®ã³ã¼ããããã¯å
ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
@font-feature-values "Plex Serif" {
@styleset {
alt-a: 1;
alt-g: 2;
}
@stylistic {
alternates: 1;
}
}
@font-feature-values "Dancing Script" {
@stylistic {
alternates: 1;
}
}
.container1 * {
font-variant-alternates: styleset(alt-a);
}
.container1 .script {
font-variant-alternates: stylistic(alternates);
}
.inactive.container1 * {
font-variant-alternates: normal;
}
.container2 * {
font-feature-settings: "ss01";
}
.container2 .script {
font-feature-settings: "salt";
}
.inactive.container2 * {
font-feature-settings:
"ss01" 0,
"salt" 0;
}
ãã®å ´åã@stylistic(alternates) ã¯ãã©ã¡ãã®ãã©ã³ãã®ä»£æ¿æåããã¹ã¦è¡¨ç¤ºãã¾ããããã 'My' ã¨ããåèªã ãã«é©ç¨ããã¨ã'M' ã®ã¬ã³ããªã³ã°æ¹æ³ãå¤ããã@styleset(alt-a) ãé©ç¨ããã¨ãå°æåã® 'a' ã ããå¤ããã¾ãã
次ã®è¡ã
font-variant-alternates: styleset(alt-a);
ãã®ããã«å¤æ´ãã¦ã¿ã¦ãã ããã
font-variant-alternates: styleset(alt-g);
å°æåã® 'a' ãæ¨æºå½¢ã«æ»ããå°æåã® 'g' ã代ããã«å¤åããã®ãåããã§ãããã
代æ¿åå½¢ã®è©³ç´°
åå
é¢é£ããããããã£: font-variant-ligatures
ååã¨ã¯ã2 ã¤ä»¥ä¸ã®å¥ã ã®æåãã(ééãç¾è¦³ã®è¦³ç¹ãã) ããã¹ã ã¼ãºã«è¡¨ç¾ããããã«ç½®ãæããåå½¢ã®ãã¨ã§ããæãä¸è¬çãªãã®ã¨ãã¦ã¯ã'fi', 'fl', 'ffl' ãªã©ã®æåãããã¾ãããä»ã«ãæ§ã ãªå¯è½æ§ãããã¾ããæãé »ç¹ã«ä½¿ç¨ãããåå (ä¸è¬çãªååã¨å¼ã°ãã¦ãã¾ã) ã®ä»ã«ããä»»æååãããæ´å²çååãããæèä¸ã®ä»£æ¿ååããªã©ã®ããå°éçãªã«ãã´ãªã¼ãããã¾ãããããã¯å³å¯ã«ã¯ååã§ã¯ããã¾ããããç¹å®ã®æåã®çµã¿åãããç½®ãæããã¨ããç¹ã§ã¯å ±éãã¦ãã¾ãã
ã¹ã¯ãªããæ¸ä½ã§ã¯ããè¦ããã¾ãããä¸ã®ä¾ã§ã¯ç¢å°ãä½ãããã«ä½¿ããã¦ãã¾ãã以ä¸ã®ã³ã¼ããããã¯å ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
.container1 * {
font-variant-ligatures: common-ligatures discretionary-ligatures contextual;
}
.inactive.container1 * {
font-variant-ligatures: none;
}
/* 'liga', 'dlig', 'hlig', 'calt' */
.container2 * {
font-feature-settings: "dlig", "liga", "calt";
}
.inactive.container2 * {
font-feature-settings:
"dlig" 0,
"liga" 0,
"calt" 0;
}
ä½ç½®
é¢é£ããããããã£: font-variant-position
ä½ç½®ã®å¤åå½¢ã¯ãæ¤åã®ä¸ä»ãæåãä¸ä»ãæåã®ã°ãªããæå¹ã«ããããã«ä½¿ç¨ããã¾ãããããã¯ããã¼ã¹ã©ã¤ã³ãã©ã¤ã³ã¹ãã¼ã·ã³ã°ã夿´ãããã¨ãªããå¨å²ã®ããã¹ãã¨é£åããããã«è¨è¨ããã¦ãã¾ãããã㯠<sub> ã <sup> è¦ç´ ã§ã¯ç¹ã«æç¨ã§ãã以ä¸ã®ã³ã¼ããããã¯å
ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
/* position: normal|sub|super */
.container1 .super {
font-variant-position: super;
}
.container1 .sub {
font-variant-position: sub;
}
.inactive.container1 * {
font-variant-position: normal;
}
/* 'subs', 'sups' */
.container2 .super {
font-feature-settings: "sups";
}
.container2 .sub {
font-feature-settings: "subs";
}
.inactive.container2 * {
font-feature-settings:
"sups" 0,
"subs" 0;
}
大æå
é¢é£ããããããã£: font-variant-caps
OpenType ç¹æ§ã®ä¸è¬çãªä½¿ç¨ä¾ã® 1 ã¤ã«ãé©åãªã¹ã¢ã¼ã«ãã£ãããããã¾ããããã¯ãå°æåã®ä¸ã«åã¾ãããã«ãµã¤ãºã調æ´ãã大æåã§ãä¸è¬çã«ã¯é æåãç¥èªã«ä½¿ç¨ããã¾ãã以ä¸ã®ã³ã¼ããããã¯å ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
/* position: normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps */
.container1 .small-caps {
font-variant-caps: small-caps;
}
.container1 .all-small-caps {
font-variant-caps: all-small-caps;
}
.inactive.container1 * {
font-variant-caps: normal;
}
/* 'smcp', 'c2sc' */
.container2 .small-caps {
font-feature-settings: "smcp" 1;
}
.container2 .all-small-caps {
font-feature-settings:
"c2sc" 1,
"smcp" 1;
}
.inactive.container2 * {
font-feature-settings:
"smcp" 0,
"c2sc" 0;
}
æ°å
é¢é£ããããããã£: font-variant-numeric
ãã©ã³ãã«å«ã¾ããæ°åã«ã¯ãããã¤ãã®ç¨®é¡ãããã¾ãã
- 'Lining' ã®æ°åã¯ãã¹ã¦åãé«ãã§ãåããã¼ã¹ã©ã¤ã³ä¸ã«ããã¾ãã
- 'Oldstyle' ã®æ°åã¯é«ããæ··å¨ãã¦ãããä»ã®å°æåã¨åæ§ã«ã¢ã»ã³ãã¼ã¨ãã£ã»ã³ãã¼ã®å¤è¦³ãæã¤ããã«ãã¶ã¤ã³ããã¦ãã¾ãããããã®æ°åã¯ãã¹ã¢ã¼ã«ãã£ããã¨åæ§ã«ãæ°åãå¨å²ã®åå½¢ã¨è¦è¦çã«èª¿åããããã«ãã³ãã¼ã¨ä¸ç·ã«ã¤ã³ã©ã¤ã³ã§ä½¿ç¨ãããããã«è¨è¨ããã¦ãã¾ãã
ã¾ããã¹ãã¼ã·ã³ã°ã¨ããèãæ¹ãããã¾ãããããã¼ã·ã§ãã«ã¹ãã¼ã·ã³ã°ã¯é常ã®è¨å®ã§ãã¿ãã¥ã©ã¼ã¹ãã¼ã·ã³ã°ã¯æåå¹ ã«é¢ä¿ãªãæ°åãåçã«ä¸¦ã¹ããã¨ãã§ãã財åè«¸è¡¨ã®æ°åã®è¡¨ã並ã¹ãã®ã«é©ãã¦ãã¾ãã
ãã®ããããã£ã§ã¯ã2 種é¡ã®åæ°ããµãã¼ãããã¦ãã¾ãã
- æãã«åããããåæ°
- åç´ã«ç©ã¿ä¸ããããåæ°
åºæ°ã«ã対å¿ãã¦ãã¾ã ('1st' ã '3rd' ãªã©)ãã¾ãããã©ã³ãå ã«ã¹ã©ãã·ã¥ä»ãã®ã¼ããããå ´åã¯ãããã«ã対å¿ãã¦ãã¾ãã
Lining 㨠old-style ã®åå½¢
以ä¸ã®ã³ã¼ããããã¯å ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
.container1 .lining {
font-variant-numeric: lining-nums;
}
.container1 .oldstyle {
font-variant-numeric: oldstyle-nums;
}
.inactive.container1 * {
font-variant-numeric: normal;
}
.container2 .lining {
font-feature-settings: "lnum" 1;
}
.container2 .oldstyle {
font-feature-settings: "onum" 1;
}
.inactive.container2 * {
font-feature-settings:
"lnum" 0,
"onum" 0;
}
åæ°ãåºæ°ãã¹ã©ãã·ã¥ä»ãã®ã¼ã
以ä¸ã®ã³ã¼ããããã¯å ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
.container1 .diagonal-fractions {
font-variant-numeric: diagonal-fractions;
}
.container1 .ordinal {
font-variant-numeric: ordinal;
}
.container1 .zero {
font-variant-numeric: slashed-zero;
}
.inactive.container1 * {
font-variant-numeric: normal;
}
.container2 .diagonal-fractions {
font-feature-settings: "frac" 1;
}
.container2 .ordinal {
font-feature-settings: "ordn" 1;
}
.container2 .zero {
font-feature-settings: "zero" 1;
}
.inactive.container2 * {
font-feature-settings:
"frac" 0,
"ordn" 0,
"zero" 0;
}
æ±ã¢ã¸ã¢ã®æå
é¢é£ããããããã£: font-variant-east-asian
ããã«ããããã©ã³ãå
ã®ãã¾ãã¾ãªä»£æ¿åå½¢ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ããä¸ã®ä¾ã§ã¯ãé常ã®åå½¢ã®æååã表示ãã¾ããä¸ã®ããã¯ã¹ã®ãã§ãã¯ãå¤ãã¨ã jis78 åå½¢ã®æåã®ã¿ã表示ããã¾ãã以ä¸ã®ã³ã¼ããããã¯å
ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
.container1 * {
font-variant-east-asian: normal;
}
.inactive.container1 * {
font-variant-east-asian: jis78;
}
.container2 * {
font-feature-settings: "jp78" 0;
}
.inactive.container2 * {
font-feature-settings: "jp78";
}
ã¡ã¢: ãããã®åå½¢ã¯ãã©ã³ããµã³ãã«ããã³ãã¼ããããã®ã§ãæ£æãæå³ãããã®ã§ã¯ããã¾ããã
ãã©ã³ãã®ç°ä½åã®ä¸æ¬æå®
font-variant ããããã£ã¯ãä¸è¨ã®ãã¹ã¦ãå®ç¾©ããããã®ä¸æ¬æå®æ§æã§ããnormal ã¨ããå¤ãè¨å®ããã¨ããã¹ã¦ã®ããããã£ãåæå¤ã«ãªã»ããããã¾ããå¤ã none ã«è¨å®ããã¨ãfont-variant-ligatures ã none ã«è¨å®ããä»ã®ãã¹ã¦ã®ããããã£ãåæå¤ã«æ»ãã¾ããï¼ã¤ã¾ããã«ã¼ãã³ã°ãæ¢å®ã§ãªã³ã«ãªã£ã¦ããå ´åã¯ãããã§ none ã®å¤ãä¸ãã¦ããã«ã¼ãã³ã°ã¯ãªã³ã®ã¾ã¾ã§ãï¼ã以ä¸ã®ã³ã¼ããããã¯å
ã® "Play" ãã¯ãªãã¯ããã¨ã MDN Playground ã§ä¾ãç·¨éã§ãã¾ãã
.container1 * {
font-variant: common-ligatures discretionary-ligatures contextual
diagonal-fractions;
}
.inactive.container1 * {
font-variant: none;
}
.container2 * {
font-feature-settings: "dlig", "liga", "calt", "frac";
}
.inactive.container2 * {
font-feature-settings:
"dlig" 0,
"liga" 0,
"calt" 0,
"frac" 0;
}
ãã©ã³ãç¹æ§ã®è¨å®
font-feature-settings ã¯ãååã®ä»ããå©ç¨å¯è½ãªãã¹ã¦ã® OpenType ç¹æ§ã¸æç¤ºçã«ã¢ã¯ã»ã¹ã§ããã使°´æºæ§æãã§ããããã«ãããå¤ãã®å¶å¾¡ãå¯è½ã«ãªãã¾ãããç¶æ¿ã¸ã®å½±é¿ããåè¿°ããããã«ã1 ã¤ã®è¨å®ã夿´ãããå ´åã«ã¯ãæååå
¨ä½ãå宣è¨ããªããã°ãªãã¾ãã (CSS ã«ã¹ã¿ã ããããã£ã使ç¨ãã¦å¤ãè¨å®ãã¦ããå ´åãé¤ã)ããã®ãããå¯è½ãªéãä¸è¨ã®æ¨æºããããã£ã使ç¨ãããã¨ããå§ããã¾ãã
è¨å¤§ãªæ°ã®ç¹æ§ãèãããã¾ããä¸ã«ããã¤ãã®ä¾ã示ãã¾ããããããã«å¤ãã®ç¹æ§ãè¦ã¤ããããã®ãªã½ã¼ã¹ãããã¤ãããã¾ãã
ä¸è¬çãªæ§æã¯æ¬¡ã®ããã«ãªãã¾ãã
.small-caps {
font-feature-settings: "smcp", "c2sc";
}
仿§æ¸ã«ããã¨ã4 æåã®ç¹æ§ã³ã¼ãã ããæå®ããããã³ã¼ãã®å¾ã« 1 ãæå®ãããã¨ã§ç¹æ§ãæå¹ã«ãããã¨ãã§ããã¾ãã 0 ãæå®ãããã¨ã§ç¹æ§ãç¡å¹ã«ãããã¨ãã§ãã¾ããããã¯ãååã®ãããªæ¢å®ã§æå¹ã«ãªã£ã¦ããç¹æ§ããæ¬¡ã®ããã«ãã¦ç¡å¹ã«ãã¦ããããå ´åã«ä¾¿å©ã§ãã
.no-ligatures {
font-feature-settings:
"liga" 0,
"dlig" 0;
}
font-feature-settings ã®ã³ã¼ãã«ã¤ãã¦ãã詳ãã
- 'The Complete CSS Demo for OpenType Features' (can't vouch for the truth of the name, but it's pretty big)
- A list of OpenType features on Wikipedia
CSS ã®æ©è½æ¤åºãå©ç¨ããå®è£
ãã¹ã¦ã®ããããã£ãåçã«å®è£
ããã¦ããããã§ã¯ãªãã®ã§ãCSS ãè¨å®ããã®ã«æ©è½æ¤åºã使ç¨ãã¦æ£ããããããã£ã使ç¨ã§ããããã«ããfont-feature-settings ã代æ¿ã¨ãã¦ä½¿ç¨ããã®ãããã§ãããã
ä¾ãã°ãã¹ã¢ã¼ã«ãã£ããã¯ããã¤ãã®æ¹æ³ã§è¨å®ãããã¨ãã§ãã¾ãããåºæ¬çãªå¤§æåã«é¢ããããæçµçã«ãã¹ã¦ãã¹ã¢ã¼ã«ãã£ããã«ãããå ´åã¯ã font-variant-caps ã使ã£ã 1 ã¤ã®ããããã£å¤ã§ã¯ãªããfont-feature-settings ã使ã£ã 2 ã¤ã®è¨å®ãå¿
è¦ã«ãªãã¾ãã
.small-caps {
font-feature-settings: "smcp", "c2sc";
}
@supports (font-variant-caps: all-small-caps) {
.small-caps {
font-feature-settings: normal;
font-variant-caps: all-small-caps;
}
}
é¢é£æ å ±
>CSS ã® OpenType æ©è½ã® CSS ã«ãã宿¼
ã¦ã§ããã©ã³ãè§£æãã¼ã«
W3C æ¨æº
ãã®ä»ã®æç®
- OpenType æ©è½ã®ä½¿ç¨ - ã¢ãã
- CSS ã§ã® OpenType æ©è½ã®æ§æ - ã¢ãã