Back

Typhon: eBook reader with Rikai dictionary lookup for Android

#26
I published a new version of the application.

It adds three different open source Japanese fonts to address AzureBlue's problem. I found them on http://www.freejapanesefont.com/tag/open-type/.
We can discuss about providing other fonts with the app but I cannot provide more than 3 because each of them weigh 2mo and I wanted to provide one for each type : Mincho, Gothic and Maru.

I also optimized the new version for the load time so, Creamyhorror, if you could give me some feedback from your side, I would appreciate it.

Next things that I noted from this post that could be improved:
- Furigana management (display them correctly or strip them altogether)
- Analyse the idea of providing some flexibility on the Anki card creation (at least the deck name)
- Provide some more navigation gesture to switch between chapters (swipe left/right?)

The new version is going to be available in a few hours on the Play store.
Edited: 2016-05-03, 10:19 pm
Reply
#27
I uploaded a new version for the navigation gestures.

You can now swipe left and right to change chapters or use the volume button to do so.

Everything is configurable in the settings and there is an added possibility to change the effect of the volume buttons to do a page up and down instead.
Reply
#28
Again, new version to quickly address the last concerns :
- Furigana are now stripped from the text;
- The anki deck name is now configurable in the settings.

These are just quick fix for the two problems. I will probably add the possibility later on, to display furigana properly and for now, you have to type the deck name correctly if you want to target an existing deck otherwise it will create a new one. I want to add an autocomplete feature on the text box so that you can see what deck are available from Typhon without having to switch.
Reply
(March 20-31) All Access Pass: 25% OFF Basic, Premium & Premium PLUS! 
Coupon: ALLACCESS2017
JapanesePod101
#29
Been meaning to reply, sorry for the delay ZorgBlub.

I installed the version you released on 4 May - had to uninstall and reinstall to get it to work without crashing. The book loading time seemingly hasn't improved. I only tried it on a book without chapters, though.

Still appreciating the work you're putting into this Smile
Reply
#30
aw… too bad!

I just made some general optimizations for the overall app. I saw some improvements on my tablet but I guess I won't get out of this one so easily :p

Anyway, I'll have a look to see how I can optimize this in particular, no worries.
Reply
#31
There's like one and a half things stopping me from switching from Play Books to this, vertical rtl text support and the app not going into immersive mode, or whatever they're calling it nowadays where the soft home buttons, status bar and the like move off the screen. One slight issue is that the selection doesn't vanish when the dictionary popup is closed. Other than that, awesome job!
Reply
#32
Typhon runs super smoothly on my tablet (Android 4.4) but painfully slow on my phone (Android 5.02).
Somehow AnkiDroid on my phone does not recognize Anki deck created by Typhon as legit. Any ideas?
Anw, thanks for your hard effort! Big Grin
Reply
#33
(2016-05-10, 1:14 am)MarseSnorty Wrote: There's like one and a half things stopping me from switching from Play Books to this, vertical rtl text support and the app not going into immersive mode, or whatever they're calling it nowadays where the soft home buttons, status bar and the like move off the screen. One slight issue is that the selection doesn't vanish when the dictionary popup is closed. Other than that, awesome job!


The vertical text support is something I will look at because it seems it is something people want. I still have yet to find a way and to understand how it can work with the pop-up because I wouldn't want to close after each lookup to proceed with the reading.

The immersion mode and the selection remaining after the closure of the pop-up are easy to fix so I will include that.
Reply
#34
(2016-05-14, 5:44 am)ilovekazehikaru Wrote: Typhon runs super smoothly on my tablet (Android 4.4) but painfully slow on my phone (Android 5.02).
Somehow AnkiDroid on my phone does not recognize Anki deck created by Typhon as legit. Any ideas?
Anw, thanks for your hard effort! Big Grin

Yes performance will be my priority for now. I use a pixel c tablet so that's why I don't suffer from them but I can see on my Nexus 5 that even the lookups are slowish.

