タグ

ブックマーク / takenspc.hatenadiary.org (5)

  • 東アジアの文字幅 (East Asian Width) の判定 - 中途

    Unicodeの文字が全角で表示されるか半角で表示されるかは東アジアの文字幅特性値がヒントを与えてくれるそうです。(日語の場合は)この値がNa(狭)、N(中立)、H(半角)だと半角、W(広)、F(全角)、A(曖昧)だと全角として扱うことが推奨されているようです。 Pythonではunicodedataモジュールを使うとこの特性値を取得できますが、JavaScriptにはそのような関数は見当たりません。ですが、Unicode Consortiumが、どの文字がどの東アジアの文字幅を持つかのデータファイルを公開しているので、そこから判定用のコードを機械的に生成できるはずです。 で、以下が実際に生成したコードです。データファイルに、データファイルに出現しない文字はNとなるとあるので、以下ではN以外(F、H、W、Na、A)についてのみチェックを行い、それ以外をNと判定するようにしています。 コメ

    東アジアの文字幅 (East Asian Width) の判定 - 中途
  • 添付忘れチェック - WIP

    Thunderbird 3 の添付忘れチェックで日語のキーワードが反応しないのは、正規表現の問題。 var keywordsFound = []; for (var i = 0; i < keywordsArray.length; i++) { var kw = escapeRegxpSpecials(keywordsArray[i]); var re = new RegExp("(([^\\s]*)\\b|\\s*)" + kw + "\\b", "i"); var matching = re.exec(mailData); // Ignore the match if it was a URL. if (matching && !(/^http|^ftp/i.test(matching[0]))) keywordsFound.push(keywordsArray[i]); } new

    添付忘れチェック - WIP
  • 最近のユーザスタイルシート (一部) - WIP

    @font-face { font-family: Meiryo; src: local('YOzFontN Pro R'); } @font-face { font-family: 'メイリオ'; src: local('YOzFontN Pro R'); } /* bug 475891 */ /* @font-face { font-family: Meiryo; src: local(Verdana); unicode-range: U+0-17F, U+192, U+1A0-1A1, U+1AF-1B0, U+1FA-1FF, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323, U+37E-3CE, U+401-40C, U+40E-44F, U+451-45C, U+45E-45F, U+490-491, U+

    最近のユーザスタイルシート (一部) - WIP
  • フォントの指定を上書き - 2009-05-07 - 中途

    ireflow の影響がいろいろと出てるなぁ…… 製作者 CSS で指定されているフォントを上書きする、という話。 p { font-family: foo, sans-serif; } 例えば、上のような CSS をあたかも以下のように扱わせる。 p { font-family: bar, sans-serif; } やりかた userContent.css とかに @font-face ルールを書く。 @font-face { font-family: foo; src: local(bar); } trunk の nightly では、システムにインストールされているフォントでも上書きできた。

    フォントの指定を上書き - 2009-05-07 - 中途
  • GetAnonymousElementByAttributeNS - WIP

    とりあえず、こんな感じに書けるかな…… diff -r a0b731e5e5ad content/base/src/nsDocument.cpp --- a/content/base/src/nsDocument.cpp Thu Apr 16 18:40:46 2009 -0700 +++ b/content/base/src/nsDocument.cpp Fri Apr 17 13:02:50 2009 +0900 @@ -4598,77 +4598,92 @@ nsDocument::GetBindingParent(nsIDOMNode* return NS_ERROR_FAILURE; nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(content->GetBindingParent())); NS_IF_ADDREF(*aResult

    GetAnonymousElementByAttributeNS - WIP
    kageroh_
    kageroh_ 2009/04/18
  • 1