このエラーの意味が分からずにgoogle検索しまくること、2日あまり経ちましたが、諦めずに探し続けることが大事ですね。
ちなみにエイプリルフールですが、フランスが発祥という説があるみたいですね。
話がそれましたが、
⇩ 解決策は下記サイトへ
・アイコンフォントをgit管理するとファイルが破損するときの対応方法 | jMatsuzaki
原因はgitの改行コードを自動変換する仕組み
Webフォントは、バイナリーファイルで、gitが改行コードのCRLFをLFに自動変換する処理において、バイナリー内のCRLFまでLFに書き換えてしまうことで、バイナリーが壊れてしまっていたことが原因らしいです。
gitの改行コードはLF(ラインフィード)
gitはもともとLinuxの生みの親、リーナス・トーバルズによってLinuxカーネルのソースコード管理に用いるために開発されたので、Linuxの改行コード、LF(ラインフィード)が採用されてるようです。
Linuxと互換性の高いMacは、改行コードがLFですが、Windowsは改行コードがCRLF(キャリッジリターン+ラインフィード)というものらしいです。
gitにより、OSで異なる改行コードをLFに統一されてるようです。
通常、画像ファイルなどのバイナリーファイルは、gitの改行コード自動変換の対象にはならないのですが、Webフォントはバイナリーファイルであるにも関わらず、gitの改行コードの対象外にはなっていないため、Webフォント内でCRLFの改行コードが使用されている場合、バイナリーが破壊されてしまうため、下記のようなエラーが出るようです。
Failed to decode downloaded font: [アイコンフォントのURL] OTS parsing error: post: table overruns end of file OTS parsing error: incorrect file size in WOFF header
.gitattributesファイルを編集して問題を回避
gitにWebフォントがバイナリーファイルであることを認識させれば、この問題は回避されるようで、そのためには、『.gitattributes』というファイルに追加の記述をれば良いようです。
『.gitattributes』ファイルを開くと下記のようになっています。
# Define the line ending behavior of the different file extensions # Set default behaviour, in case users don't have core.autocrlf set. * text=auto * text eol=lf # Explicitly declare text files we want to always be normalized and converted # to native line endings on checkout. *.php text *.default text *.ctp text *.sql text *.md text *.po text *.js text *.css text *.ini text *.properties text *.txt text *.xml text *.yml text .htaccess text # Declare files that will always have CRLF line endings on checkout. *.bat eol=crlf # Declare files that will always have LF line endings on checkout. *.pem eol=lf # Denote all files that are truly binary and should not be modified. *.png binary *.jpg binary *.gif binary *.ico binary *.mo binary *.pdf binary *.phar binary
このファイルの『# Denote all files that are truly binary and should not be modified.』となっている部分の末尾に下記のコードを追加記述し保存します。
*.otf binary *.eot binary *.svg binary *.ttf binary *.woff binary
壊れたWebフォントは、新しくダウンロードしたものに入れ替えましょう。
gitで管理してる場合に、Webフォントを使ってる場合は今回の方法でエラーに対応できるようです。
今回はこのへんで。