もうすぐ公開のUnicode 13で、超難字とされるビャンビャン麺の「ビャン」が追加される。 https://t.co/NuP5Tja8dk
Text Rendering Hates You Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others. I’ll be assuming you want to support arbitrary text provided by users with custom fonts, colors, and styles with line-wrapping and support for text-selection. Basic
Pythonでは、複雑なデータの交換や保管する場合、よく Pickleモジュール が使われます。Pickleはデータを外部に出力可能な形式に変換してファイルに変換したり、サーバと通信して送信したりします。 Pythonのconcurrent.futures や multiprocessing を使って並列処理を行う場合も、プロセス間のデータ交換に Pickle が使われています。 PEP-574 Pickle protocol 5 with out-of-band data Pickleは汎用的なデータフォーマットを定義していて、データを作成したハードウェアと異なるアーキテクチャのハード上で読み込んでも、ただしく元のデータを再現できるようになっています。 しかし、現在ではPickleの使い方は多様化しており、そういった汎用的なデータフォーマットだけでは効率的にデータの転送や保管を行えないこ
UTF8文字列生成を最適化するライブラリ Utf8StringInterpolation を公開しました 2023-10-13 Utf8StringInterpolationという新しいライブラリを公開しました!UTF8文字列の生成と書き込みに特化していて、動作をカスタマイズした文字列補間式によるC#コンパイラの機能を活用した生成と、StringBuilder的な連続的な書き込みの両方をサポートします。 Cysharp/Utf8StringInterpolation 基本的な流れはこんな感じで、Stringを生成するのと同じように、UTF8を生成/書き込みできます。 using Utf8StringInterpolation; // Create UTF8 encoded string directly(without encoding). byte[] utf8 = Utf8String
表題のことについて検証してみましょう。 目次 目次 前提 Webページ上で独自のフォントを読み込むには フォントファイルのサイズ フォントファイルのサイズを抑える工夫 フォントファイルを分割し、必要に応じて読み込む フォントファイルを圧縮する 前提おわり 本題 規格によると 4.5. Character range: the unicode-range descriptor 4.5.1. Using character ranges to define composite fonts 実験する 準備 実験方法 実験結果 まとめ 前提 本題に入る前に、Webフォントを配信する際の前提について説明します。分かっている方は読み飛ばしてもらって大丈夫です。 Webページ上で独自のフォントを読み込むには CSSの font-family 属性に使いたいフォント名を書くことで、Webページ上のコンテン
これはRubyアドベントカレンダーとSmartHRアドベントカレンダーの17日目の記事です。 qiita.com qiita.com 12/9 に nagano.rb で文字について発表して、同じのを 12/15 に SmartHR 社内で LT しました。 スライドはこちら speakerdeck.com 同じ文字? この2つの文字は同じものに見えますか? 実はこれは同じ文字を異なるフォントで表示したものです。 ゴシック体と明朝体で字体が異なって見えるのと同じことなので、同じ文字と言えるでしょう。 コンピュータで扱う文字は文字ごとに番号(コードポイント)が振られていて、プログラムから見たときには同じコードポイントであれば同じ文字として扱われます。 Ruby で文字のコードポイントを得るには String#ord を使用できます。 '直'.ord.to_s(16) #=> "76f4" '
皆さんは「垈」という漢字を見たことがあるでしょうか? 「ない」と答えた方、まあそれが普通だと思います。ご安心を。 「ある」と答えた方、あなたは漢字に相当詳しいか、あるいは山梨県民ではないでしょうか。 実はこの「垈」という字、山梨県にしか存在しない漢字なのです。 マンガをまとめて読む(スワイプで次に進む) 「垈」の秘密 関連記事 「訃報」「愛猫」「手風琴」って読める? 常用漢字表に掲載されている“難読漢字” ニュースなどでよく見る表現も、意外と分からん……。 「稟議=りんぎ」「洗浄=せんじょう」ではない? 現代人には分からない“漢字の本来の読み方” 学校のテストで書いたら、逆に減点されそう。 ディズニーランドを貸し切りにするのが異常に難しい「お金以外」の理由【漫画版】 ぐぬぬ……。 Suicaはなぜ「充電なし」でいつまでも使えるのか?【漫画版】 サイズ的に電池入ってなさそうだけど。 「大人」
Intl.Segmenter についておさらい JavaScript には Intl と呼ばれる国際化 API があり、日時や数値のフォーマットを始めとする国際化に便利な機能が揃っています。Intl.Segmenter はこの Intl の一機能で、文字・単語・文章単位での文字列分割を可能にします。 文字単位での分割では複数のコードユニットやコードポイントを持った文字を考慮し、正確に見た目上の1文字(書記素)で分割できるので、絵文字を含んだ文字数のカウントなどに便利です。 const segmenter = new Intl.Segmenter("ja", { granularity: "grapheme" }); console.log("🇯🇵👨🏻💻".length); // ❌ 11 console.log([..."🇯🇵👨🏻💻"].length); // ❌
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar ⇔ StreamRelay.bat InputStream/OutputStreamにReader/Writerを被せる事で、(文字コードを含む)文字列を扱うことができるので、入力の文字コードと出力の文字コードを異なるオプション指定をすれば、文字コード変換を行う事ができる オプション 使うオプションは、 - -LocalCharset - -RemoteCharset 通信方向ごとに個別に設定したい場合は↓ -LocalRequestCharset -LocalResponseCharset -RemoteRequestCharset -RemoteResponseCharset レスポンスだけ文字コード変換したい。という時に使える 文字コード変換
ここも考慮すると 斎藤 と書くと 69.3% 正解で、 斉藤 と書くと 30.7% 正解になります。 また子供のころに 斎 が難しかったので 斉 と書いていたケースも考えると、この二つの差は少し縮まりまるかもしれません。 とりあえず確立論的には 斎 と書けば…なんとなく、あたるかも…しれない? (ちゃんと本人に確認とりましょう!!!) 斉 | 法務省 戸籍統一文字情報 詳細表示 の正字 斎 | 法務省 戸籍統一文字情報 詳細表示 の正字 人数情報 「斎藤」「斉藤」「齋藤」「齊藤」・・この差って何? | 東洋経済オンライン 拝啓 斎藤さん 先日エンジニアとしてサイトウさんが入社したときに「サイトウのサイってどう書きますか…? Unicodeで教えてください。」という、いつものあれが発生したのでそろそろサイトウについて理解してみようと思いました。 また以前に 『異体字の世界”ワタナベ”』| 漢
近年は翻訳アプリの精度が少しずつ向上してきたことで、海外で作られたゲームやアプリが最初から日本語に対応しているケースも増えてきました。しかし、日本語をよく知らない人が翻訳すると、「日本語表記なのに漢字が中国語のもの」という状況もよく発生します。「Your Code Displays Japanese Wrong」はそんな日本語の漢字表記について端的に説明したページで、開発者にこのページへのリンクを共有することで修正依頼をかけやすくなります。 Your code displays Japanese wrong | Your Code Displays Japanese Wrong https://heistak.github.io/your-code-displays-japanese-wrong/ 漢字はそもそも中国で生まれた文字ですが、日本で使われている漢字と中国で使われている漢字は微妙
いまだに Emacs を使ってるんだけど、最近フォント周りを調べてみたのでメモ。 異体字セレクタ Emacs は異体字セレクタに対応してないとずっと思っていたんだけど、実は単にフォントの問題で、ちゃんと異体字セレクタに対応したフォントを使えば異体字を表示することができた。 普段使ってる Migu 1M フォントだと Emacs 上で異体字はこんな感じに表示される。 異体字セレクタに対応している花園明朝Aフォントを使うとちゃんと表示できる。 でも明朝体ではなくゴシック体を使いたい。IPAexゴシックフォントは一部しか異体字セレクタに対応していない。「禰󠄀豆子」は表示できるけど「令󠄂和」は表示できない。 全体的に Migu 1M フォントを使いつつ、「令」(U+4EE4)は花園明朝A、「禰」(U+79B0)はIPAexゴシックを使うということもできる。 (set-fontset-font
アニメ公式での竈門禰豆子の表記。禰を表示するのに中国語繁体字の字形を使っている。 どうやら、竈門禰豆子の禰の字について、しめすへんは正式には「ネ」の形という指定が存在しているようで、公式サイトでもわざわざフォントを変えて1、禰のしめすへんを「ネ」に変えています。中国語のフォントでは、しめすへんは常用漢字かどうかに関わらず、いつでも「ネ」の形をしているからですね。2 日本語フォント 禰 中国語フォント 禰 この、フォントを変える手法での字形変更は昔から行われていますが、中国語のフォントを使うわけなので、日本語のフォントのしめすへんとは形が少し違う問題があります。 他の方法としては、異体字セレクタと呼ばれる仕組みを使うと禰󠄁(しめすへんが「示」)と禰󠄀(しめすへんが「ネ」)は区別して出せます。この方法で変えられる字形は、日本語フォントの中で用意されている、他の字になじんだ字形を使うことがで
MySQL に独自 charset を追加できる…という話はずっと前に聞いたことあったけど、やったことなかったんでやってみた。 詳しくは MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.13 文字セットの追加 を。 マルチバイト charset は C でプログラムを書いてコンパイルする必要があるけど、1バイト charset はファイルを置くだけで追加できる。 1バイトの charset と言えばみんなご存知の JIS X 0201 ですよね。ということで、jisx0201 という charset を作ってみる。 JIS X 0201 のコードはこんな感じ: x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO
This grinning cat emoji has alert feline instincts with its eyes wide open. This kitty’s proud smile says, “please let me eat the rest of that tuna” and is the perfect face for cat lovers who want an alternative to the plain grinning face emoji. Use this emoji as a greeting for your crazy cat lady friends. Copy
B! 24 0 0 0 Macの中でGNU screenなどを立ち上げると文字化けすることがありますが、 その辺の問題についてのメモ。 Macでの文字化け問題 問題の確認 Windowsでの文字化け問題 HomebrewでインストールするGNU screenの文字化け対策 Macでの文字化け問題 Macの中でGNU screenを立ち上げたらファイル名の表示などが文字化けしたりすることがあります。 殆どの場合は日本語ファイル名で濁点を使ってる場合で、文字コードの問題です。 ただ、単純にUTF-8かShift_JISか、とかそういったものではなく、濁点や半濁点の扱いの特殊さによります。 MacではFinderでもターミナル上でも基本的にUTF-8で文字を扱いますが、 UTF-8の中でもいくつか文字の取り扱いに対して違うものが存在します。 FinderではNFD(Normalization F
この記事は JavaScript アドベントカレンダーの 4 日目の分です。 今やあちこちで使われている絵文字ですが、その中には 1 文字に見えるのに複数の文字 (符号位置) から構成されるものがあります。例えば「👨👩」という男女が並んだ絵文字は、U+1F468 MAN、U+200D ZERO WIDTH JOINER、U+1F469 WOMAN の 3 つの符号位置からなります。 JavaScript の正規表現でこのような絵文字にマッチさせようとすると正規表現パターンが長大になってしまいます。また、文字クラス [...] 内にこのような絵文字を記述すると、「U+1F468、U+200D、U+1F469 という符号位置の並び」ではなく「U+1F468、U+200D、U+1F469 のいずれかの符号位置」にマッチしてしまいます (/u フラグが有効な場合)。 これを解決するための提案
$utf8Str = "❶❷❸❹❺"; $sjisStr = mb_convert_encoding($utf8Str, 'SJIS-mac'); echo(mb_detect_encoding($sjisStr, ['UTF-8','SJIS-mac', 'SJIS-win', 'SJIS'])); // SJIS-win ← SJIS-macに変換したはずなのに、何故かSJIS-winと判定されてしまいます。 そもそもSJIS-macってなんだよって話ですが、単にMacJapaneseのエイリアスです。 従ってMacJapaneseと書いても同じく、正しく誤判定されます。 そしてコメント欄にThis is a bug in PHP's mbstring extension『mbstringエクステンションのバグじゃよ』という人が現れています。 間違ったコードを書いたときに自分のせいでは
ZWS uses zero width characters instead of the typical alphanumeric ones that URL shorteners use. When rendered, these characters appear invisible, but they're still there, which means that ZWS is able to use them to encode information about your URL. Hi, I'm Jonah, the creator of ZWS. I hacked together the first version of ZWS back in 2019, mostly just to see if the concept would actually work. It
SmartHR でプロダクトエンジニアをしている tmtms です。読み方がわからない(自分でもわからない)ので社内では tommy と名乗ってます。 2月に開催された社内LT大会第3回で「ショートカットと端末」というネタで発表したのですが、とても5分に収まる量ではなかったのでここにしたためておきます。 キーバインド macOSのテキスト編集のショートカットとEmacsとbashのキーバインドを比較するとこんな感じです。 control macOS Emacs bash A 行頭に移動 行頭に移動 行頭に移動 B 左に移動 左に移動 左に移動 C - prefix 中断 D 右文字削除 右文字削除 右文字削除/入力終了 E 行末に移動 行末に移動 行末に移動 F 右に移動 右に移動 右に移動 G - 中断 中断 H 左文字削除 ヘルプ 左文字削除 I - タブ タブ J - 改行 改行 K
この記事はUTF-8のバリデーションとオートマトンの続きです。 前回はUTF-8のバリデーションが8状態のオートマトン (DFA) で表現できることを見ました。状態と遷移を擬似コードで書けば次のようになるでしょう: -- 8つの状態 data State = START | TAILx1 | TAILx2 | TAILx3 | A | B | C | D -- 入力バイトに応じて次の状態を返す。次の状態が該当しなかったら Nothing を返す next :: Word8 -> State -> Maybe State +----+----+-----+----+ | a0 | a1 | ... | aN | 8ビット整数列 +----+----+-----+----+ | | | v v v +----+----+-----+----+ | m0 | m1 | ... | mN | モノ
Custom software development Tailored software solutions and software augmentation services to meet unique business needs, drive operational efficiency, and stimulate business expansion Read more Development teams Dedicated development teams and professionals that work exclusively on your project and ensure top-notch tailored solutions Read more IT consulting Expert guidance on leveraging advanced
概要 - Overview この辞書を Google日本語入力・ATOK・Microsoft IME などに導入することで、 GitHub, Slack, Qiita のようにコロン : をトリガーとして IME でも絵文字を入力することができるようになります。 「GitHub, Slack, Qiita 以外のアプリケーションでも GitHub, Slack, Qiita のように絵文字を入力したい」 という要望に応えるための IME 追加辞書です。 ちなみに GitHub や Qiita は英語で絵文字を探す必要がありますが、この辞書を利用することで GitHub や Qiita でも Slack のように日本語で絵文字を入力することができるようになります。 GitHub に MIT License で公開しており、現在は 8264 ペアの絵文字とその読みが収録されています。 👇辞書
環境依存文字を含むデータをCSV形式でやりとりするには 人名や地名の中には、環境依存文字(異字体など)が含まれていることがある。環境依存文字を含むExcelのシートをCSV形式でやりとりしなければならない場合、文字コードにUTF-8を指定するとよい。なお画面の住所録は、「テストデータ・ジェネレータ」によって作成した架空のサンプル用のデータを記事用に修正したものである。 「Microsoft Excel(エクセル)」で作成した表を、CSV形式で保存し、別のアプリケーションに読み込ませることはないだろうか。また、取引先にデータを送る際に、XLSX形式ではなく、CSV形式が要求されることもあるだろう。逆にCSV形式で受け取ったデータをExcelで読み込んで処理したいというケースもあり得る。 このような場合、環境依存文字(機種依存文字)が含まれていると、CSV形式に変換する際に、正しく文字が出力さ
「『生成AIを使ってこんなもの作ってみました』開発者LT大会」は、急速に発展しているChatGPTや生成AIといったAI技術を使って何かを作ってみた人たちがアイデアや成果を共有する、ログミーTech主催のイベントです。ここでPR TIMES社の土屋氏が登壇。「ChatGPTを使って文字コードを扱う負担を軽減できるか」という調査の内容と結果について紹介します。 Shun氏の自己紹介と、本セッションのアジェンダ Shun氏(以下、Shun):それでは、PR TIMES社の土屋が発表します。私の名前はShunといいます。PR TIMESに勤めていて、ソフトウェアエンジニアをやっています。 本日のアジェンダです。私の発表はどちらかというと、個人開発でChatGPTを使ったものを作って、それで実験をしてみたという内容になっております。 表題にもあるとおり、ChatGPTに文字コードのことを聞いてどん
検索文字 検索する ・調べたい文字を入力してください。(単文字のみで指定可能です) By using this site, you are allowing the configuration and use of cookies. For details, please see our Privacy Policy. Agree
This repository includes two versions of the Last Resort font: Last Resort and Last Resort High-Efficiency. Although both fonts can be installed at the same time—because they have different names—you are encouraged to download and install only the one that is expected to work in the environments that you use: The file LastResort-Regular.ttf is a font named Last Resort, and its 'cmap' table include
ある日のこと 僕の運営している『ブラウザで遊べる絵チャット(令和最新版)』に、このような投稿がされてしまいました。 正直こんな荒らしは毎日のようにあるのですが、普段であればすぐに他のユーザーによって通報され、対処されます。 しかし、このユーザーは、何故か他ユーザーに通報されることなく、荒らし続けることができていました。 スクショをよく見ていただきたいのですが、通常であれば、「善良ユーザーA」のように発言の横にユーザーが名が表示され、そのユーザー名をクリックすることでプロフィールを表示することができるようになっています。 しかし、荒らしているユーザーには、なんと名前がないのです。 名前がないと、ユーザー名を押下することができず、プロフィールも表示できません。 違反行為の通報は、プロフィールから行うようになっているため、このユーザーは他ユーザーから通報されることなく、好きなだけおちんちん祭りを
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く