MacのPowerPointにおける面妖なフォント変更


# TL;DR

* Mac版のPowerPointにて、ある特殊な形のテキストを、テキストボックスに貼り付けると、なぜか数字が太くなる。
* オートコレクト等を全て切っておいてもそうなる。
* 同じ内容を直接テキストボックスに入力してもこの現象はおきない
* Windows版ではそういう現象はおきない
* 面妖だ・・・

ちなみに試したのはMac版PowerPoint 15.33。

# バックグラウンドストーリー

あなたはふと、「圧縮プログラムっていろいろあるけど、圧縮率はどのくらい違うんだろう？」と思ったとする。とりあえず適当なファイルを用意するため、

```rb
n = 2**17
srand(1)
data = Array.new(n){ rand}
IO.binwrite("test.dat", data.pack("d*"))
```

みたいにして`test.dat`を作り、それをzip, bzip2、xzで圧縮してみる。

すると、圧縮後のファイルサイズと、圧縮前のサイズとの比が以下のように得られたとしよう[^iiwake]。

[^iiwake]: 全てデフォルトオプション。本当に比較するならランダムデータを渡すのは意味がないし圧縮速度も重視されるべきだが、本稿の執筆意図はそこにはない。

```
bzip2 1001294 (95.5)
zip 987896 (94.2%)
xz 968208 (92.3%)
```

上記のテキストをパワーポイントに貼り付けてみる。

MacのPowerPointの「挿入」タブを選び、「テキストボックス」を選んでから白紙のページの適当なところをクリックし、そこに貼り付ける。

![スクリーンショット 2017-05-12 13.19.18.png](https://qiita-image-store.s3.amazonaws.com/0/79744/d93d15e1-0542-c285-6fb0-d3a4e0463ed9.png "スクリーンショット 2017-05-12 13.19.18.png")

貼り付けた瞬間は何も起きないが、一度フォーカスが外れてからまたフォーカスが戻った瞬間・・・

![スクリーンショット 2017-05-12 13.19.34.png](https://qiita-image-store.s3.amazonaws.com/0/79744/f6ce7d4b-f805-69e1-ed40-3377bf3b1973.png "スクリーンショット 2017-05-12 13.19.34.png")

お気づきだろうか。zipとxzの数字のみ太字になり、bzip2だけ元のフォントのまま。なお、この状態で太くなった場所にカーソルをあわせても、特にボールド体も有効になっていないし、フォント(Mangal 本文)も変わっていない。

この現象の発生原因について調べてみた。

# 発動条件

結論から言うと、

```
数字を含まない英数字 (数字)
数字を含まない英数字 数字 (数字)
```

といったパターンのテキストをテキストボックスに貼り付けると、フォーカスが外れた際に「数字 (数字)」のフォントが太くなる。ただし、通常はこの現象がおきない「英数字 数字」というパターンでも、他のパターンと組み合わせることで発生させることができる。

## 例1

「テキスト 数字 (数字)」のパターンは、数字が太くなる。

<pre>
test 100 (100)
test 100 (100)
test 100 (100)
</pre>

というテキストを貼り付けると、全て太くなる。


貼り付けた直後。
![スクリーンショット 2017-05-12 13.32.47.png](https://qiita-image-store.s3.amazonaws.com/0/79744/c880b082-ddf7-5462-3de8-939a7dbb8656.png "スクリーンショット 2017-05-12 13.32.47.png")

フォーカスが外れてから再フォーカス。もしくはテキストボックスの「枠」をクリック。

![スクリーンショット 2017-05-12 13.32.54.png](https://qiita-image-store.s3.amazonaws.com/0/79744/9187d5c5-9cc7-8c0b-92d5-63b88730c09d.png "スクリーンショット 2017-05-12 13.32.54.png")

## 例2

テキストに数字が含まれると、その列は太くならない。

<pre>
test 100 (100)
test1 100 (100)
test 100 (100)
</pre>

![スクリーンショット 2017-05-12 13.34.49.png](https://qiita-image-store.s3.amazonaws.com/0/79744/b08d28b1-33fd-0c1b-9258-e2c2d208e1fe.png "スクリーンショット 2017-05-12 13.34.49.png")

## 例3

例2の「test1」の列だけ太くない状態で、「test1」の列を編集する(例えばtest1→test12にする)と、その行も太くなる。
![スクリーンショット 2017-05-12 13.37.04.png](https://qiita-image-store.s3.amazonaws.com/0/79744/d4b67be2-5440-06cd-484c-3bb5841430ef.png "スクリーンショット 2017-05-12 13.37.04.png")

## 例4

テキストが日本語だと、貼り付けた瞬間に太くなる。

<pre>
日本語 100 (100)
日本語 100 (100)
test 100 (100)
</pre>

貼り付け直後。

![スクリーンショット 2017-05-12 13.38.16.png](https://qiita-image-store.s3.amazonaws.com/0/79744/b429b056-b179-5365-b157-711011bf5427.png "スクリーンショット 2017-05-12 13.38.16.png")

フォーカスが外れて、またテキストボックスにフォーカスがあたると、あわてて英語の行も太くなる。

![スクリーンショット 2017-05-12 13.38.58.png](https://qiita-image-store.s3.amazonaws.com/0/79744/225a04ac-4fdd-1707-3e8e-9f5db9c3d04f.png "スクリーンショット 2017-05-12 13.38.58.png")

## 例5

後ろに括弧が無いと、この現象はおきない。

![スクリーンショット 2017-05-12 13.40.35.png](https://qiita-image-store.s3.amazonaws.com/0/79744/6cd00835-c9c3-88fa-41d4-b019e2097f45.png "スクリーンショット 2017-05-12 13.40.35.png")

## 例6

テキスト＋括弧のある数字だけでも発生する。
![スクリーンショット 2017-05-12 13.42.45.png](https://qiita-image-store.s3.amazonaws.com/0/79744/ea86f175-6bbd-fd71-9cd0-430037b80f2a.png "スクリーンショット 2017-05-12 13.42.45.png")

## 例7

括弧の無い数字の列が増えると発生しない。

![スクリーンショット 2017-05-12 13.43.14.png](https://qiita-image-store.s3.amazonaws.com/0/79744/8dd79bc8-2313-b8d6-9b67-4f96016bb255.png "スクリーンショット 2017-05-12 13.43.14.png")

## 例8

発生するパターンを組み合わせても発生する。

![スクリーンショット 2017-05-12 13.45.30.png](https://qiita-image-store.s3.amazonaws.com/0/79744/b6ceae48-99c3-bdbf-b25b-b2e613323edf.png "スクリーンショット 2017-05-12 13.45.30.png")

## 例9

単独では発生しないパターンでも、発生するパターンと組み合わせると発生することがある。

![スクリーンショット 2017-05-12 13.47.42.png](https://qiita-image-store.s3.amazonaws.com/0/79744/8523c63b-055d-2bfa-65d4-0d04d3578a36.png "スクリーンショット 2017-05-12 13.47.42.png")

上記の例では、

<pre>
test 100
</pre>

は単独ではこの現象が発生しないパターンだが、他の奴と組み合わせることで太くなる。


# まとめ

Mac版のPowerPointにおける面妖なフォント変更について調べた。繰り返しになるがオートコレクト関連は全て切ってある(はず)。だいたいにおいてこういう面妖な現象の背景には原因が透けて見えるものだが、今回のケースについてはさっぱりわからない。