About the deck, do you see any kind of error or the deck simply isn't there? Can you check if you have a value for the deck name in the settings?
Reply
#35
(2016-05-15, 11:11 am)ZorgBlub Wrote: The vertical text support is something I will look at because it seems it is something people want. I still have yet to find a way and to understand how it can work with the pop-up because I wouldn't want to close after each lookup to proceed with the reading.

The immersion mode and the selection remaining after the closure of the pop-up are easy to fix so I will include that.

Awesome, looking forward to whatever you come up with. Maybe have the support as a switch so it closing to continue is the user's choice, or maybe have the window take up about a third of the screen coming in from the right. It might make it easier if you can use a Google chrome web view or something because it supports at least one of the vertical css rules.
Reply
#36
(2016-05-15, 11:13 am)ZorgBlub Wrote:
(2016-05-14, 5:44 am)ilovekazehikaru Wrote: Typhon runs super smoothly on my tablet (Android 4.4) but painfully slow on my phone (Android 5.02).
Somehow AnkiDroid on my phone does not recognize Anki deck created by Typhon as legit. Any ideas?
Anw, thanks for your hard effort! Big Grin

Yes performance will be my priority for now. I use a pixel c tablet so that's why I don't suffer from them but I can see on my Nexus 5 that even the lookups are slowish.

About the deck, do you see any kind of error or the deck simply isn't there? Can you check if you have a value for the deck name in the settings?

