{"data":{"site":{"siteMetadata":{"title":"bauhausify","siteUrl":"https://www.bauhausify.com","subtitle":"美大出身のWEBエンジニアリング奮闘記","descriptionMyself":"\n多摩美術大学<br>プロダクトデザイン専攻卒業 -> <br>GUIデザイン会社勤務 -><br>\n現在フロントエンジニア<br>\n<br>\nMy site -><br>\n<a href=\"http://www.mwrote.com\">www.mwrote.com</a>\n"}},"markdownRemark":{"id":"3a8f96d7-8238-57b2-be53-57c0bab5d727","html":"<p><a href=\"https://codepen.io/mwrote/pen/YzKExxj?defaultTab=result\" target=\"_blank\" rel=\"noopener noreferrer\"><div class=\"embed-codepen\"><iframe\n        height='400'\n        scrolling='no'\n        src='//codepen.io/mwrote/embed/preview/YzKExxj/?height=400&theme-id=light&default-tab=result'\n        frameborder='no'\n        allowtransparency='true'\n        allowfullscreen='true'\n        style='width: 100%;'></iframe></div></a></p>\n<p><a href=\"https://github.com/cmiscm/leonsans\" target=\"_blank\" rel=\"noopener noreferrer\">leonsans</a>というライブラリを使うと、Canvas上にJavaScriptで文字を描くことができます。</p>\n<p><a href=\"https://leon-kim.com/#intro\" target=\"_blank\" rel=\"noopener noreferrer\">公式のサンプル</a>をみると実際にどんなことができるのかがわかります。<br>\n組み合わせとアイデア次第では無限大にいろいろできすそうです。<br>\n<a href=\"https://leon-kim.com/examples/#all\" target=\"_blank\" rel=\"noopener noreferrer\">メニューごとのサンプル</a>や<a href=\"https://github.com/cmiscm/leonsans\" target=\"_blank\" rel=\"noopener noreferrer\">GithubにGIF画像</a>もあります。</p>\n<h2 id=\"使い方\"><a href=\"#%E4%BD%BF%E3%81%84%E6%96%B9\" aria-label=\"使い方 permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>使い方</h2>\n<p>CDNやnpmパッケージは用意されていません。<br>\n<a href=\"https://github.com/cmiscm/leonsans/archive/master.zip\" target=\"_blank\" rel=\"noopener noreferrer\">Githubからダウンロード</a>し、\nzip展開したあとにでてくる<code class=\"language-text\">dist/leon.js</code>ファイルをHTMLから読み込ませましょう。</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>leon.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2 id=\"描画する\"><a href=\"#%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B\" aria-label=\"描画する permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>描画する</h2>\n<p><code class=\"language-text\">LeonSans</code>をnewし、draw関数の引数にCanvasの2D Contextをわたすことで、Canvas上に描画されます。</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token keyword\">const</span> canvas <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">createElement</span><span class=\"token punctuation\">(</span><span class=\"token string\">'canvas'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\ncosnt ctx <span class=\"token operator\">=</span> canvas<span class=\"token punctuation\">.</span><span class=\"token function\">getContext</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"2d\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nleon <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">LeonSans</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n    <span class=\"token literal-property property\">text</span><span class=\"token operator\">:</span> <span class=\"token string\">'The quick brown\\nfox jumps over\\nthe lazy dog'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token literal-property property\">color</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">'#000000'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token literal-property property\">size</span><span class=\"token operator\">:</span> <span class=\"token number\">80</span><span class=\"token punctuation\">,</span>\n    <span class=\"token literal-property property\">weight</span><span class=\"token operator\">:</span> <span class=\"token number\">200</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nleon<span class=\"token punctuation\">.</span><span class=\"token function\">draw</span><span class=\"token punctuation\">(</span>ctx<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>PIXIの場合は、<code class=\"language-text\">draw</code>の代わりに<code class=\"language-text\">drawPixi</code>関数を使用します。</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">leon<span class=\"token punctuation\">.</span><span class=\"token function\">drawPixi</span><span class=\"token punctuation\">(</span>graphics<span class=\"token punctuation\">)</span></code></pre></div>","fields":{"slug":"/2019-09-05_JSでアニメーションできるフォントleonsans/"},"tableOfContents":"<ul>\n<li><a href=\"/2019-09-05_JS%E3%81%A7%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88leonsans/#%E4%BD%BF%E3%81%84%E6%96%B9\">使い方</a></li>\n<li><a href=\"/2019-09-05_JS%E3%81%A7%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88leonsans/#%E6%8F%8F%E7%94%BB%E3%81%99%E3%82%8B\">描画する</a></li>\n</ul>","frontmatter":{"date":"2019.09.05","title":"JSでアニメーションできるフォントleonsans","cover":"","category":"Coding","excerpt":"CanvasやPIXI.js上で展開できるプログラマブルなフォントleonsansを紹介します。"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"3a8f96d7-8238-57b2-be53-57c0bab5d727","next":{"path":"/2019-09-02_p5jsのコードをsketchファイル上で実行する方法/","title":"p5jsのコードをsketchファイル上で実行する方法","category":"Coding"},"prev":{"path":"/2019-09-08_アトミックデザインはコンポーネント再利用の設計方法/","title":"アトミックデザインはコンポーネント再利用の設計方法","category":"Design"},"relatedPosts":[{"id":"2e52640f-36d6-5268-99ea-9d58492ffec5","fields":{"slug":"/2019-09-14_p5-jsを本番サイトで使う方法/"},"frontmatter":{"title":"p5.jsを本番サイトで使う方法","date":"2019-09-14T00:00:00.000Z","excerpt":"p5.jsをいざプロダクションビルド(本番サイト向け)で使う場合、一体どのような方法で使うのが最適でしょうか。p5.jsの特徴を踏まえ、代表的な使い方をご紹介します。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}},{"id":"d5a69a1d-62b7-5a8b-8f18-975dfee3ae96","fields":{"slug":"/2019-09-11_p5-jsスケッチトレーニング-円弧の線を円周上に沿って動かす/"},"frontmatter":{"title":"p5.jsスケッチトレーニング -円弧の線を円周上に沿って動かす-","date":"2019-09-11T00:00:00.000Z","excerpt":"p5.jsのarcと簡単なEasing式を使い、円弧の線を動かします。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}},{"id":"a9f2125a-caa7-5d36-a7d1-c68b1a35d0fa","fields":{"slug":"/2019-07-15_Ptsjsによる実践ジェネラティブアート/"},"frontmatter":{"title":"Pts.jsによる実践ジェネラティブアート","date":"2019-07-15T00:00:00.000Z","excerpt":"Ptsという幾何学的な図形を描画するのに特化したJavaScriptライブラリをご紹介します。","templateKey":"post","category":"Coding","propertags":["ptsjs"],"commontags":["generative","javascript"]}},{"id":"1eb35481-156d-520b-ab66-a911316fe17b","fields":{"slug":"/2019-07-03_Webで簡単にコードで絵を描くp5-js/"},"frontmatter":{"title":"Webで簡単にコードで絵を描くp5.js","date":"2019-07-03T14:15:51.667Z","excerpt":"描画ライブラリp5.jsとCodepenを使い、ブラウザ上で簡単にスケッチを描く方法を紹介します。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}},{"id":"156242f5-f991-540a-8b82-2321b7bbc8a9","fields":{"slug":"/2019-08-21_ブラウザで機械学習が実行できるml5jsを試してみる/"},"frontmatter":{"title":"ブラウザで機械学習が実行できるml5jsを試してみる","date":"2019-08-21T00:00:00.000Z","excerpt":"フロントエンドエンジニアは絵を描くのが苦手だけど、絵をブラウザで表示するのは得意です。それと同じことが、機械学習でも起こるのでは？そんな近未来を予感させてくれるような、ブラウザ実行型のライトウェイトな機械学習ライブラリml5jsを紹介します。","templateKey":"post","category":"Coding","propertags":["ml5js"],"commontags":["ml","generative","javascript"]}}]}}