SlideShare a Scribd company logo
1 of 24
Download to read offline
P R E S E N T A T I O N :
フロントエンドエンジニア 堀 祐磨(ほりでー)
約物アキを調整するjQuery

プラグインを作ってみた
約物アキを調整するjQueryプラグインを作ってみた
何をするプラグインなのか
2
約物アキを調整するjQueryプラグインを作ってみた3
https://github.com/hokkey/jquery.yakumono
約物アキを調整するjQueryプラグインを作ってみた
「約物のアキ量」
4
約物アキを調整するjQueryプラグインを作ってみた5
二分
アキ
全角 全角 半角
二分
アキ
「
全角 全角半角
約物アキを調整するjQueryプラグインを作ってみた6
二分
アキ
全角 全角半角
二分
アキ
全角 全角 半角
全角 全角半角
二分
アキ
全角 全角 半角
。 」二分
アキ
約物アキを調整するjQueryプラグインを作ってみた7
二分
アキ
。 」二分
アキ
約物アキを調整するjQueryプラグインを作ってみた8
約物アキを調整するjQueryプラグインを作ってみた9
約物アキを調整するjQueryプラグインを作ってみた
トラッキング
カーニング
プロポーショナルメトリクス
…などとは関係のない、

日本語組版独自のルールが

「約物のアキ量」
10
約物アキを調整するjQueryプラグインを作ってみた
InDesignの

「文字組みアキ量設定」
11
約物アキを調整するjQueryプラグインを作ってみた12
約物アキを調整するjQueryプラグインを作ってみた
機能要件
特定の文字列を持ったテキストノードに、CSS
からその文字の約物の種類や前後の文字との関
係を判断できるクラス名を付与する
行頭・行末を判定してクラス名を付与する
CSSで任意のセレクタに下記を適用する

font-feature-settings: "halt" 1;
13
約物アキを調整するjQueryプラグインを作ってみた
jQueryプラグインの作り方
14
約物アキを調整するjQueryプラグインを作ってみた
frontplate-cli + babel
15
https://github.com/frontainer/frontplate
※frontplateとはLIGが使用しているフロントエンド開発テンプレートのこと
jQueryプラグイン
Webpackしたくない!
16
約物アキを調整するjQueryプラグインを作ってみた
package.jsonにbabelタスクを追記
17
これも
約物アキを調整するjQueryプラグインを作ってみた
commonJS対応

(requireできるようにする)
18
約物アキを調整するjQueryプラグインを作ってみた
commonJS対応
19
http://mae.chab.in/archives/2537
jQueryプラグインのCommonJS
モジュール化からnpmに公開する
までの方法
“
約物アキを調整するjQueryプラグインを作ってみた
commonJS対応
20
http://mae.chab.in/archives/2537
約物アキを調整するjQueryプラグインを作ってみた
実装
21
約物アキを調整するjQueryプラグインを作ってみた
思ったよりも簡単に作れるよ!
22
約物アキを調整するjQueryプラグインを作ってみた
プライベートメソッド: 

ローカルなオブジェクトにぶらさげる。
パブリックメソッド: 

「$.fn.プラグイン名」にぶらさげる
デフォルト設定オブジェクト:

「$.fn.プラグイン名.default」にぶらさげる
最後にthisを返してメソッドチェーンを有効にする
23
Thank you!
http://media-massage.net/
デザインとWeb開発とその他諸々。

More Related Content

More from 祐磨 堀

実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ祐磨 堀
 
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのかRedmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか祐磨 堀
 
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみたKubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた祐磨 堀
 
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニングLIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング祐磨 堀
 
今更はじめるQuartz Composer
今更はじめるQuartz Composer今更はじめるQuartz Composer
今更はじめるQuartz Composer祐磨 堀
 
Electron で作るはじめてのguiアプリ
Electron で作るはじめてのguiアプリElectron で作るはじめてのguiアプリ
Electron で作るはじめてのguiアプリ祐磨 堀
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト祐磨 堀
 
AWSで自宅サーバ?
AWSで自宅サーバ?AWSで自宅サーバ?
AWSで自宅サーバ?祐磨 堀
 
やさしいSassり方
やさしいSassり方やさしいSassり方
やさしいSassり方祐磨 堀
 

More from 祐磨 堀 (9)

実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
実装を引き受ける前に詰めておくべきWebフロントエンドの想定漏れ
 
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのかRedmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
 
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみたKubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
Kubernetes & Google Container Engine; DockerコンテナをGKEでクラスタリングしてみた
 
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニングLIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング
LIGブログをテキストマイニングしてみた TinyTextMinerとRによる、はじめてのデータマイニング
 
今更はじめるQuartz Composer
今更はじめるQuartz Composer今更はじめるQuartz Composer
今更はじめるQuartz Composer
 
Electron で作るはじめてのguiアプリ
Electron で作るはじめてのguiアプリElectron で作るはじめてのguiアプリ
Electron で作るはじめてのguiアプリ
 
Web制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテストWeb制作者視点で理解するソフトェアテスト
Web制作者視点で理解するソフトェアテスト
 
AWSで自宅サーバ?
AWSで自宅サーバ?AWSで自宅サーバ?
AWSで自宅サーバ?
 
やさしいSassり方
やさしいSassり方やさしいSassり方
やさしいSassり方
 

約物アキを調整するjQueryプラグインを作ってみた