マイク・ワーテル
· 1分で読めます
en-ダッシュとem-ダッシュ、fonts.comの例
iOS 11のAppleの新機能「スマートパンクチュエーション」に予期せぬ副作用が現れ、Core Dataを使って文字列を保存するアプリで問題が発生しています。スマートパンクチュエーションを無効にする方法と、今すぐ無効にしておくべき理由をご紹介します。
SongSheetアプリ開発者のGabriel Hauber氏によって最初に発見されたSmart Punctuationは、定期的にヌルバイトを挿入します。具体的には、ユーザーがダッシュを2つ入力すると、enダッシュが生成されます。3つ入力すると、enダッシュが表示されますが、enダッシュの後にヌルバイトが追加されます。
ヌルバイトの挿入により文字列が途中で終了し、最良の場合でもデータの切り捨てが発生しますが、不安定性やクラッシュを引き起こす可能性もあります。
おそらくAppleはすでに修正に取り組んでおり、開発者向けドキュメントをざっと確認したところ、アプリ開発者はこの機能を一時的に無効化できるようです。しかし、個人用デバイスでこの問題を解決し、今のところ問題を完全に回避するには、以下の方法でこの機能をオフにすることができます。
「設定」で「一般」をタップします。次に「キーボード」をタップし、「スマート句読点」をオフに切り替えます。