サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Google I/O
qiita.com/496_
はじめに AppleのIME APIはドキュメントを読んだだけでは実装できないと思うので、わりと有用な記事になるかもしれません。 NSTextInputClient Objective-Cだと10.5以降、Swiftだと10.10以降に対応という楽しいProtocolです。 他のIME APIと同様に、自前のTextViewを作るときくらいにしか使われません。 (https://developer.apple.com/reference/appkit/nstextinputclient?language=objc) 大まかな実装の手順は以下のとおり。 NSView<NSTextInputClient>を継承したViewを作る このView上に編集対象のテキストを表示可能にする NSTextInputClientの関数を実装する これで、IMEを正しく扱うことができます。 WindowsのT
前置き / Apple Color Emoji on iOS 10+ Apple Color EmojiはmacOS / iOSで使われているカラー絵文字フォントです。 ここではその中でもiOS 10以降に搭載されているApple Color Emojiのフォントの中身の画像を解析してデコーダを公開した話をします。 解析期間: 2018/01/14, 2018/07/18 - 2018/08/13 デコーダ: https://github.com/cc4966/emjc-decoder カラー絵文字フォント (OpenType) 世には4種類のカラー絵文字フォントの仕様がある COLR / CPAL Windowsのやつ CBDT / CBLC Androidのやつ SVG␣ / CPAL Adobe/Mozillaが推進してるやつ sbix | 今回の話 iOS / macOSのやつ S
Text Services Framework (TSF) とは TSFはIMEとアプリケーションの間の層で、IMMの後継のようなものです。 IMMと大きく異なるのは、未確定文字列の描画の義務がアプリケーションにあるということです。 (IMMではIMMにいい感じに未確定文字列を表示してもらうことが可能でした) TSFに対応したアプリケーションでは以下の内容を実装するこのになります。 TSF-awareなアプリケーションだという宣言 IMEからのテキストの取得 IMEからのテキストの変更 IMEからの選択範囲の取得 IMEからの選択範囲の変更 テキストの範囲からディスプレイ上の座標範囲の取得 ディスプレイ上の座標からテキスト座標の取得 IME側にテキスト、選択範囲、レイアウトの変更等を通知する コード的に言えば、以下のような内容にあたります。 ITextStoreACPを継承したクラスの用意
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? カラー絵文字とは ここでカラー絵文字と言っているのは、🗻や🗾などのように、環境によってはプレーンテキストであるにもかかわらずカラフルに表示される文字のことです。 カラー絵文字が表示される二つの方法 画像が表示されている サイトやアプリケーションによっては定義された文字列が対応する画像に差し替えられて、さも文字であるかのように表示されるものがあります。 こちらの話には全く興味がないので、これ以上は省きます。 フォントがカラフルな文字を持っている 数年前まではプレーンテキストには色という概念が存在しませんでした。 そこに色の概念が入り込
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? IMEとは 残念ながら、キーボードのキー数はUnicodeのコードポイント全てをカバーするほど多くはありません(桁が3つほど足りませんね)。 そのため様々な文字を入力する必要のある言語では、その入力の際にInput Method Editorと呼ばれるものを挟みます。 例えば日本語では入力した文字列のかなを入力し、それを適切に漢字などに変換するという実装になっています。 例えば、 Microsoft IME Google日本語入力 ATOK SKKなど アプリケーションはキーボードからではなく、IMEのAPIを通して文字列を受け取ること
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? OpenType OpenTypeというのは世界中で最も使われているフォントファイル形式の仕様です。 仕様はこことかにあります。 これを理解すればだいたいOKです。 THE END さて、仕様を読むのが面倒な方は下の続きもどうぞ。 OpenTypeフォントの構造 簡単にまとめると以下のような構造です。 ヘッダ データ 簡単ですね。 そして、このヘッダの中には それがどういう情報であるのか 見るべきデータがどこにあるのか が書かれています。 データの中にもまたヘッダがあることがあります。 そこにもやはり、それがどういう情報であるか、次に見
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 簡易・縦書きエディタの作り方 テキストファイルがバイナリデータであることを理解する 文字を表示するためにはフォントが必要であることを理解する ここまで理解できればあとは作るだけです 文字列に対応するグリフをビットマップデータにするプログラムを書く ビットマップデータをいい感じに配置するプログラムを書く マウスやキーボードにいい感じに反応するプログラムを書く 各OSのIMEといい感じにやり取りするプログラムを書く 細かいところを作る 完成 実際の内容 1.~2.と6.の内容はまた別の機会に譲ることにします。 今回は3.から5.までの内容を
このページを最初にブックマークしてみませんか?
『@496_のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く