web-dev-qa-db-ja.com

リフロー可能な本でブックマークを処理する方法

私は、リフロー可能な本をサポートするeReaderを作成するチームに所属しています。本はePub形式です。
リフロー可能ブックを起動すると、ページ数は動的です。

例えば:
デフォルトの画面サイズが100%で100ページの本があるとします
200%に拡大すると、ページ数が200ページに増えます
画面を50%に縮小すると、ページ数が50ページに減少します

このシナリオでは、コンテンツは常にブック内を流れるため、ユーザーはどのようにページをブックマークできますか。ページ2をブックマークし、ページ2をズームインすると、コンテンツが3ページと4ページに分散されます。ユーザーがページをブックマークする方法がわかりません。ズームインアウトパーセンテージ全体で答えが機能することを願っています。

6
A user

テキストの強調表示機能を追加すると、ユーザーがテキストを強調表示すると、テキストをブックマークするオプションが表示されます。

そうすれば、どのようにズームイン/ズームアウトしたかに関係なく、彼らはまだ正しい場所に戻って楽しそうに読み続けることができます。

ブログWebページMediumは、これを非常に適切な方法で実行します。

enter image description here

11
RobbyReindeer

Rob Eのすばらしい答え は、アプリケーションがテキストの特定のパッセージにマークを付けることができる(そしてユーザーが望んでいる)場合をカバーしています。

ユーザーが特定のパッセージをマークする必要がない単純な「このページをブックマークする」オプションもある(または提供したい)場合、段落の「場所」をに保存する必要があると思います。現在のページのトップ。ブックマークに戻ったら、保存された場所を新しいページの上部に表示します。


私の最初の本能は、現在のページのmiddleに最も近い場所を格納することを提案することでした(あなたがを入力した場合、そのテキストのビットブックマークに戻ると、ページの中央で、ほとんどの場合、ほとんどのズームレベルで、読者が望んでいた場所に「かなり近づきます」。

しかし、熱心なKindleユーザーとして、テキストの一部を強調表示するのではなく、ブックマーク機能を使用する場合について考えました。

  • フィクションの作品にアクションが行われるエリアの地図がある場合、地理を確認する必要がある場合に簡単に戻ることができるように、頻繁にそのページをブックマークします。

  • なんらかの用語集、文字のリスト、...のほとんどすべてのリストがある場合、もう一度最初のページをブックマークそのようなリストので、簡単に戻ることができます。

よくあることは、私がマークしているものは、通常、ページ上の唯一のもの(マップの場合が非常に多い)であるか、新しいページを強制的に開始する(通常は用語集などの場合)ことです。どちらの場合も、最初にマークされたページのbeginningに戻るのが正しいようです。

また、コメントで Monty Harder が指摘されているように、ブックマークを「従来の」目的で使用するとき-読み終わったところに戻ってから-というテキストを持ってくるusedをページの上部に配置するbackをページの上部に配置する(ズームレベルが異なる場合でも)が最も安全なオプションです:最悪の場合、あなたはすでに読んだいくつかの部分を読み飛ばさなければならないかもしれません。ただし、ページのmiddleにあったものを中央に戻した場合、(ズームレベルが増加した場合)テキストの未読部分に前のページに戻りました。

18
TripeHound

物理的な本で自分の場所にブックマークを付けるときは、章の境界などではない限り、ブックマークの下部を常に再開したい特定の行に配置します。電子ブックのブックマークは、リフロー可能かどうかにかかわらず、同じように機能します。ページをブックマークするのではなく、テキスト内の特定の場所をブックマークします。

ここでは、ドキュメントのドキュメントオブジェクトモデル(DOM)構造が役立つ場合があります。表示はリフローしますが、EPUBの基になるマークアップは変わらないため、ブックマークはドキュメント内のノードへの参照になる可能性があります。

これを実行する力ずくの方法は、すべての段落に、たとえば、章と段落番号に基づく一意のIDを与えることです。または、DOMのみに基づいてブックマークを保存する方がよい場合もあります。これはコンピュータが認識するものです。

1
T Morgan