

Twitterの初歩的な話になるのですが、ツイートの文面中にある文字が「全角文字扱い」の文字（最大140文字までしか入らない文字）なのか、それ以外の文字（最大280文字まで入力できる文字…言うなれば「半角文字扱い」の文字）なのかの判定は、どこで行われているのでしょうか？

このURLを叩けばそのものズバリの正規表現パターンが出てくるよ、あるいは、このサイトの英文仕様書に明記してあるよ、といった情報があれば教えていただけないでしょうか。

（ただ当方、Twitter
APIの使い方を全く知らないので、もし「ブラウザからAPIに問い合わせて結果を取得しているだけなので、判定アルゴリズムの正確な挙動は非公開」ということであれば潔く諦めます。）

ちなみに今現在、手元で自分専用に使っているコードでは、  
U+2000～U+10FFFFは全角扱い  
それ以外は半角扱い  
という超手抜きの実装をしています。

（ほとんどCJKとラテン文字だけしか書かないので、これで実務上は9割がた間に合うのです。）


CC BY-SA 4.0
2022-03-30T21:05:33.613
88108
2022-03-30T22:10:02.033
52036
question
twitter unicode
Twitterでの「全角扱い文字」と「半角扱い文字」の判定基準


[Counting characters](https://developer.twitter.com/en/docs/counting-
characters)で説明されています。基本的にはいわゆる全角文字として扱い、次の範囲は半角文字という考え方のようです。

  * the Latin-1 code pages. (U+0000 - U+10FF).
  * general punctuation up to and including the Zero Width Joiner (used to combine emoji and other glyphs) (U+2000-U+200D).
  * general punctuation excluding U+200E and U+200F, which are Unicode directional marks (U+2010-U+201F).
  * quotation marks (U+2032-U+2037).

より正確には <https://github.com/twitter/twitter-text/tree/master/config>
のJSONファイルに範囲が記述されています。

これとは別に絵文字は全て全角文字として扱うようです。

異体字なども全角１文字なのかな…？


CC BY-SA 4.0
2022-03-30T22:10:02.033
88110
2022-03-30T22:10:02.033
4236
88108
answer