In a recent educational trick,curl contributor James Fuller submitted a pull-request to the project in which he suggested a larger cleanup of a set of scripts. In a later presentation, he could show us how not a single human reviewer in the team nor any CI job had spotted or remarked on one of the changes he included: he replaced an ASCII letter with a Unicode alternative in a URL. This was an ey

こんにちは。JuliaのPlots.jlでフォントが正しく表示されない問題にハマったので、その時の解決法を書いておきます。 Plots.jlでヒラギノ角ゴシックを使おう! 環境macOS Sequoia 15.3.2Julia 1.11.3 Plots 1.40.11 GR 0.73.13 結論 using Plots using Unicode gr() @eval Plots begin function gr_set_font( f::Font, s; halign = f.halign, valign = f.valign, color = f.color, rotation = f.rotation,) family = lowercase(f.family) GR.setcharheight(gr_point_mult(s) * f.pointsize) GR.setch

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目:C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。UTF-8エンコーディングされた文字の型としてchar8_tを追加 - c

ユニコードでは複数の絵文字を結合させて 別の絵文字を表現することもある Unicodeが一般的になって、日本語を含めて、さまざまな言語の文字を自由に使えるようになったが、「文字」を取り出す、あるいは数えるのが面倒になったのも確かだ。というのも、1つの文字が必ずしも1つのコードポイントで表現されるとは限らないからだ。 たとえば絵文字では、複数の絵文字をゼロ幅接合子(Zero WidthJoiner:ZWJ、U+200D)で結合することで、別の絵文字を表現することがある。たとえば、「🐦 鳥(bird)」(U+1F426)と「🔥 火」(U+1F525)をゼロ幅接合子でつなげたものは、「🐦🔥フェニックス」(UnicodeEmoji 15.1で定義)の絵文字になる。 コードだと「U+1F426」「U+200D」「U+1F525」なのだが、表示上は1つの文字に見える。なお、こうした組み合

はじめにこちらはmhidakaが建立したAdvent Calendar Day.3となります。 こんにちは、はじめまして、のなと申します。mhidakaさんのTweetを見つけて、初めてAdvent Calendarなるものを書いています。なにかお作法間違っていたら大目に見てください、よろしくお願いします。 軽く自己紹介をさせていただくと、普段はGoogleでAndroidのTextまわりの開発を行っており、DroidKaigiやShibuya APKで発表させていただいたりしています。最近はほぼ絵文字の話しかしてないので、絵文字おじさんと思われてそうですが、普段の仕事は絵文字に限らず、Androidの文字表示の部分は大抵面倒をみています。 今回この機会をいただいたので、どんな内容を書こうか迷ったのですが、やはり皆が読んで面白い内容というと、絵文字になるのかなぁ、ということで性懲りもなく絵

NTTTech Conferenceは、NTTグループのエンジニアたちが一堂に会し、NTTグループ内外のエンジニアたちと技術交流を行うためのカンファレンスです。ここで、細田氏が「PDFのコピペが文字化けするのはなぜか?〜CID/GIDと原ノ味フォント〜」をテーマに話します。まずは文字化けが起こってしまう原因について。 原ノ味フォントの作成者 細田真道氏(以下、細田):細田です。ふだんはNTTグループのどこかでDXな仕事をしていますが、今日はぜんぜん仕事とは関係なく、個人的にやっているオープンソースなどの話をしたいと思います。よろしくお願いします。 簡単に自己紹介をします。楽譜を作成するプログラム「LilyPond」のコミッターと、GNUの公式文書フォーマット「Texinfo」のコミッターをしています。あとで話しますが、「原ノ味フォント」を作っていて、すごく似たような名前で「原ノ町」という

文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう! 文字コードには、どのような種類があり、それぞれどのような意味を持つのか、といった、文字コードの基本的な概念、従来の文字コードを紹介し、現在のUnicodeの構成を概説し、プログラミングにおいて注意すべき箇所をいくつか取り上げます。 ソフトウェア開発に携わる方の多くは、何らかの形で文字コードに触れることがあるでしょう。文字や記号をコンピュータ上でデータとして扱うには、文字コードの知識が必要不可欠です。本稿では、書籍『プログラマのための文字コード技術入門』の著者である矢野啓介さんが、知っておきたい基礎知識を分かりやすく解説します。 文字コードとは? Unicode以前の文字コード Unicodeとその主な符号化形式 UTF-16 UTF-32UTF-8 Webで文字コードを指定する仕組み

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?本記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一

すみだセキュリティ勉強会2018その1での発表資料です。 http://ozuma.sakura.ne.jp/sumida/2018/03/22/38/

