Nehan Readerのversion 2.2.37より、オプションからフォントを自由に設定できるようになりました。
「涅」のボタンを右クリックして「オプション」へと進んでください。
以下のように、cssのfont-family
の値をダイレクトに設定できます。
設定すると、常にこの値が使用されるようになるため、右メニューにあった「明朝」とか「ゴシック」の設定スイッチが表示されなくなります。
設定値を空白に戻すと、また有効になります。
Nehan Readerのversion 2.2.37より、オプションからフォントを自由に設定できるようになりました。
「涅」のボタンを右クリックして「オプション」へと進んでください。
以下のように、cssのfont-family
の値をダイレクトに設定できます。
設定すると、常にこの値が使用されるようになるため、右メニューにあった「明朝」とか「ゴシック」の設定スイッチが表示されなくなります。
設定値を空白に戻すと、また有効になります。
シリーズは基本的に作品を古い順に表示していたのですが、この順番を自由に並べ替えられるようになりました。
シリーズ一覧の「並び替え」から順序を変更できます。
Nehan Reader(ver2.2.35)をリリースしました。
実はMacでしか確認していないので、Windowsで読みにくくなってるかも。もしそうなら、どんな状態か教えてくだされば善処します。
[2017/01/24追記] Windowsで表示が崩れる問題が修正されました!
Nehan Readerを使うと、例えばWikipediaなんかも、こんな感じで縦書きに。
もちろん横書きにすることもできます。
横書きの場合は「見開き」にすると読みやすいかも(設定から Two Page Spreads を選択)。
小説家になろうやカクヨムといったサイトの場合は、特別に幾つかのスタイルを設定するように修正しました。
カクヨムの段落は、それぞれに固有のidが割り振られているのが興味深いです。
ひょっとしたら段落別のフィードバック機能を考えているのかも?
実は自分もそういう機能を実装したことがあるのですが、あんまり利用してもらえなかったのは苦い思い出…
そういえばMediumも、いつのまにか段落コメントじゃなくなってる気が。なにかあったんでしょうか?
シリーズの目次と、テキスト内の目次が、両方サイドバーに表示されるようになりました。
シリーズの目次は、同一シリーズ内のコンテンツを行き来するための目次です。
テキスト内の目次は、本文の中で見出し(ヘッダー)が設定された箇所にジャンプするための目次です。
シリーズの目次とは違い、クリックするとその見出しのあるページにジャンプします。
まだ実験的な機能なのですが、数式の組版に対応しました。
エディター画面の「数式」をクリックします。
数式エディターが開くので、MathJax形式で入力します。
プレビューすると、こんな風に表示されます。
横書きのとき
縦書きのとき
詳しくはMathJaxのドキュメントを見ていただくとして、大雑把に言うと\[
〜 \]
で囲むか、$$
〜 $$
で囲みます。
$$ E = mc^2 $$ \[ e^{i\theta} = \cos\theta + i\sin\theta \]
数式を組み込むと、MathJaxの組版が完了するまで、先頭ページの表示が少し遅くなります。ご注意ください。
作品ページから執筆ページ(エディターページ)に移動できるようになりました。
自分の作品であれば、タイトル脇に「編集する」というボタンが表示されます。
nehan.js 5.5.0をリリースしました。
以下、5.4.x系列からの変更点です。
:matches
, :not
, :lang
をサポートしました。text-combine-upright
が使用されるようになりました。demotext-orientation
の値にsideways
, upright
, mixed
が指定できるようになりました。demolist-style-position
の値に、inside
が指定できるようになりました。Nehan.Preloads
モジュールの追加。サイズ未設定のimg
やmath
などのサイズが動的に取得されるようになりました。onload
フックとして評価されるようになりました。pasted
からlazy
に変更されました。Nehan.PagedElement
が削除されました。今後はNehan.Documentを使用して下さい。Nehan.LexingRule
が削除されました。今後、シングルタグの定義にはNehan.setSingleTagName
を使用して下さい。Nehan.Rgb
, Nehan.Palette
, Nehan.Colors
モジュールが削除されました。v5.5.0から、Nehan.PagedElement
が削除されました。
これの中身は、単なるNehan.Document
のラッパで、やってることはページ状態と表示先DOMをDocumentクラスと一緒に管理しているだけのものです。
Nehan.Document
と役割が被ることが多いので、今回のバージョンアップで削除してしまうことにしました。
MathJaxのサポートですが、現時点では本ソースへの取り込みではなく、プラグインでの対応です。
詳しくは以下のリンクから確認して下さい。
https://github.com/tategakibunko/nehan.js/tree/master/plugins
例えばHTMLで「F-15」のような「-」(ハイフン)を含むboxを90度回転して表示させようとすると、ハイフンの後で改行されてしまいます。
なぜこんなことが起きてしまうのでしょうか。
フォントサイズが16と仮定して「F-15」という横書きのwordを囲むサイズが、32x16(横x縦)だとします。
これを縦書き用に90度回転させると、このwordを囲むサイズは、32x16から16x32になります。
このときFの後のハイフンが、回転前の横幅(32)ではなく、回転後の横幅(16)を前提にして解釈されるのが、改行が発生する原因です。
「F-」まで描画したところでインラインの描画位置が、回転後における横幅の限界(すなわち16)に届くのですが、この位置で発生したハイフンが、line-break-point
とブラウザに判断されるため、改行が発生してしまうわけです。
Unicodeの中でline-break-point
と解釈されるハイフンは他にも色々(*注1)ありますが、よく使われるのはHYPHEN MINUS(U+002D)
や、HYPHEN(U+2010)
です。
*注1 U+002D, U+2010, U+2012, U+2013とかもそう。調べたらもっとあるかも。
というわけで、nehan.js内では英数字を縦書き用に回転させるときだけ、U+002D
とU+2010
(U+2012,U+2013なども)を、あらかじめnon-breaking-hyphen(U+2011)
に変換して、この問題を回避しています。
white-space:pre
でも解決できるかもしれないです。
もちろんこれはベストな解決方法ではありません。
こうしたHyphenの動きをコントロールするため、CSSにはhyphens
というプロパティが定義されているのですが、なぜかChromeではまだ未実装(その他のブラウザは殆ど実装されている)なので、仕方なくこういう回避策をとっています。