I can see the deck but AnkiDroid always encounters error when opening it and quits.  Sad
Reply
#37
OK, I've found the solution to my problem. I changed the deck name into standard Latin one word,  (i.e. "Typhon") Now AnkiDroid recognizes the new deck I've created but I guess I have to lose the old deck (changing name doesn't help)
Reply
#38
Few things I would try to recover the deck:

- check if ankidroid is up to date;
- use the "check databse" of ankidroid;
- try synchronizing the deck on anki desktop and if necessary do a check db there.

The API I use is the one provided by ankidroid so that's why I suspect that it is not up to date. Otherwose either I have misinterpreted the specs of the API or there might be a bug in it. Because the code seems fine after reviewing it for your problem.

Were you ever able to open the deck or it was unusable from the start?
Reply
#39
(2016-05-19, 2:58 pm)ZorgBlub Wrote: Few things I would try to recover the deck:

- check if ankidroid is up to date;
- use the "check databse" of ankidroid;
- try synchronizing the deck on anki desktop and if necessary do a check db there.

The API I use is the one provided by ankidroid so that's why I suspect that it is not up to date. Otherwose either I have misinterpreted the specs of the API or there might be a bug in it. Because the code seems fine after reviewing it for your problem.

Were you ever able to open the deck or it was unusable from the start?

I'm sure about no. 1 but can't check other options because I deleted the failed deck lol Tongue
And it was unusable from the start.
Reply
#40
OK good to know, I will try and reproduce the bug otherwise it will have to wait until someone gets it.

Apart from that I have a new release ready for the immersive mode and the removal of the selection after the pop-up is closed but I cannot upload in the country I am currently in because the play store is banned there so I guess it will have to wait for the end of the trip :p
Reply
#41
(2016-05-22, 11:49 am)ZorgBlub Wrote: OK good to know, I will try and reproduce the bug otherwise it will have to wait until someone gets it.

Apart from that I have a new release ready for the immersive mode and the removal of the selection after the pop-up is closed but I cannot upload in the country I am currently in because the play store is banned there so I guess it will have to wait for the end of the trip :p
@ZorgBlub, how's it going? You've been busy I'm sure.

I found that when I created my Epub in Calibre instead of AozoraEpub3, the Epub loaded at an acceptable speed in Typhon. It's still slow, the text taking maybe 10 seconds to appear, but it's at least usable. I guess there must have been some setting in AozoraEpub3 that caused Typhon to choke.

I'm happily reading my book now. Thanks again!
Reply
#42
Wow, this app is great! Sign up the forum just to comment on this.
Its nearly a dream come true Big Grin . What's left is furigana support.

Light novel and such have character names and moves with "strange" reading and without furigana is quite difficult to enjoy.

GREAT JOB, looking forward to the next version!
Reply
#43
This is a fantastic app...  But sadly I cannot get EPWING support to work.  Every time I try to add a dictionary, regardless of whether it is EPWING or not, it doesn't work for me.  If anyone has any ideas, please let me know.
Reply
#44
Sorry for the delay.

I just published a new version to fix some bugs namely, the problem with the settings and the immersive mode.
Reply
#45
(2016-09-23, 9:49 am)ZorgBlub Wrote: Sorry for the delay.

I just published a new version to fix some bugs namely, the problem with the settings and the immersive mode.

It's absolutely great!  Big Grin
Thank you for the update.  The koujien and daijirin J-J EPWING dictionaries work almost just how I want them to now.  There are still a few issues but now I can use this program to do some reading so this will help a lot.  Much appreciated.

If I were to suggest a few additional features, they would be in the following order, from most to least important, at least just for me personally.  Apologies if any of these are ridiculous requests, I am not a dev so I don't know how difficult any of these would be to implement.

  1. Deinflection support for EPWING dictionaries.  If I hover over "死んだ" in Koujien I only get results for "死" while Edict and Wordnet properly deinflect to "死ぬ".
  2. Ability to default to the dictionary that has the longest count of highlighted characters.  For example, say I have two dictionaries active: EPWING Koujien, and Edict.  If I tap on "異世界", all I get on Koujien is "異".  I'd like to have it be able to auto-switch to Edict because that actually has an entry for "異世界".  This would be very helpful for multi-kanji terminology as well as idioms and phrases that Edict has whereas other dictionaries do not.
  3. There are a few things I think would be good additions to the "saving words" function:
  • You can press and hold on an Edict definition to save the word and sentence to Ankidroid.  Unfortunately you can't do the same with the other dictionaries; if you could do this with EPWING dictionaries as well it would be great.
  • Even when I tried it with Edict, for some reason every Anki card had the text "No context sentence".  The rest of the info (kanji, reading, definition) worked fine but it would not mine the source sentence as well.
  • This might be asking a lot, but it would be cool if there were an option to have pressing and holding on a word share it and its sentence to applications besides just Ankidroid.  Typhon's Ankidroid import function currently does not have all the options that desktop firefox Rikaisama does (pitch accent, frequency info, word audio, etc.), and this is fine.  But what might be neat is if I could just press and hold on a word to send it and its source sentence to a note program such as Evernote or Google Keep.  That way, after I finish reading on the Android device, I can just go to the note program on my computer and mine the sentences into Anki using Rikaisama.  However, this feature is not extremely important since I can already do this by manually highlighting the whole sentence and then sharing it to Evernote/Google Keep.  It would just make it more efficient if it could be done automatically via a function of the application.
Finally, two very minor issues.  For some reason Kenkyusha J-E dictionary seems to be broken.  Other EPWING dictionaries work just fine though. See https://i.imgur.com/XsgTWXW.jpg
Also, http://typhon-reader.org/ seems to be offline so I can't get a key or whatever.  I don't really care about online sync so this is not a big deal for me but I thought you should know.

And that is everything!  Thank you for the update, I will be doing a lot more reading on the go from now on.
Reply
#46
(2016-09-23, 9:49 am)ZorgBlub Wrote: Sorry for the delay.

I just published a new version to fix some bugs namely, the problem with the settings and the immersive mode.

Sad  Furigana... cries

Thanks for update the app though, keep up the good work!

BTW do you know about the following app?

https://smallhax.wordpress.com/2014/10/1...n-android/

Appears to be also a modification of jadereader but with furigana support. Although it is still in alpha and haven't been update in a while.
Reply
#47
(2016-09-23, 4:56 pm)Xavier22 Wrote:
(2016-09-23, 9:49 am)ZorgBlub Wrote: Sorry for the delay.

I just published a new version to fix some bugs namely, the problem with the settings and the immersive mode.

It's absolutely great!  Big Grin
Thank you for the update.  The koujien and daijirin J-J EPWING dictionaries work almost just how I want them to now.  There are still a few issues but now I can use this program to do some reading so this will help a lot.  Much appreciated.

If I were to suggest a few additional features, they would be in the following order, from most to least important, at least just for me personally.  Apologies if any of these are ridiculous requests, I am not a dev so I don't know how difficult any of these would be to implement.

  1. Deinflection support for EPWING dictionaries.  If I hover over "死んだ" in Koujien I only get results for "死" while Edict and Wordnet properly deinflect to "死ぬ".
  2. Ability to default to the dictionary that has the longest count of highlighted characters.  For example, say I have two dictionaries active: EPWING Koujien, and Edict.  If I tap on "異世界", all I get on Koujien is "異".  I'd like to have it be able to auto-switch to Edict because that actually has an entry for "異世界".  This would be very helpful for multi-kanji terminology as well as idioms and phrases that Edict has whereas other dictionaries do not.
  3. There are a few things I think would be good additions to the "saving words" function:
  • You can press and hold on an Edict definition to save the word and sentence to Ankidroid.  Unfortunately you can't do the same with the other dictionaries; if you could do this with EPWING dictionaries as well it would be great.
  • Even when I tried it with Edict, for some reason every Anki card had the text "No context sentence".  The rest of the info (kanji, reading, definition) worked fine but it would not mine the source sentence as well.
  • This might be asking a lot, but it would be cool if there were an option to have pressing and holding on a word share it and its sentence to applications besides just Ankidroid.  Typhon's Ankidroid import function currently does not have all the options that desktop firefox Rikaisama does (pitch accent, frequency info, word audio, etc.), and this is fine.  But what might be neat is if I could just press and hold on a word to send it and its source sentence to a note program such as Evernote or Google Keep.  That way, after I finish reading on the Android device, I can just go to the note program on my computer and mine the sentences into Anki using Rikaisama.  However, this feature is not extremely important since I can already do this by manually highlighting the whole sentence and then sharing it to Evernote/Google Keep.  It would just make it more efficient if it could be done automatically via a function of the application.
Finally, two very minor issues.  For some reason Kenkyusha J-E dictionary seems to be broken.  Other EPWING dictionaries work just fine though. See https://i.imgur.com/XsgTWXW.jpg
Also, http://typhon-reader.org/ seems to be offline so I can't get a key or whatever.  I don't really care about online sync so this is not a big deal for me but I thought you should know.

And that is everything!  Thank you for the update, I will be doing a lot more reading on the go from now on.
Ok, I am gonna reply to the different points but long story short, the first two are trickier than it seems. The last one is doable but not a priority I agree.

So:
1. The deinflection is based on the availabilty of the part of speech information of a dictionary entry. The reason for that is that the deinflector works by mapping of the ending of the word to the stemmed version of the ending. Now, the advantage of that method is that it is fast. The inconvenient is that it can lead to false positives. And the part of speech is used to avoid stemming those that are not inflectable. 
This information is not available from an EPWING dictionary which is presentation-based and not structure-based.

That said, what I can propose is to add an option to add a deinflector on all dictionaries which is not too hard but with the warning that it can lead to (more) false positives.

A more complicated solution would be to use a more powerful stemmer but that can potentially slow down the lookups, to be analysed.

2. This is a bit tougher because the way the dictionary lookup works is that it looks up only for the current dictionary and then the next one in the direction of the last swipe to be prepared in case the user swipes. It does not lookup the rest of the dictionaries and that's important to keep the lookup super fast. Maybe in the future, it could lookup the other dictionaries in another thread and switch if the result arrives in time but that might create an unpleasant delay that switches while you read the first entry.

3. The EPWING to anki features requires a more advanced parsing that is dictionary-dependent of the entries which is what cb4960 implemented. So that means a parser per version of dictionary like Kenkuysha 5th, Daijisen, Daijisen 2th, etc… And for different reasons, I cannot reuse directly cb4960's code.
While possible to adapt, the main problem for me is to be able to test those parsers while not possessing the dictionaries (I have only Kenkuysha 5th).
But that could potentially bring some good things along like coloring of the EPWING entries.

I will check the context sentence, there might be a bug.

I read the code from cb4960 and the pitch accent and frequency info could be added pretty easily but I don't know about the audio. But I was thinking of implementing a history information based on two files:
- The matches to have a history of the searches
- A possibility to long click (thus overriding the anki creation) on an entry to save its content as a csv to import it elsewhere, potentially a better app to generate flashcards.

Sorry if somethings are not making sense, I did not review my post :p
Reply
#48
(2016-09-24, 12:45 pm)omegadralta Wrote:
(2016-09-23, 9:49 am)ZorgBlub Wrote: Sorry for the delay.

I just published a new version to fix some bugs namely, the problem with the settings and the immersive mode.

Sad  Furigana... cries

Thanks for update the app though, keep up the good work!

BTW do you know about the following app?

https://smallhax.wordpress.com/2014/10/1...n-android/

Appears to be also a modification of jadereader but with furigana support. Although it is still in alpha and haven't been update in a while.
Thanks!

Yes, I've seen this but this is not a modification of JadeReader. It uses a web based solution that allows to re-use the code from rikaikun directly. It has advantages and disadvantages.

I just published an experimental furigana support feature since a lot of people were asking for that. You have to activate it in the settings then close and reopen the app.
Reply
#49
Woah, thanks for Furigana support! Big Grin


I have totally no idea about HTML or ruby, but this is one bug I found:
Source: epub converted from awz3 (bought from amazon)

1) Furigana not showing and empty spaces
From what I see, the reader only supports one set of <rt></rt> per <ruby></ruby>
So "<ruby>寝<rt>ね</rt>静<rt>しず</rt></ruby>" with two <rt></rt>, only  <rt>ね</rt> shows while <rt>しず</rt> becomes an empty space at the end.

