多国語サイトのfont-family(メモ)
2017年夏、多国語サイトのリニューアルお仕事を経験し、この時初めて『フォントファミリー』指定の壁にぶつかったので、MEMOしておきます。
![css で指定するハングル語のフォント](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhowDMCN2k5yxfsLJ5q2wZxIV6FcO8MXtfhi0IEYUAHJmbiq9Ia83wO3f_6_73Tw-fzmpNoFBQsNttuPHTPdLarl3LBNtiSLw0WIOEB1TlY90CXZ47BtyV8pEHeeOYXU7Tj4WW0flmXlC0/s1600/WebDesign.jpg)
多国語サイトの経験は1度だけ。しかも3か国(日英韓)だったので、bodyのfont-familyにちょちょっと加えるだけでよかった(なんとか表示された)のに、いきなり13か国と言われ、「なにそれ~~~!Σ( ̄□ ̄;)」と大慌てで検索!
しかし、なかなかよい方法が見つからず、納品直前まであたふた…
全く自信はないですが、とりあえずこれで対応出来た。という方法を書いておきます。
①各国のページのランゲージ(lang="ja")を分ける(当たり前だけど)
②デフォルトのフォントファミリーを決める
とか…body,input,○,○,○,○, {font-family: sans-serif;}
③各国用フォントファミリーをせっせと書く
●日本語 html[lang="ja"] body,input,,,,, {font-family: "Hiragino Kaku Gothic ProN" , "メイリオ" , "meiryo" , "Osaka" , "MS P Gothic" , "MS Pゴシック", sans-serif;} ●英語 html[lang="en"] body,input,,,,,,{font-family: sans-serif;} ●ドイツ語 html[lang="de"] body,input,,,,,,{font-family: sans-serif;} ●ポーランド語 html[lang="pl"] body,input,,,,,,{font-family: sans-serif;} ●ポルトガル語 html[lang="pt"] body,input,,,,,,{font-family: sans-serif;} ●トルコ語 html[lang="tr"] body,input,,,,,,{font-family: sans-serif;} ●イタリア語 html[lang="it"] body,input,,,,, {font-family: 'Times New Roman' , 'Times' , serif;} ●フランス語 html[lang="fr"] body,input,,,,,,{font-family: 'GrasItalique' , sans-serif;} ●スペイン語 html[lang="es"] body,input,,,,,,{font-family: 'NigritaCursiva' , sans-serif;} ●ロシア語 html[lang="ru"] body,input,,,,, {font-family: 'Times New Roman' , 'Arial';} ●中文繁體字 html[lang="zh-CN"] body,input,,,,, {font-family: "微軟正黑體" , sans-serif;} ●中文简体字 html[lang="zh-TW"] body,input,,,,, {font-family: "微软雅黑" , sans-serif;} ●韓国語 html[lang="ko"] body,input,,,,, {font-family: "Gulim" , sans-serif;} ●タイ語 html[lang="th"] body,input,,,,, {font-family: 'Tahoma' , sans-serif;} ●アラビア語 html[lang="ar"] body,input,,,,, {font-family: 'Simplified Arabic' , 'Lucid Grande' , sans-serif; }
…といった感じで終了。
さんざん調べましたが、ドイツ語、ポーランド語、ポルトガル語、トルコ語の専用フォント?が分からなかったので、英語と同じにしてますが、クライアントから指定がある場合はそれをどうぞ… ※sans-serif が正解ではありません。
中文&ハングルは、個人的に丸ゴシ系が好きなのでこれにしてるだけです。