Git Product home page Git Product logo

typhon's Introduction

Typhon, the synchronizing ebook reader for Android

Typhon is a free, open-source ebook reader that allows you to keep your reading progress synchronized across multiple devices. This means you can read a few pages on your phone, than grab your tablet continuing where you left off.

It is a fork of PageTurner ( http://www.pageturner-reader.org/ ) and it adds a feature for Japanese dictionary lookup.

The lookup code takes its root on JadeReader. I recycled the Android specific code and made another project for the dictionary lookup called JRikai.

Typhon is licensed under the GPL-V3 license.

Benjamin Marlé [email protected]

Additional Fork Additions

  • Makes it so the back button can be used to close the pop-up dictionary
  • Adds configurable default dictionary font size (can also still be increased/decreased with pinch to zoom)
  • Furigana support
  • Feel free to ask if you want anything else added. Depending on how difficult it is, I may or may not add it, but no harm in asking.

Note that I'm not necessarily trying to become the modern maintainer of Typhon, so if that's something you want to try to do, feel free to take my changes and do so (and let me know in a discussion post so I can link to your repo as my recommendation depending on how it goes).

Typhon改

Revise code base to androidx api29, fixing some UI bugs (Notably fixes unused space at the bottom of tall displays)

Update anki integration so it doesn't crash on android 26+

Add storage permission requests on android 26+

Building Typhon

Install Java

Typhon uses Java 8 lambda's through usage of the RetroLambda library.

Install the Android SDK

Typhon改 was created and tested with Android Studio 4.0

  1. Download at http://developer.android.com/sdk/index.html

  2. Unzip

  3. Update

    sdk/tools/android update sdk --no-ui

  4. On Ubuntu install ia32-libs

     apt-get install ia32-libs
    
  5. Add sdk/tools/ and sdk/platform-tools to your PATH

Install USB drivers for your device

  • Make sure adb devices shows your device, for example

    $ adb devices
    List of devices attached 
    015d18ad5c14000c        device
    

Example PATH setup in .bashrc

export ANDROID_HOME=$HOME/projects/adt-bundle-linux/sdk/
if [ $(uname -m) == 'x86_64' ]; then
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
else
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386/jre
fi

PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Gradle

Typhon is built using Gradle. If you want to use a local Gradle version, make sure it's at least version 2.9. The preferred way is to run the Gradle wrapper. This will automatically download the correct version of gradle to your system.

Run the Gradle wrapper by running

gradlew

Build Typhon

Once everything is in place you can build Typhon and install it on your device with

gradlew build
gradlew installDebug

typhon's People

Contributors

karanveerb avatar benjamarle avatar dajimenezja avatar cfdjimenez avatar

Stargazers

 avatar  avatar

typhon's Issues

Allow custom fonts to be used

Allow us to use some other fonts not bundled with Typhon. Moon+ Reader allows us to use the fonts (.ttf, .otf, .ttc) copied to a dictionary like "/sdcard/fonts". If Typhon were to allow the same thing that would be lovely. I don't really like any of the bundled fonts.

Copying with first word doesn't work

noticed that when selecting text and trying to copy it, it doesn't always work.

After some testing I found that it doesn't copy anything only if the first character in the page is among the characters being selected. If I select anything but the first character in the page, it will copy it. This could be related to issue #3 but in this case it's about copying and not rikai related.

Edit: I am using page view

Anyways sharing the text (including the first character in the page) through the context menu instead of copying it does share it correctly.

No pressure or anything, just sharing what I found after a few days of use, so you can improve the app in the future.

Page view hides part of the text

Hi, just noticed this bug. I was reading and when I went to the next page the first line in the page didn't make much sense.

So I switched to scroll view and confirmed that when on page view it skips part of the text.

Here are some screenshots:

On page view, page 7

Screenshot_20231007-110409_Typhon改.png

On page view, page 8

Screenshot_20231007-110412_Typhon改.png

On scrolling view, the part between the last paragraph of page 7 from before, and first paragraph from page 8, with the part that doesn't appear on page 8 indicated by green [ ] marks.

Screenshot_20231007-110349_Typhon改_1.png

Blank screen after changing settings

Sometimes when I change some settings like text size and press the back button I see a blank screen instead of seeing the ePUB content. When this happens the only way of fixing it seems to be pressing to "My Books" and re-opening the book.

Search bug

I set Typhon to search for books inside a folder that's on the downloads folder, where there are just 4 Japanese ebooks but I noticed that sometimes some other books that are on the downloads folder (but not on that folder) get added to Typhon. I have deleted them from the app a couple of times.

Edit: it happened a couple of times before I created the issue but I haven't been able to reproduce it again. If it ever happens again I'll take pictures.

Furigana support

Hi, I was wondering if you could add support for furigana. Currently when I load an epub that has furigana, it appears as normal text after the kanji. Like this: 見当けんとう.

Also, it would be nice if you could implement a way to adjust the font size.

Other than that, it works great.

Thank you for keeping Typhon updated.

Search doesn't display correct page

Searching finds and highlights the right text, but doesn't always show it on the screen when going to it (in one test, it was 3 pages ahead of where it was supposed to be).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.