Example Source: epub converted from awz3 (bought from amazon)
<p class="calibre2"> いつもなら<ruby>皆<rt>みな</rt></ruby><ruby>寝<rt>ね</rt>静<rt>しず</rt></ruby>まっているはずのその時間。<ruby>五<rt>いつ</rt>河<rt>か</rt></ruby>家<ruby>隣<rt>となり</rt></ruby>の<ruby>精<rt>せい</rt>霊<rt>れい</rt></ruby>マンションの一室には、<ruby>未<rt>いま</rt></ruby>だに<ruby>煌<rt>こう</rt>々<rt>こう</rt></ruby>と明かりが<ruby>灯<rt>とも</rt></ruby>っていた。</p>

[Image: xtzEDbb.png]



2) Night mode
Can't change the colour of the Furigana
[Image: TmUWlT2.png]


3) Not related to furigana, but I have images that frequently does not load and show "OBJ" instead.
Switching from day to night mode and vice versa makes the images load somehow.

[Image: bV6fos3.png]




Thanks!
Reply
#50
(2016-09-26, 9:46 pm)ZorgBlub Wrote: *snip*

Thank you very much for the detailed reply!

>That said, what I can propose is to add an option to add a deinflector on all dictionaries which is not too hard but with the warning that it can lead to (more) false positives.
>A more complicated solution would be to use a more powerful stemmer but that can potentially slow down the lookups, to be analysed.

I'll leave that to your discretion, but I think either would be A-OK.  Even if there were false positives as long as it let me use EDICT dictionaries for verbs then it'd be great.

>This is a bit tougher because the way the dictionary lookup works is that it looks up only for the current dictionary and then the next one in the direction of the last swipe to be prepared in case the user swipes. It does not lookup the rest of the dictionaries and that's important to keep the lookup super fast. Maybe in the future, it could lookup the other dictionaries in another thread and switch if the result arrives in time but that might create an unpleasant delay that switches while you read the first entry.

If it does look up two dictionaries at once already, then if it just could pick the longest entry between those two then that would work fine.  When using desktop Rikaisama, I primarily use Koujien J-J for the things I can, but use EDICT for things that Koujien does not have (slang, netspeak, longer phrases, etc.).  It doesn't really need to search every dictionary, since at least for my use case those two alone cover almost everything.

Also thanks again for the app, it's very useful, I hope I didn't come off as whiny talking about new features, because it is already the best app for reading Japanese text IMO. Big Grin

Good luck with the development and everything else!
Reply