https://turingcomplete.fm/12 を聞いていて、モヤイ像について昔ちょっと調べたのを思い出したので掘り起こしてみる。 Unicodeに収録された絵文字のなかに「モヤイ像」というものがある。これ、モアイ像ではなくて “Japanese stone statue like Moai on Easter Island”、つまり「イースター島にあるモアイ像みたいな日本の石像」として定義されている。ちなみにモアイ像の絵文字というものはないのであった。マジで? マジで。 モヤイ像というのは東京の渋谷駅のランドマークになっているアレであって(細かく言うと色々あるのだがそれについては後述)、イースター島のモアイ像とは似せたようなかんじであってもまあ違う。髪もあるし。上述リンクの図像もまさに渋谷のモヤイ像のような見た目になっている。どうしてこんなことになっているのだろうか? いっぽう

こんにちは、@todokrです。これは絵文字 /Emoji Advent Calendar 2016 3日目の記事です。 さっそくですがクイズです。以下のJavaScriptのコードの実行結果はどうなるでしょうか? (すぐお試しいただけるようgistにコードをアップしてみました) ... ... ... 結果はこちらです。 なんと!ママが入れ替わってしまいました! 「家族」の1文字に対してreplace したのに何故でしょうか? 「なんだこの文字は!?」に遭遇したらやることはただひとつ、そう16進ダンプでバイナリを見ることです。1 まずはプレーンな「家族」の絵文字から見てみましょう このようなテキストファイルを用意します。 odコマンドでダンプした結果が以下です。 エンコーディングはUTF-16なので2バイトずつで0xD83Dと0xDC6Aですね 先頭バイトの0xD83Dが上位サロゲート

絵文字を扱う上で知っておくと良いかもしれないことをまとめてみました。 Ruiさんの記事を見て、「EmojiはSurrogate Pair以外にも、色々とおもしろい技術があるんですよ〜」思って書いてみました。 なお、書いた人はAndroidの人間なので、特に表記していない場合は主にAndroid上での動作のことを書いてます。 またQiita初めてなので読みにくい部分等がありましてもご容赦ください。 サロゲートペア(Surrogate Pairs) このエントリーを書くきっかけにもなったサロゲートペア。なぜこれが導入されたかの経緯は、Ruiさんのブログエントリーに譲るとして、技術的な解説をします。 サロゲートペアは、U+0000..U+FFFFに収まりきらなかった範囲のUnicodeコードポイント(U+10000..U+10FFFF)を、なんとか16bitでエンコードしようとして導入されました

とある会員制掲示板からの文書の流出に困った運営者が、ユニコードの見えない文字「ゼロ幅文字(Zero-Width characters)」を使って流出させたユーザーを特定した、という話が出ていました。 数年前の話、Tom さんが所属していた競技ビデオゲームのチームでは、ログインが必要なプライベートの掲示板を使って連絡していました。その掲示板に書かれた秘密情報や戦術に関する重大アナウンスなどがしばしば掲示板外のウェブにコピペされ、チームにとって大きな問題となっていたそうです。 外部ユーザーの攻撃で中身が漏れたというよりは、メンバーの誰かがコピーしているのでは、と考えた Tom さんは、当時気になっていたユニコードのゼロ幅文字を使ったトリックを仕掛けたそうです。 ユーザーを特定する情報を、見えない文字に変換して埋め込む ログイン中のログインユーザーのユーザーIDを、一定のルールによってゼロ幅文字

UnicodeとUTF-8の違いを理解していない方が結構居るようなので、文字コードの考え方を元に解説してみようと思う。 文字コードとは何か? 文字コードとは、コンピュータ上で文字を扱うために、文字に対して割り当てられた数値のことであり、文字と数値の対応付けと呼べる。 この対応付けの種類は沢山あって、Shift-JISであったり、UTF-8であったりする。 以上!と言いたいけど、文字コードはこんなに単純ではない。文字コードを複雑にする要素は沢山あるが、今回の記事ではUnicodeとUTF-8の違いに焦点を絞って解説してみたいと思う。 文字コードの構成要素 文字コードの世界は以下の2つの要素で構成されている。 この違いを意識しておかないと混乱を招くだろう。 (1).文字集合 – 表現したい文字の範囲(”あ”、”い”・・・といった文字の集合体) (2).符号化方式 – 文字集合を構成する個々の文

UnicodeのUTF-16エンコーディングではほとんどの文字(コードポイント)は2バイトで表現されるが、Unicodeに後から追加収録された文字の多くは4バイトで表現される。4バイト文字がうまく扱えないプログラムというのはわりとよくある。しかし世界中で広く使われるようになった絵文字がよりによって4バイト文字であるせいで、そのような文字が扱えない問題がよいペースで解決に向かいつつある。それについて少し説明してみようと思う。 Unicodeが80年代から90年代初頭にかけてデザインされたときの目標の一つは、Unicodeに含まれる文字数を65536個以内に収めることだった。現代の文章を実用的なレベルで表すためには、漢字などを含めてもそれだけの種類の文字があれば十分だと考えられたのだ。当然これは1文字を2バイトで表すことを念頭に置いていた。つまりコンピュータの揺籃期から当時に至るまで単純に英語

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く