タグ

ブックマーク / tategakibunko.hatenablog.com (29)

  • シリーズから作品を簡単に削除できるようになりました - anti scroll

    今までシリーズから作品を削除する際には、作品一覧の画面から「シリーズの設定」を選んで、選択されているシリーズを解除する、という(面倒な)操作が必要でした。 シリーズの設定を選んで、登録先を無効化する、という手順が必要だった 今後はシリーズ一覧画面から、それぞれのシリーズの「シリーズの並び替え・編集」を選ぶと、 シリーズの並び替えと編集ボタン シリーズに登録されたそれぞれの作品の横に「削除ボタン」が表示されるようになったので、そこから作品を当該シリーズから削除できるようになりました。 削除ボタンが追加された もちろんシリーズから作品を削除するだけで、作品そのものが削除されるわけではないことにご注意ください。

    シリーズから作品を簡単に削除できるようになりました - anti scroll
  • HomebrewからMacPortsへの移行でハマった部分(主にRust周り) - anti scroll

    2023年の中旬ごろ、HomebrewがBigSurなどの古いMacOSをサポートから外してしまいました。 しばらくは「なんとかなるさ!」と使っていたのですが、半年もしないうちに重要なパッケージが更新できなくなり… 特に痛かったのは、libheifが更新できなくなって、ImageMagicでavifを扱えなくなったことでした。 そこで古いOSもサポートしていると噂のMacPortsに移行することに。 他の移行先としてnixなども考えましたが、ちょっと調べた感じだと「まだ過渡期なのかな」と思ったので、無難にMacPortsにしました。 で、実際に使ってみたら、拍子抜けするぐらい、普通に移行できました。 しかし、やはり一部ハマったものもあったので、その経験を残しておきます。 ハマりポイントは2つで、自分の場合はcargo-edit(Rust)とfabric(Python3)でした。 cargo

    HomebrewからMacPortsへの移行でハマった部分(主にRust周り) - anti scroll
  • 作品ページからシリーズ内の別の作品に移動できるようになりました - anti scroll

    小さな修正ですが、作品のビューアー下部に表示されるシリーズ情報から、以下のようにシリーズ内の別の作品に移動できるようになりました(これまではシリーズページをわざわざ開く必要がありました)。 ドロップダウンからシリーズ内の作品に移動できる ぜひ使ってみて下さい。

    作品ページからシリーズ内の別の作品に移動できるようになりました - anti scroll
  • タイトル、筆者名、タグなどで作品が検索できるようになりました - anti scroll

    縦書き文庫内の作品が、タイトル名、筆者、タグなどで検索できるようになりました。表示順序は、人気順と新着順が選べます。 これまで縦書き文庫内の検索はグーグルさんの検索に任せていたのですが、最近グーグルさんの検索結果から縦書き文庫のページが(たぶん当方の技術的なミスにより)消えてしまい、今も復旧の目処が立たないので、急遽ですが自前の検索システムを実装しました。 人気順と新着順を選べる 実際に「タイトル」で「漱石」という単語を「人気順」で検索するとこんな感じです。 漱石、で検索 右上の検索窓から検索してもいいですし、 右上の検索窓 直接、検索ページに行ってもOKです。

    タイトル、筆者名、タグなどで作品が検索できるようになりました - anti scroll
  • 映画を撮るように小説を書こう。縦書き文庫「ドラマモード」の紹介 - anti scroll

    縦書き文庫にて「ドラマモード」の提供が開始されました。 ドラマモードは、背景画像と、キャラクターのアバターと、アニメーションテキストで語られる表示モードです。 ようするに、ビジュアルノベルみたいな表示ができるモードですね。 動作サンプルはhttps://tb.antiscroll.com/dramas/administrator/24548からどうぞ。 また記述方法についての概要は、ヘルプのドラマモードって?を確認してください。 ドラマモードの画面 ドラマモードとして投稿するには 投稿フォームの入力フォーマットという項目を「ドラマ記法」にして投稿してください。 機能の紹介 以前、アマチュアとプロの小説の比較について書きましたが、その中で「アマチュアは時間の記述が少ない傾向にある」と述べました。 今回作成したドラマモードでは、背景画像を表示できるので、それによって時間と場所の変更を、文章に頼

    映画を撮るように小説を書こう。縦書き文庫「ドラマモード」の紹介 - anti scroll
  • ページを指定して作品を開くことができるようになりました - anti scroll

    ページ指定の方法 作品ページのURLの末尾に?p={ページ番号}を付けると、そのページ番号から作品を開けるようになりました。 例えば、夏目漱石の「こころ」の10ページ目を開くリンクは、次のようになります。 https://tb.antiscroll.com/novels/library/6162?p=10 「管理ページ > しおり」ページの改善 「管理ページ > しおり」で表示される、それぞれのリンクをクリックすると、しおりを挟んだページから再開されるようになりました。 これまでそうじゃなかったのが変だったのですが。。。 注意事項 ちなみにページを指定したリンクを他人と共有するのは、オススメできません。 なんでかというと、ページの縦横サイズは、端末の解像度によって変わるからです。 例えばスマホでは、1ページのサイズが、PCに比べて(とても)小さくなりますよね。 なので、PCで2ページ目だっ

    ページを指定して作品を開くことができるようになりました - anti scroll
  • 作品の長さに関係なく、高速に作品が表示されるようになりました - anti scroll

    非同期処理への対応 少し前にブログで「wasmではjsと非同期のやり取りをするのが難しい」と書いたのですが、この技術的な課題をなんとか解決できたので、組版の完了したページを(全ページの計算の完了を待たずに)表示できるようになりました。 これによって、すべての作品が0.1 ~ 0.2秒ぐらいで表示されるようになり、大幅に使用感が改善されたと思います。 技術的な部分 実はjsと非同期にやり取りする部分のコードのサンプルは、wasm_bindgenのサンプルに入っています。 https://github.com/rustwasm/wasm-bindgen/tree/main/examples/request-animation-frame 肝要なところを抜き出すと以下のようになります。 pub fn run() { let f = Rc::new(RefCell::new(None)); let

    作品の長さに関係なく、高速に作品が表示されるようになりました - anti scroll
  • WebAssembly導入の効果をプラットフォーム別に比較してみた - anti scroll

    先日、縦書き文庫の組版エンジン(nehan)をRustで書き直し、WebAssembly化したと報告しました。 tategakibunko.hatenablog.com その際に「約3倍の速度向上があった」と書いたのですが、あれから約2週間分の利用者のログをもとに、プラットフォーム別に速度を比較したところ、ちょっと違う結果が出ました。 比較したプラットフォーム とても大雑把ですが、PCWindows)とPCMac)とiPhoneAndroidに分けて計測しました。 プラットフォーム別の速度 以下は速度比較のグラフです。縦軸は秒速の組版字数で、大きいほど速いことになります。 赤がnehan7(js)の速度で、青がnehan8(wasm)の速度です。 nehan7(js) vs nehan8(wasm) プラットフォーム別の速度向上率は、こんな感じでした。 PCWindows):約7倍

    WebAssembly導入の効果をプラットフォーム別に比較してみた - anti scroll
  • nehan(縦書き文庫の組版エンジン)をWebAssembly化することで、約3倍の高速化を達成しました - anti scroll

    縦書き文庫の組版エンジンであるnehan(js製)をRustで書き換え、WebAssemblyで実行したところ、約3倍の高速化に成功しました。 現時点ですでに運用されています。 感想としては「当は10倍ぐらい速くなって欲しかったけど、そこまでは速度が出ずにトホホ…」という感じです。 3倍なら良いではないか、と思われる方もいるかもしれませんが、青空文庫の長編小説なんかは、だいたい40万字ぐらいあり、そのjsでの組版時間は(すごく遅い端末だと)27秒に達することもあります。 ちなみに手元のノートPC(メモリ8G)でjsに組版させると5秒ぐらいです。 この5秒が1.7秒ぐらいになるのは嬉しくても、27秒が9秒になっても、あんまり嬉しくないですよね。 だから、ずっと10倍を目標にしてきたのですが… まあこれから頑張って、Rust側のソースを最適化していこうと思います。 ビューアーの変更点 全ペー

    nehan(縦書き文庫の組版エンジン)をWebAssembly化することで、約3倍の高速化を達成しました - anti scroll
  • nehan-player v0.1.1を公開しました - anti scroll

    nehan-playerの0.1.1を公開しました。 tategakibunko.github.io 変更点 NehanPlayer.initializeにて、cssTextオプションを指定できるようになりました。 ページ番号(ノンブル)の表示位置が、ページ送りメニューバーの中ではなく、文画面の中に表示されるようになりました。 cssTextオプションについて nehan-player要素のスタイルはcssFilesオプションで読み込むスタイルシート群を指定できるのですが… NehanPlayer.initialize({ cssFiles: ['path/to/my-style.css'] }); しかし、外部ファイルをわざわざ用意したくない場合は、cssTextオプションが便利です。 NehanPlayer.initialize({ // メニューバーは非表示 cssText: "#

    nehan-player v0.1.1を公開しました - anti scroll
  • 縦書き文庫のビューアーをリニューアルしました - anti scroll

    縦書き文庫のビューアーを久しぶりにリニューアルしました。 いくつかあった不満点を、それなりに改善できたと思います。 旧ビューアーの不満点 目次、登場人物、コメントなどの各種情報が確認しにくかった(下方向へのスクロールが必要だった) 解像度の大きいPCで横幅が余ってしまっていた 横書きが読みにくかった(縦書きを初期設定にしているので、横幅がでかくて読みにくかった) 表示設定を変えると、先頭ページに戻されてしまっていた 新しいビューアーの改善点 目次、登場人物、読者分析、コメント、お気に入りユーザー、しおりなどの情報が、上部のタブから簡単に確認できるようになりました。 上部のタブから各種情報が確認できるように 見開きに対応したので、横書きが読みやすくなりました。 見開きで横書きも読みやすく 目次の情報が作品の左上に表示されるようになりました。 目次の情報が左上に表示されるように 画面サイズに合

    縦書き文庫のビューアーをリニューアルしました - anti scroll
  • だれでも簡単にページ組版が扱えるウェブ・コンポーネント「nehan-player」を公開しました - anti scroll

    nehanによるページ組版を簡単に扱えるウェブコンポーネントを作ってみました。 ドキュメント デモ 導入 テキストの内容を、サーバーからsrc属性で読み込む場合は、こんな感じになります。 <nehan-player writing-mode="horizontal-tb" width="responsive" src="/path/to/your-novel.html" height="500" font-size="16" layout="1x2"> </nehan-player> <script src="https://cdn.jsdelivr.net/npm/nehan-player@0.0.2/dist/nehan-player.min.js"></script> <script> NehanPlayer.initialize(); // 初期設定(オプションなし) </scri

    だれでも簡単にページ組版が扱えるウェブ・コンポーネント「nehan-player」を公開しました - anti scroll
  • 数式の表示とプログラムの色付け表示に対応しました - anti scroll

    縦書き文庫で数式とプログラムの自動色付け表示ができるようになりました。 縦書き文庫ヘルプ 数式を入力してみよう 縦書き文庫ヘルプ プログラムコードを入力してみよう 数式 数式は文の途中に差し込む場合(インライン表示)と、行全体を使って表示する場合(ブロック形式)のそれぞれで書き方が異なります。 文の途中に差し込む場合は、次のように書きます。 [math $sin$theta]は、日語で「正弦」といいます。 書き方は[math 数式]です。 実際に表示するとこんな感じになります。 行全体を使って表示する場合はmathタグを使います。 <math> c = $pm$sqrt{a^2 + b^2} </math> 実際に表示するとこんな感じになります。 色々な数式の記述についてはKaTexのサイトを参照してください。 ちなみにKaTexでは\(バックスラッシュ)で書く記号を、縦書き文庫では$(

  • VirtualBox(v6.1)に付属のVBoxGuestAdditions-5.2.44にて、Centos8が起動しなくなった件について(解決) - anti scroll

    原因はGuestAdditionが作成するvboxsf.koが、/lib/modules/4.18.0-193.28.1.el8_2.x86_64/misc/にコピーされていなかったからのようです。 解決方法 まず、最新カーネルイメージは正常起動せず、emergency modeで起動するため、一つ前の世代のイメージからOSを起動します。 一応、以下に手順。 VirtualBoxのUIからOSを通常起動します。 Grubのカーネルイメージを選択する画面で、F12を押します。準備してないと遅れるので注意。 並んでいる項目の一番上のカーネルイメージが最新ですが、それは起動しないので、上から二番目のやつを選択します。 たぶん普通に起動するので、あとはsshで入るなりして、以下の作業をしましょう。 cd /opt/VBoxGuestAdditions-5.2.44/src/ sudo make s

    VirtualBox(v6.1)に付属のVBoxGuestAdditions-5.2.44にて、Centos8が起動しなくなった件について(解決) - anti scroll
  • 各種機能を改善しました - anti scroll

    縦書き文庫の各種機能を改善しました。 作品一覧にてタグが表示されるように 作品の一覧にて、タグが表示されるようになりました。 タグの表示 これによって、同じ系統の作品にアクセスしやすくなりました。 シリーズに追加できる作品数を20から50に増やしました 大菩薩峠(41作品)のように大きなシリーズもあるので、シリーズあたりの作品数を20から50に拡張しました。

    各種機能を改善しました - anti scroll
  • ゲームパッドの操作を記述する言語「combo-script」と、その再生アプリ「combo-player」を作りました - anti scroll

    きっかけ 作ったきっかけは、最近買ったウイイレ2020の操作が、ちっとも頭に入らなかったからです。。。 一応ゲーム内にマニュアルがあるんですけど、文字とか矢印で説明されても、ピンと来ないんですよね。。。 そこで思いついたのが「ゲームの操作をぱぱっと記述したら、パッド上の動きをアニメーションを再生しつつ、操作ログも出してくれる」みたいなものがあったら、理解が捗るかなあ〜?ということです。 というわけで作ったのが、combo-scriptと、combo-playerです。 例えばcombo-scriptで昇龍拳を記述して、combo-playerで再生するとこんな感じになります。 昇龍拳! その他、色々なコマンドについては、デモサイトを見てください。 tategakibunko.github.io 上のデモサイトでは、ウイイレの他に、スト5とか鉄拳のコマンドとかも追加しておきました。 メニュー

    ゲームパッドの操作を記述する言語「combo-script」と、その再生アプリ「combo-player」を作りました - anti scroll
  • 先頭ページに「登場人物の一覧」が表示されるようになりました - anti scroll

    作品に登場人物を登録した場合、先頭ページに「登場人物の一覧」が表示されるようになりました。 登場人物の一覧 市販の書籍でも、だいたいこんな感じで冒頭に表示されてますよね。 登場人物の挿絵については、小説文の下側に「登場人物」のタブメニューがあって、そこをクリックすると挿絵付きで一覧が表示されます。 挿絵付きの登場人物一覧 人物をクリックすると、こんな感じで詳細情報が表示されます。 人物の詳細

    先頭ページに「登場人物の一覧」が表示されるようになりました - anti scroll
  • シリーズ作品において続きの作品へのリンクが本文の最後に表示されるようになりました - anti scroll

    Togetterの次の記事に「探す作業が嫌だ」みたいなことが書かれていて「そりゃごもっとも…」と思ったので、表題の件を実装しました。 少年ジャンプ+副編集長が大学1年生から「漫画アプリのUIについて物申したい!」というDMが来て実際に会って考えが整理されて意義深い時間になったという話 - Togetter これまでは、シリーズを設定している作品について、続きを読む際に、いったんシリーズ作品のリンクへ飛んでから、自分で続きを探さないといけませんでした。 これからは続きがある場合は、文の最後にリンクが表示されます。 続きがある場合は、リンクを表示する 当たり前にそうあるべきことが、これまで出来ていなかったことが、ちょっと恥ずかしいです。

    シリーズ作品において続きの作品へのリンクが本文の最後に表示されるようになりました - anti scroll
  • nehan7をリリース - anti scroll

    nehan6からnehan7にバージョンアップしました。 インストール npm install --save nehan 変更点 組版速度が約20%向上しました。 コードサイズが約10%削減されました。 nehan.cssが不要になりました。 行内に置換要素、画像、ルビ、圏点傍点、複数サイズの文字などを同時に含むような場合でも、ベースラインが正確に計算されるようになりました。 テーブルセルに対してvertical-align: middleが効くようになりました。 いくつかのパターンにおける文字詰めの表示崩れを修正しました。 行末揃えの処理を指定しても組版速度が落ちなくなりました。 PageReaderは廃止されました。今後はPagedHtmlDocumentを使用してください(後述)。 縦書き文庫のビューアーの刷新 縦書き文庫のビューアーも、新バージョンのエンジンに差し替えました。 ne

    nehan7をリリース - anti scroll
  • TypeNovelのVSCode拡張を公開しました - anti scroll

    VSCodeのマーケットプレースにvscode-typenovelというTypeNovel用のVisual Studio Code拡張を公開しました。 marketplace.visualstudio.com インストール後は、*.tnファイルを編集するときに有効になります。 実際に動かすと、こんな感じです。 主な機能 ブロック(@で始まる)と注釈($で始まる)のインテリセンス 組み込みマークアップの引数説明を表示($rubyとか@notesとか) 文法のハイライトや、括弧を自動で閉じる設定 セーブ時にエラーをチェック(注釈されていない制約、未定義の制約、重複した制約など) ちなみに$で起動するインテリセンスは、もちろん組み込みタグだけではなく、ブロックで定義した制約の一覧も表示します。 連絡先 バグや機能要望はGithubにて受け付けています。 github.com 余談(開発でハマった

    TypeNovelのVSCode拡張を公開しました - anti scroll