絵文字スキントーン修飾子:プログラマティック処理ガイド
絵文字が複数の肌の色を持っていることは秘密ではありません。特にテキストやソーシャルメディアでは、非常に人気があります。 ✊?? (Rising Black Fist)絵文字は、絵文字の世界絵文字賞によって「2020年のベスト絵文字」と名付けられました。
各肌の色は修飾子であり、多くの絵文字は、特定の文字に対応する修飾子と基本的なエンコーディングで構成されています。残念ながら、すべての絵文字ライブラリが修飾子をサポートするわけではありません。しかし、その人気を考えると、絵文字のスキントーン修飾子は、「ケーキのアイシング」機能以上のものです。さらに、よりモジュール式で効率的なコードを書くことができるため、それらは賢い作業方法でもあります。
したがって、この記事の目的は、絵文字修飾子をプログラムで処理する方法を把握することです。このようにして、肌の色調がサポートされていない状況に遭遇したり、他の絵文字のカスタムバリエーションを作成したい場合は、何をすべきか知っています。
FitzPatrickスキントーングレーディング方法
皮膚トーン修飾子は、Unicode 8.0の一部として2015年に正式に絵文字に追加されました。それらは、人間の肌の色調の正式な分類であるFitzpatrick肌のトーン定格方法に基づいています。次の表は、絵文字のキャラクターがフィッツパトリックのタイプとどのように一致するかを示しています。
最も単純なユースケースでは、これらのキャラクターの1つが肌のトーン修飾子をサポートする絵文字に取り付けられている場合、絵文字の肌のトーンが変わります。
言い換えると: ? ? = ??
CSSを使用して皮膚色の修飾子を適用します
CSSを使用して絵文字の皮膚トーンを切り替えるには、基本的な絵文字の文字(?)から始めて、 ::after
pseudoセレクターを使用してスキントーンを取り付けます。
レンダリングされた絵文字文字を使用することに加えて、Unicode Hexadecimalコードを使用することもできます。
JavaScriptを使用して、肌の色の修飾子を削除および切り替えます
処理されている絵文字が既にスキントーン修飾子を適用している場合はどうなりますか?これを行うには、CSSを超えて行く必要があります。 JavaScriptを使用した例は次のとおりです。
ここで何が起こっているのですか?まず、フィッツパトリックタイプ4のベビー絵文字から始めます。次に、皮膚トーン修飾子を検索してストリングから削除するremoveModifier
関数に渡されます。修飾子がない絵文字があるので、好きな修飾子を追加できます。
このアプローチは多くの絵文字で機能しますが、他の修飾子を導入する際に問題があります。だから今、私たちは議論する必要があります...
ZWJシーケンスの処理
ゼロ幅コネクタ(ZWJ)シーケンスは、Unicodeの複合単語のようなものです。それらは、ゼロ幅コネクタu 200dで接続された2つ以上の絵文字で構成されています。
ZWJシーケンスは、絵文字に性別修飾子を追加するために最も一般的に使用されます。たとえば、weightlifter plus zwjと女性のシンボルは、重量挙げの女性に相当します(️?€−♀︎=?§÷−するまさい)。
ZWJシーケンスを処理する場合、次のポイントに注意する必要があります。
- これらのシーケンスは単なる提案です。それらはUnicode Allianceから来ており、すべてのプラットフォームでサポートされることは保証されていません。プラットフォームがそれらをサポートしていない場合、通常の絵文字のフォールバックシーケンスが表示されます。
- スキントーン修飾子が存在する場合、絵文字の後にZWJの前に含める必要があります。
- 一部のZWJシーケンスには、複数の絵文字が含まれており、それぞれ異なるスキントーン修飾子があります。
この情報を考えると、以前のコードの例に次の変更を行う必要があります。
- スキントーン修飾子は、絵文字の端に取り付けられているだけでなく、基本的な絵文字の後に挿入する必要があります。
- ZWJシーケンスに皮膚緊張修飾子を使用して複数の絵文字がある場合は、各絵文字の修飾子を置き換える必要があります。
制限
この例から、一貫性の制限に気付くことができます。編集者ビューは、ZWJシーケンスに各文字を表示しますが、皮膚トーン修飾子を除き、すぐに対応する絵文字に適用されます。一方、コンソールまたは結果ビューは、シーケンス全体の文字をレンダリングしようとします。
これのサポートは、プラットフォームごとに異なります。一部の編集者はZWJシーケンスをレンダリングしようとする場合があり、すべてのブラウザが同じZWJシーケンスのセットをサポートするわけではありません。
さらに、ZWJシーケンスにスキントーンを追加するには、基本的な絵文字として使用されるものを知る必要があります。これは、既知のコレクションによって絵文字が提供されている場合には比較的簡単ですが、ユーザーからの任意の入力を処理できるようにしたい場合、事態はより困難になる可能性があります。
また、この記事のCSSソリューションはZWJシーケンスと互換性がないことに注意してください。
開発の導入問題
絵文字の肌のトーン修飾子を扱う必要があるシステムを設計する際に自分自身に尋ねる必要があるかもしれない質問をいくつか整理しました。
- システムが対話する絵文字を制御できますか?
- 私の絵文字ライブラリには、どの絵文字が肌のトーン修飾子をサポートするかに関する情報が含まれていますか?
- 私のシステムは、修飾子を追加、削除、または変更する必要がありますか?
- 私のプラットフォームはZWJシーケンスをサポートしていますか?もしそうなら、どれですか?
- 私のシステムは、複数のスキントーン修飾子を使用してZWJシーケンスをサポートする必要がありますか?
これらの質問とここに表示される例に対する回答があれば、必要に応じて絵文字のスキントーン修飾子をサポートするために必要なものすべてができます。
以上が絵文字の肌の色調をプログラム的に変更しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

React Ecosystemは、すべてがドラッグアンドドロップの相互作用に焦点を合わせている多くのライブラリを提供します。 React-Dnd、React-Beautiful-Dnd、

バックグラウンドクリップをすべて頻繁に使用すると言うことができます。私は、日々のCSS作業ではほとんど使用されていない' dを賭けています。しかし、私はステファン・ジュディスの投稿でそれを思い出しました、

RequestAnimationFrameでアニメーション化するのは簡単なはずですが、Reactのドキュメントを徹底的に読んでいない場合は、おそらくいくつかのことに遭遇するでしょう

おそらく、それをユーザーに提供する最も簡単な方法は、要素上のIDをターゲットにするリンクです。だから...

聞いてください、私はGraphQLの専門家ではありませんが、私はそれで働くことを楽しんでいます。フロントエンド開発者としてデータを公開する方法はかなりクールです。メニューのようなものです

今週のラウンドアップ、タイポグラフィを検査するための便利なブックマークレットである。

私は最近、Codepenの興味深い変化に気づきました。ホームページにペンをホバリングすると、丸い角が背面に拡大する長方形があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版
便利なJavaScript開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
