macOSでもスープが飲みたい！

この記事は[FUN Advent Calendar 2019](https://adventar.org/calendars/4058)、七日目の記事です。
昨日はパンダちゃんの[Visual StudioでHello Worldするのにｎ年かかりました](https://lunapanda-chan.hatenablog.com/entry/2019/12/05/160705)です。

# 2020/12/9追記
後述の通り、この記事はmacOS Mojaveを対象としています。Catalina以降の動作確認はしていません。また、現在のwineのバージョンによっては動かない可能性や、不具合が起きる可能性があることをご了承ください。

# はじめに
HotSoupProcessor(以下HSP3)というプログラミング言語をご存知ですか？
[おにたまさん](https://qiita.com/onionsoftware)が作成された手続き型言語です。
詳しくは[こちら](https://qiita.com/onionsoftware/items/630a93355de3c8140255)をご覧ください。

僕は普段MacBookProを使っているのですが、如何せんHSP3はWindowsで動くんですよね。
Windows機を持ってないわけでは無いんですが、しまってるものを持ち出すのもめんどくさい...というわけでmacでHSP3を動かしてみよう！というのが今回のお話です。

# 環境
- MacBook Pro(Mojave ver10.14.6)  

# どうやって
皆さんがmacでWindowsのソフト動かしたい！となった時、どんな方法で動かしますか？
おそらく、
1. Parallelsを使ってWindowsを立ち上げる(仮想マシン方式)
2. BootCampを使ってWindowsを立ち上げる(デュアルブート方式)
3. Wineを使ってWindowsソフトウェアを動かす(API方式)
が大半だと思います(他の方法とる~~変態~~人とかいるのかな)。
今回はWindowsを買うお金が無い僕のような人ができる「3. Wineを使ってWindowsソフトウェアを動かす」方法でやっていきたいと思います。

# 準備
## XQuartz
まず、[XQuartzの公式ページ](https://www.xquartz.org/)より、XQuartzをDLしてきましょう。
<img width="1440" alt="xquartz 編集.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/df1e6411-fc50-a745-64ad-97f07262e0d4.png">

特に難しいことは無いのでそのままインストールまで終わらせてください。
## Wine
次に、[Wine公式ページ](https://dl.winehq.org/wine-builds/macosx/download.html)から、"Wine Stable"をDLしてください。
<img width="1440" alt="wine 編集.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/d8b4e657-f5c8-70e8-0d23-1493afb73d06.png">

DLが終わったら、インストールしていきましょう。基本的には説明通り進めば大丈夫です。
インストール先は、「このコンピュータのすべてのユーザ用にインストール」を選択し、
<img width="624" alt="インストール先.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/629a76d6-e0f9-5868-4e30-37f8d5bc6aea.png">  
インストールの種類という項目に来た時、64bit supportにチェックをつけます。
<img width="620" alt="インストールの種類.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/a209a562-88d8-ddb4-998d-619e49f0e9f6.png">  
続けると、下の画像が出ると思うので、このときにインストール先が間違ってなかったら「インストール」に進んでください。
<img width="624" alt="インストールの種類３.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/cdfcfee3-b74c-8d89-2e97-c3a88a160c4b.png">

無事インストールが済んだら、アプリケーションより、Wine Stableを選びます。するとターミナルが開かれるので
`$ winecfg`
を入力してください。このとき、
<img width="453" alt="monoインストーラ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/5b393fa8-e27f-53b2-dcf9-e02c74e09a43.png">

とこのような表示が出るので、念の為インストールしておきましょう。
`winecfg`コマンドを叩くと以下の画面が出てくるので、Windowsのバージョンが10になってることを確認してください。気になるところがあったりオレオレ環境を構築したい人以外は、他の設定は基本そのままで大丈夫です。変更した後は右下の「適用」を押すことを忘れずに...
<img width="477" alt="wine設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/ff2b5d32-0cb7-3739-ad83-d2aec8cd19e0.png">

## Wineの日本語化
Wineのインストールが終わったし次はHSP３入れよう...ちょっと待った！このままではインストールが難しいぞ！
なぜならそう、
<img width="496" alt="お豆腐.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/a0fa7146-f81b-5366-a2bb-cf543c3093be.png">
皆大好き**文　字　化　け**
まずはこれを直していきます。
1. [IPAモナーフォント](http://web.archive.org/web/20190326123924/http://www.geocities.jp/ipa_mona/)より、[opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz](http://web.archive.org/web/20190326123924/http://www.geocities.jp/ipa_mona/opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz)をダウンロードしてホームディレクトリに置きましょう。
2. そしてDLしてきたものを解凍し、`.wine/drive_c/windows/Fonts`に入れます。コマンドでやるなら以下の通りです。

```
$ tar xzf opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz
$ mv opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipa*.ttf ~/.wine/drive_c/windows/Fonts/
```

3.次に、Wineの各フォントをIPAモナーフォントに変える作業をします。

```
REGEDIT4

[HKEY_CURRENT_USER¥Software¥Wine¥Fonts¥Replacements]
"MS Gothic"="IPA モナー ゴシック"
"MS Mincho"="IPA モナー 明朝"
"MS PGothic"="IPA モナー Pゴシック"
"MS PMincho"="IPA モナー P明朝"
"MS UI Gothic"="IPA モナー UIゴシック"
"ＭＳ ゴシック"="IPA モナー ゴシック"
"ＭＳ 明朝"="IPA モナー 明朝"
"ＭＳ Ｐゴシック"="IPA モナー Pゴシック"
"ＭＳ Ｐ明朝"="IPA モナー P明朝"
```

をShift_JISで`hogehoge.reg`としてホームディレクトリに保存します。
4. その後、Wineで開いているターミナルで、ホームディレクトリにいることを確認したのち、```$ wine regedit hogehoge.reg```を入力します。
5. 以上。

## HSP3を入れる
やっとここまできました、本題のHSP3のダウンロードに参りましょう。
[HSP3のダウンロードページ](http://hsp.tv/make/downlist.html)から`hsp351.exe`をダウンロードしてください。
<img width="801" alt="HSP3のDL 編集.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/053ff02b-5c33-657f-4f75-e1ab2ceabe66.png">
そのままインストーラを起動し、説明にしたがってインストールしてください。
この時、「デスクトップ上にアイコンを作成する」や「拡張子の関連付けを行う」はチェックを外してください。
インストールが完了したら、以下のデモアプリが立ち上がります。
<img width="639" alt="hspdemo.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/95485bbd-3b02-bdc1-ac26-790c96345347.png">

以降は、Wine Stable起動→`$ wine c:\\hsp351\\hsed3.exe`でエディタが開くはずです。

<img width="1353" alt="hsp起動.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/5310cdcd-0e48-d13c-dae0-4b3c2f2edfa0.png">

ハロワもこの通り、勝ち卍

<img width="1067" alt="hspHelloWorld.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442889/f3337760-a0ab-7f15-ceb3-da80b0a1e097.png">

# まとめ
以上でmacOSでスープを飲む話は終わりです。正直な話、実はアドカレ用に作ったネタなので今後macでHSP3を使うか？と言われるとうーん...と答えざるを得ないんですね。ここまでやるくらいならWindows使いましょう~~(誰かWinのデスクトップ買ってくれないかなあ)~~。

今日はハッカソンに出てきます、何作るかまだ決まってないや。
明日はたつお先生が深層学習について話してくれるらしい。

# 参考
[macOS と Wine で作る HSP 3 の開発環境](http://www.sharkpp.net/blog/2016/12/01/hsp-advent-calendar-2016-1st-day.html)(参考じゃなくて丸パクリだろ！とかは言わないお約束...)
[Wine 4 を利用してmacOSでWindowsアプリを動かそう](https://weblabo.oscasierra.net/wine4-macos/)