Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@libru1

文言縦書きレンダリングに挑戦

はじめに

前回

linuxっぽいデバイスエラー
/dev/stdoutや/dev/nullとか指定出来ないパスエラーに悩まされつまづいていました

実行

レンダリング処理はソースファイルを読み、縦書きにレンダリングし、svgファイルとして出力します。

/dev/stdout 標準出力が割り当てられないなら、実際のファイルを割り当てる方法があれば出力出来るかも。

ソースファイルをrenderでgrep しました。
functon renderで実装されているので引数で渡す方法を探します。

ソースはimportではなく、requireで、node_modulesフォルダも無いので頑張れば読めるかもしれません。

わからないなりに格闘。自前で呼ぶ関数を実装を試みました。

が、しかし、コマンドラインに渡す口がありそうです。

usageとにらめっこし、よく読んでみると、
outputオプションで行けそうです

node ./build/wenyan.js —render helloworld.wy —output ./renders/helloworld.svg

エラーが消えました。
rendersフォルダの中を見ると、ファイルが出来ました。
何故かファイル名がhelloworld.svg.000.svgで中身は一文字もありません。

文字はありませんが、古文書風の用紙、見ていて美しさにテンションあがります。

ソースの指定を見直し、再実行

node ./build/wenyan.js —render ./examples/helloworld.wy —output ./renders/helloworld.svg

な、なんとsvgのファイルサイズ増えました。
ドキドキしながらブラウザで表示してみると、縦書きのソースコード入りで表示出来ました。

ビルドエラー出てたけど、上手く行ってたのでしょうか。

念のため、ビルド前のwenyan.jsで実行してみると、…

同じファイルが作成されました。

今までの試行錯誤を思い、自分のレベルの低さに悲しくなりましたが、ソース出力は嬉しくてサンプルソース、片っ端から生成しました。

おわりに

ファイル名が不思議な感じですが、生成された縦書きソースはうっとりです。

引き続き、仕組みを見ていきたいです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?