タグ

2020年11月6日のブックマーク (6件)

  • Go で実装する Grapheme Cluster を基に文字を数えるバリデーション - アルパカ三銃士

    Unicodeテキストを1文字ずつ分割するアルゴリズムをUnicodeの仕様として定められており、grapheme cluster (書記素クラスタ)と呼ばれる。 hydrocul.github.io 最近 grapheme cluster というものを知った。(こういう概念は知ってたけど名前が知らなかった) 簡単に説明すると例えば á という文字は人間にとって 1 文字と認識するが、コンピューターの世界ではコードポイント 2 つ(U+0061 U+0301)で構成される。 この令和の時代ではスマホが普及しているので何かしらのサービスを開発するとき、よくある例として Twitter のようにウェブアプリとモバイルアプリが存在する場合あり、例として次のようなシチュエーションが考えられる。 モバイルアプリでメッセージの入力。140文字の制限があるので入力するたびにそれが分かるようにカウンター

    Go で実装する Grapheme Cluster を基に文字を数えるバリデーション - アルパカ三銃士
    quodius
    quodius 2020/11/06
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
    quodius
    quodius 2020/11/06
  • 絵文字の連結と、書記素クラスター判定

    みんな絵文字好きすぎだろ… というRT状況なわけですが。 emoji zwj sequences 元々、👪 (U+1F46A)という、1文字で家族を表す絵文字があったわけですが。 「白人の絵しかないのはおかしい」とか「LGBT に配慮しろ。なぜ男女ペアしかないんだ」とかいろいろと地雷になってしまった結果、 合字で解決しようとかいう仕様が Unicode に入ってしまって今に至っているわけですが。 ちなみに、単に合字になるというだけじゃなくて、 「合字は1文字として扱え」という仕様も決まっています。 仕様は以下のページにあり。 Unicode® Standard Annex #29 UNICODE TEXT SEGMENTATION まあ、仕様があるといってもそれにアプリが対応しているかどうかというとまちまち。 以下の動画でのChromeの動作みたいに、「ページ中ではちゃんと1文字として扱

    絵文字の連結と、書記素クラスター判定
    quodius
    quodius 2020/11/06
  • Javaのコマンドラインアプリケーション向けのフレームワーク、picocliで遊ぶ - CLOVER🍀

    これは、なにをしたくて書いたもの? ちょっと前から、picocliというJavaでのコマンドラインアプリケーション向けのフレームワークがあるのが気になっていまして。 picocli - a mighty tiny command line interface これまでJavaのコマンドラインアプリケーション向けのライブラリなどといえば、こちらを使っていました。 args4j parent - Args4j Commons CLI – Home 個人的にはargs4jをよく使っていましたね。 picocliもかなり良さそうなので、1度試しておこうかなと。 picocli 繰り返しますが、Javaのコマンドラインアプリケーション向けのフレームワークです。 picocli - a mighty tiny command line interface GitHub - remkop/picocli

    Javaのコマンドラインアプリケーション向けのフレームワーク、picocliで遊ぶ - CLOVER🍀
    quodius
    quodius 2020/11/06
  • Windows標準のフォントだけで異体字(IVS)を扱う

    Windows8以降であれば、Windowsに添付されているMS明朝、MSゴシック、メイリオのフォントだけで、IVS付の文字(異体字)を扱えることがわかった。 Unicode版msearchで異体字(IVS)が正しく扱えるかどうかを確認するためにIVS付の異体字について調べていたところ、Windows 8以降であれば、Windows添付のフォント(MS明朝、MSゴシック、メイリオ)だけでも、異体字が扱えることがわかった。(今頃になってようやくわかった、が当のところだけれども。) IPAmj明朝フォントほどには、多くの異体字を収録していないようだけれども、Windows標準のフォントで異体字(IVS)を扱えるというのは大きい。Webで使うことができるので。 まず、異体字の入力をできるようにするために、MS-IMEの設定を変更する。朱書きの箇所をたどっていき、「変換文字制限をしない」に設定す

    Windows標準のフォントだけで異体字(IVS)を扱う
    quodius
    quodius 2020/11/06
  • 実録!!データ構造リファクタリング -- 僕とメッセージ機能の300日戦争 - Qiita

    みなさんもきっとそうだと確信いたしておりますが、プログラマというのは、どういうわけか実装のちょろまかしには頭がまわるもので、今や丁寧なコードを書く人の鏡とまで言われるワタクシも、それはそれは手抜き方法ばかりうかんだものでした。 技術投資のいくつかは、不意ながら技術的負債になりまして、いろいろと世間様にもご迷惑をおかけした次第です。みなさんもきっとそうだと思いますが。 この話は、そんな「誰にでもある」小さな事件のひとつです。1 この記事は CrowdWorks Advent Calendar 21 日目の記事です。 昨日は @tmknom さんの 「アプリケーションアーキテクチャに関するポエム」 でした。 設計に関するトピックは幅広く、かなり広範な知識が求められますよね!早く DDD を読まねばという気分になりました(笑)。 さて、この記事は、著者がここ1年ほど携わった簡単なデータ構造の

    実録!!データ構造リファクタリング -- 僕とメッセージ機能の300日戦争 - Qiita
    quodius
    quodius 2020/11/06