我々は現在、以下のフォント規則を使用している:特定の文字に使用する代替フォント
body {
font-family: Meiryo, Verdana, sans-serif;
}
これはうまく動作します。 Meiryoは日本語フォントなので、\
のコードポイントは¥
です。これにより、¥o/
や¯¥_(ツ)_/¯
などの絵文字に問題が発生します。
Meiryoがアクティブな場合でも、@font-face
とunicode-range
を使ってVerdanaの\
を使用したいと考えています。私は...正直にそれが時々やっているのか分からない
@font-face {
font-family: Meiryo;
src: local(Meiryo);
}
@font-face {
font-family: Meiryo;
src: local(Verdana);
unicode-range: U+5C;
}
:
私は、次の様々な組み合わせを試してみました。 Meiryoを使用しているように見えますが、太字のテキストはすべて間違っていて、ベースラインが変更されています。これはチェーンの高さやページの全体的なレイアウトにチェーン反応のような影響を与えます。私は事の種類を「<span style="font-family: Verdana, sans-serif;">\</span>
で\
を置き換える」サーバー側をやったほうが良いと思いますよう
私はほとんど感じ...
は、合理的な私の試みのいずれかであるか、私は試してみてください他のものはありますか?
(function fixBackslashes() {
var walker = document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT,null,false),
node, offset, span;
while(node = walker.nextNode()) {
if(node.parentNode.className == 'bs') continue;
if((offset = node.nodeValue.indexOf('\\')) > -1) {
node = node.splitText(offset);
node.splitText(1);
span = document.createElement('span');
span.className = 'bs';
span.style.cssText = // TODO: Move this to stylesheet
"display:inline-block;" +
"text-decoration:inherit;" +
"transform:scaleX(-1);";
node.parentNode.replaceChild(span,node);
span.appendChild(document.createTextNode("/"));
}
}
})();
は、基本的には、水平にミラーリングスラッシュとテキストノードにバックスラッシュを置き換えます
は、ここで私が作ってみた「の回避策」です。 「作品」という言葉の定義の一部として機能します。
これはまだ問題ですか? O_o私はWindowsコードページなどのバグだと思っていましたが、適切なUnicodeコードポイントで廃止されました。 – deceze
'' maybe? – zer00ne
@ zer00ne No luck - レスポンスヘッダーには既に 'Content-Type:text/html; charset = utf-8'とにかく。 –