ascendedguard / android-kanji-fix

Android application to fix Japanese glyph rendering on Android 4.1+
MIT License
7 stars 3 forks source link

Nonfunctional and bugged on Nougat + "revert" breaks all CJK characters #9

Closed twwn closed 7 years ago

twwn commented 7 years ago

edit: First version of this report was partially nonsense as backup is obviously already disabled.

I just made the dumb mistake of clicking "revert" on CM14 Nougat.

Kanji Fix claimed that the fix was applied, whereas the example characters rendered wrong.

So after "reverting" and restarting, now characters won't render at all, only as the "not found" crossed rectangle.

Trying to reapply only yields the "Couldn't find expected fonts in fallback_fonts.xml" message.

Overwriting fonts.xml with those of the CM14 image restores the characters and brings Kanji Fix back to claiming it's already applied. Here's the new fonts.xml (renamed for github), the fallback files are not in the image.

twwn commented 7 years ago

Manually swapping the new versions of the lang="ja" and "zh-Hans" lines (and rebooting) still works.

Unfortunately they seem to have changed some characters, eg. the phonetic part of 湖 – 胡 – is no longer rendered with the distinct small variant of its 肉, but 月.

twwn commented 7 years ago

Or was that particular style part of the Motoya (MTLmr3m.ttf) font? (Which I actually prefer.)

It was removed in this commit.

edit: I know see that the rendering of small 肉-components as ⺼ and 雨 with 𠕒-style dots is actually the Taiwanese style, and not Japanese at all. Sounds like there's a bug. Other distinct kanji rendered fine, btw.

roseyhead commented 7 years ago

Did you ever find a real solution for this issue? I've worked around it by just removing the zh-Hans and zh-Hant families from the fonts.xml file and setting ja's index to 0 but I have no idea if this is going to break anything down the line.

twwn commented 7 years ago

Two actually, the second apparently being the official (and rootless) fix:

Second one assumes an unedited fonts.xml, ofc.

ascendedguard commented 7 years ago

I didn't know you could do this directly in settings now... It sounds like Kanji Fix should just not do anything on Android 7.0? Or only support reverting to a stock fonts.xml in favor of changing the language order in the settings.

Unfortunately I haven't been able to do anything to fix this yet, since I dont have a rooted device on 7.0, and I haven't had any luck at getting root access to the newer emulator images.

FPar commented 7 years ago

Just my two bits. Used the App under Android 6 and worked like a charm. After upgrading to Android 7.1, I had the same problem, that the app thinks, it already applied the fix. Using revert (and rebooting) didn't change or break anything in my case.

However I can confirm, that with Android 7.1 adding 日本語 as input language fixes my Japanese characters.

ascendedguard commented 7 years ago

I've disabled the ability to apply/revert in Android 7.0+ and put an appropriate message on the store listing, patch notes, and in-app on how to fix the character listings. Updating the option through the OS actually takes effect instantly, and you can see the correct characters in-app right away.

Updated app and store listing should be live within the next few hours.