Soumettre la recherche
Mettre en ligne
濁点の話
•
3 j'aime
•
17,017 vues
E
emasaka
Suivre
Unicodeの濁点や半濁点の問題
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 16
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集める
Akio Terayama
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
Marp入門
Marp入門
Rui Watanabe
Humble Object Patternな話
Humble Object Patternな話
Hiroto Imoto
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
Graat(グラーツ)
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
Recommandé
【アジャイルサムライ】6章_ユーザストーリーを集める
【アジャイルサムライ】6章_ユーザストーリーを集める
Akio Terayama
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
Marp入門
Marp入門
Rui Watanabe
Humble Object Patternな話
Humble Object Patternな話
Hiroto Imoto
WayOfNoTrouble.pptx
WayOfNoTrouble.pptx
Daisuke Yamazaki
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
Graat(グラーツ)
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
Yoshitaka Kawashima
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Norito Agetsuma
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
私にとってのテスト
私にとってのテスト
Takuto Wada
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
Tomoya Kawanishi
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
Itsuki Kuroda
Pythonで二段階認証
Pythonで二段階認証
aoshiman
Hinemos ver.6.0 機能紹介
Hinemos ver.6.0 機能紹介
Hinemos
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
勇 中津留
3000社の業務データ絞り込みを支える技術
3000社の業務データ絞り込みを支える技術
Ryo Mitoma
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Takunori Minamisawa
細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話
清水 正行
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
ibus-skkをなんとかすっぺ会議
ibus-skkをなんとかすっぺ会議
emasaka
GoBoLinuxを試した
GoBoLinuxを試した
emasaka
Contenu connexe
Tendances
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Norito Agetsuma
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
Satoshi Yamada
私にとってのテスト
私にとってのテスト
Takuto Wada
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
Tomoya Kawanishi
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
Itsuki Kuroda
Pythonで二段階認証
Pythonで二段階認証
aoshiman
Hinemos ver.6.0 機能紹介
Hinemos ver.6.0 機能紹介
Hinemos
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
Hiroshima JUG
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
勇 中津留
3000社の業務データ絞り込みを支える技術
3000社の業務データ絞り込みを支える技術
Ryo Mitoma
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Takunori Minamisawa
細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話
清水 正行
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama
Tendances
(20)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
私にとってのテスト
私にとってのテスト
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
Pythonで二段階認証
Pythonで二段階認証
Hinemos ver.6.0 機能紹介
Hinemos ver.6.0 機能紹介
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
3000社の業務データ絞り込みを支える技術
3000社の業務データ絞り込みを支える技術
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
Azure DevOps ハンズオン Vo.3 ~Delivery Plans を用いたプロジェクトのスケジュール管理~
細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Plus de emasaka
ibus-skkをなんとかすっぺ会議
ibus-skkをなんとかすっぺ会議
emasaka
GoBoLinuxを試した
GoBoLinuxを試した
emasaka
さくらのクラウドでh2oのベンチマーク
さくらのクラウドでh2oのベンチマーク
emasaka
みおぽん for CLI
みおぽん for CLI
emasaka
GNU make 4.0に何かいる
GNU make 4.0に何かいる
emasaka
メタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
長いの
長いの
emasaka
)の品格
)の品格
emasaka
人力
人力
emasaka
エコなWebサーバー
エコなWebサーバー
emasaka
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Bash on Railsの逆襲
Bash on Railsの逆襲
emasaka
Plus de emasaka
(12)
ibus-skkをなんとかすっぺ会議
ibus-skkをなんとかすっぺ会議
GoBoLinuxを試した
GoBoLinuxを試した
さくらのクラウドでh2oのベンチマーク
さくらのクラウドでh2oのベンチマーク
みおぽん for CLI
みおぽん for CLI
GNU make 4.0に何かいる
GNU make 4.0に何かいる
メタメタプログラミングRuby
メタメタプログラミングRuby
長いの
長いの
)の品格
)の品格
人力
人力
エコなWebサーバー
エコなWebサーバー
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Bash on Railsの逆襲
Bash on Railsの逆襲
Dernier
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
Dernier
(9)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
濁点の話
1.
濁点の話 emasaka
2.
7月にkoddolug MLに出したメール ● 「Linux User」C92版のレビューのとき ● これについて解説します ● 勝手にネタにしてすみません
>某氏 * (p.1)引用部分で、「で」「プ」「ぐ」「が」「ピ」がNFD(カナと濁点・ 半濁点が分かれている)形式になっています。印刷のとき大丈夫?
3.
濁点問題 ● Unicodeには濁点や半濁点のついた仮名の表し方 が2種類ある
4.
どういうことか ● この2つの「プ」は、実は別の文字 – (某氏の原稿をLibreOfficeで開いたところ)
5.
2種類の「プ」 ● U+30D7:「プ」の1文字分で表す – 合成済み文字 – この形式に揃えるのを「NFC(Normalization
Form Composition)」正規化という ● U+30D5 309A:「フ」と「゜」(相当)の2文字分のデータで 表す – 結合文字列 – この形式に揃えるのを「NFD(Normalization Form Decomposition)」正規化という – 通称「UTF8-MAC」
6.
NFCとNFD ● LinuxやWindowsではNFCが使われる ● Macのファイル名はNFDであるという問題が、しばしば話題にの ぼる – Macで作ったファイルをLinuxやWindowsで開くときや、MacでLinux由 来のツールを使うときなど – ちなみに最近のmacOS/iOSのAPFSではNFCに変わったらしい ● 実はファイル名だけでなく、テキストやワープロファイルの本文で も問題になる ● しかも正規化されておらず、合成済み文字と結合文字列が混在 する –
これが冒頭の「Linux User」での状態
7.
なぜ混在するか ● 自分の想像と聞いた話を総合するとたぶんこう – Mac上で日本語入力した文字は合成済み文字で入力 される – Mac上でほかのアプリ(Webブラウザーなど)からコピ ペした文字は結合文字列で入力される
8.
何が困るか ● 検索や置換で片方しかヒットしない ● Linux/Windowsの日本語処理系ソフトで結合文 字列だと正常に“その文字”として扱えなかったり ● アプリによって、結合文字列が合成済み文字と同じ ように表示されるものと、されないものがある – LibreOfficeなどでは同じように表示される
9.
ファイル名のNFD→NFC ● convmvで変更できる $ convmv -f
utf8 –-nfd -t utf8 –-nfc –notest *
10.
テキストファイル内容のNFD→NFC ● nkfやiconvで変更できる – ただしnkfはNFD→NFCの一方向のみ対応 $ nkf
--ic=utf8-mac --oc=utf-8 foo.txt > bar.txt $ iconv -f utf8-mac -t utf8 < foo.txt > bar.txt
11.
Emacsでは ● ucs-normalize-NFC-region(リージョンをNFC正 規化する)とucs-normalize-NFD-region(リージョ ンをNFD正規化する)の2つのコマンドがある ● よく使ってる
12.
Microsoft Word/LibreOffice Writer /Googleドキュメントでは? ● その機能はなさそう ● LibreOffice
mini Conference(openSUSE.Asia Summit 2017内)のときに聞いてみたが、やはりな さそう ● フォーマットを崩さずにNFC正規化できる機能がほ しい – LibreOfficeの拡張機能で作る?
13.
回避策的なツールを作った ● https://github.com/emasaka/docx-normarize-nfc ● まず.docx用 ● .docxをZIPファイルとして開き、コンテンツのXML ファイルをPythonでNFC正規化して書き戻すだけ
14.
中身はこれだけ #!/usr/bin/env python3 import sys,
io, os import unicodedata import zipfile import subprocess DOCUMENT = 'word/document.xml' docx = sys.argv[1] with zipfile.ZipFile(docx) as zf: with zf.open(DOCUMENT) as doc_bytes: doc = io.TextIOWrapper(doc_bytes, encoding='utf-8') document = doc.read() document_nfc = unicodedata.normalize('NFC', document) with open(os.devnull, 'w') as devnull: subprocess.call(['zip', '-d', docx, DOCUMENT], stdout=devnull) with zipfile.ZipFile(docx, 'a') as zf: zf.writestr(DOCUMENT, document_nfc)
15.
これから ● LibreOfficeの拡張機能を作る? ● でも正直、自分の中のプライオリティは高くない
16.
おまけの質問 ● ZIPファイルは圧縮形式として、デフォルトのdeflate のほか、BZipやLZMAなどの形式に対応している ● 質問:ODFやOpen XMLではどの形式に対応して いる?
Télécharger maintenant