hand-dot/labelmake

Error: WinAnsi cannot encode

sito1912 opened this issue · 2 comments

初めまして。
こちらのライブラリを利用させていただきたくデモページを拝見しましたが、日本語を扱うと以下のエラーが出力されます。

Uncaught (in promise) Error: WinAnsi cannot encode "あ"

APIリファレンスを参考に、以下のようにArrayBufferをパラメータに与えても同様のエラーが発生するのですが、日本語フォントには対応していますでしょうか?
もしこちらの実装方法に誤りがありましたら、ご教示いただけますと幸いです。

const font = await fetch("https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0e.ttf").then((res) => res.arrayBuffer())
const pdf = await labelmake({ template, inputs, font });

@sito1912
はじめまして。

ライブラリは日本語に対応しています。
確認したところ、下記のフォントデータに日本語が入っていないようです。(データサイズも27KBです)
https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0e.ttf

データを確認して再度試していただけますか?

@hand-dot 提示した例のフォントについて、初歩的なミスで申し訳ありません。
改めて日本語が含まれるttfファイルをいくつかローカルで用意して、同様に試してみましたがエラー内容は変わらずフォント自体も反映されていませんでした。

そこで過去のIssue #17 (comment) を確認して、subsetをfalseにすることで正しく出力することができました。
ご対応いただきありがとうございます。
本Issueはクローズとさせていただきます。