Pleco for Android 3.2.13 Beta 6

mikelove

皇帝
Staff member
Hopefully the last one, featuring bug fixes and Ruby Zhuyin from Beta 1, Screen OCR / Reader from Beta 2, improved clipboard monitoring from Beta 3, and new in Beta 4, of Google TTS support; finally Android users can enjoy Cantonese text-to-speech, as iOS users have had for 2 years now.

EDIT: updated to Beta 5 with a few bug fixes.
EDIT 2: updated to Beta 6 with a few more.

If you previously signed up for beta testing through Google Play, this new beta should show up as an update within a few hours. Otherwise, you can get it:

a) Through Google Play. Sign up for that at:

https://play.google.com/apps/testing/com.pleco.chinesesystem

(no more Google Group necessary thanks to a recent Play update) after which you should be able to get it right from there.

b) Directly from our website; APK at:

http://cdn.pleco.com/androidapps/plecodroid-150801.apk

Changes in Beta 6:
  • Fix for a longstanding Clipboard Monitor bug that would cause the Settings screen (and some other tabs as well) to be blank if Pleco was launched directly from Clipboard Monitor while that tab was open + you then switched back to it.
  • Improved screen rotation handling for the floating Screen Reader / Screen OCR button.
  • Fixed a bug that let Pleco and system TTS play simultaneously.
  • Made notification Clipboard Monitoring respect the "use reader if length >" setting just like "open immediately" does.
  • Shrunk the tappable area of popup reader buttons in Screen Reader + Screen OCR so they stay within the toolbars only (since you might want to look up text that's very low/high on the screen and we don't scroll like in other places).
  • Tweaked Screen Reader view hierarchy so that very large views with very little text in them will now be sent to the back even if Android tells us they're in front.
  • Fixed a few more crashing bugs.

Changes in Beta 5:
  • Bug fixes (crash in clip reader 'open immediately,' highlights not disappearing after TTS canceled, sidebar icons not tinted correctly in Night Mode).

Changes in Beta 4:
  • Added support for Google TTS (and any other TTS engine using Android's system TTS framework). This is somewhat less nice than our paid Hui/Liang TTS add-ons, as the audio is of lower quality, there's no facility for following along word-by-word (we go sentence-by-sentence instead) and there doesn't seem to be any way we can override the syllable mappings (so we can't use it to reliably play headwords), but it's free and reasonably functional and is currently the only way we're able to offer Cantonese TTS.

    Settings / Audio now looks pretty much the same as its iOS equivalent - "cycle voices" comes with checkboxes to let you select which voices to switch between and there's now an option to include English audio play buttons in example sentences too. There's also an option to choose your own text engine if you don't like Google's but have another one installed that you prefer.
  • Fixed a really nasty bug (in some Google-supplied code, but that's neither here nor there...) that could cause startup hangs when opening a copy of Pleco downloaded from Google Play while in China.
  • Fixed a newly added bug that kept Skritter's 'send to Pleco' button from working (sorry about that).
  • Made "Select All" in the search field also pop up a selection menu again so you can copy / paste / etc immediately.
  • Correctly themed the clipboard monitor notification to white-on-dark on Android 4.4 and earlier.
  • Fixed inconsistent dictionary stickiness in the clipboard monitor notification.
  • Added an option to make tapping on the clipboard monitor notification bring you directly to the dictionary entry instead of the search results box.
  • Made the popup reader bubble position itself correctly on Samsung devices in split-screen mode.
  • Updated a bunch of minor data files, so you'll get slightly better character decompositions in a few cases and a few font corrections, among other things.
  • Fixed assorted minor crashing bugs.

Changes in Beta 3:
  • Added a notification option for clipboard monitoring, in the new "external access" section of Settings. This gives you a sort of notification-sized version of the Pleco popup reader interface on whatever your current clipboard text is; arrows at the top left corner scroll through previously captured clipboards, selection box at the top right shows you your current text (tap to shrink the highlighted range), arrows to the right of the definition let you both scroll through entries and scroll between words, and buttons on the bottom let you play audio / add to flashcards / search / view in dictionary. There are also options to make this notification persistent.

    We're actually pretty happy with how this turned out too (though the UI still needs a little refining), and are considering putting it into widget form as well (very similar code, as it happens - each a variety of RemoteView), and implementing something somewhat similar in the iOS Today Screen.
  • Improved Screen Reader accuracy with large blocks of text - these should now match up pretty closely with the portion of the text that's displayed on the screen.
  • Related to this, further optimized our handling of WeChat in Screen Reader - in many cases it'll be pretty much pixel-for-pixel with the characters in chat bubbles (making it easy not to lose your place).
  • Made the screen reader button appear immediately after you activate our accessibility service, so you don't have to go back into the menu for that.
  • Added an option to retain the current selection area for Screen OCR, also in Settings / External Access, since we realize that could be pretty useful for stuff like viewing movie subtitles.
  • Added options in Settings / External Access to create toggle icons for Screen OCR, Screen Reader, and Clipboard Monitor.
  • Added options in Settings / External Access to enable or disable the sidebar menu options for Screen OCR, Screen Reader, and Clipboard Monitor.
  • Made Pleco Reader / Pleco OCR appear more reliably in the "share" screen for text / PDF / image files, and made them actually open the files correctly when you select them. (we hope)
  • Added a new control-R keyboard shortcut, which simultaneously jumps you back to the dictionary and pastes in whatever is in the clipboard.
  • Overhauled the still OCR "scrollable focus" mode - now, when you tap on the button to enable that, you'll see a reduced set of OCR control buttons and get a popup reader bubble when you tap on a character (instead of the bottom-of-the-screen definition).
  • Fixed a few nasty new crashing bugs.

Changes in Beta 2:
  • Added a new "Screen Reader" function (available through the sidebar menu). This uses the Android accessibility infrastructure to pull the text of whatever app you're looking at right now and overlay the screen with a tap-lookup-friendly Pleco version; we add a little floating 'reader' button overlay to the screen while it's running. (you can move that button wherever you like by dragging it, and dismiss it with a long press)

    It works on Android 4.1 or later, though support in specific apps varies - doesn't work in the pre-Chrome Android Browser but does seem to work reasonably well in Chrome, works great in WeChat, doesn't work in Kindle (big disappointment, that one) but does work in Google Play Books. Here are some screenshots from WeChat:

    View attachment 1836 View attachment 1837 View attachment 1838

    If you find that a specific app gives you little or no information (particularly problematic in apps like Chrome with very complicated text layouts), tap back or tap outside of the readable areas to dismiss this, wait a second or two, then tap on the reader button again.

    This actually turned out way better than we expected it to, and we're excited enough about its potential that we expect it to play a major role in our future Android development plans. While we aren't taking advantage of this yet, the accessibility system also gives us a great deal of information about which specific app we're running in and gives us notifications when bits of the UI change, so one thing we plan to explore in the future is developing app-specific overlays - trying to match the original app's typography etc more exactly and updating the screen when it changes. We can even exercise a degree of 'remote control' over apps, so it's possible we might be able to use this to build an entire Pleco skin around WeChat; WeChat would still be running, but it would be completely overlaid with a Pleco UI that would let you not only look up words but even compose replies.

    We're excited enough about what we can do with this and eager enough to hear what you all think of it that we're making this feature completely free, at least in its current form - we may make a paid 'enhanced version' of it at some point, either as part of the reader add-on or as a separate add-on, or possibly even charge for app-specific UI skins if those prove a popular concept (would help to justify developing them for more obscure apps), but our intent is to give everybody something reasonably usable in our free app.

    Please do let us know if it behaves oddly or doesn't work at all in a particular app - we can't necessarily do anything if an app doesn't support accessibility, but if it supports it but produces confusing results we can hopefully do something about that. Please also let us know if you notice any performance problems when this is running - we think we've got it optimized pretty well but there's probably something we've missed.

    We're stil tweaking the UI a bit - definitely need a better icon and we also need an easier way to make the floating button appear / disappear (debating between a dedicated launcher shortcut and a persistent notification).

  • Also added a "Screen OCR" function - this one is for Android 5 only (earlier versions didn't support the necessary API). It basically just takes a screenshot and instantly OCRs it, popping up a simplified version of our OCR interface with a popup bubble for looking up words. Less reliable than Screen Reader and without quite as much future potential, but useful for apps where Screen Reader doesn't work well. This one is not free, but it's included with our OCR add-on, so no extra purchase needed if you already have that. Like Screen Reader it's accessed via a floating button, and you can turn either reader option on or off with a long press of that floating button. Screenshots:

    View attachment 1839 View attachment 1840 View attachment 1841

  • Added PDF support to both the document reader and OCR - open a PDF in the document reader to view embedded text, open one in Still OCR to recognize it as a series of images.
  • Moved clipboard monitoring to a system service and made it restart automatically when you reboot your phone if it was running before you rebooted. We also do that with Screen OCR / Screen Reader.
  • Improved live OCR accuracy on devices with higher-resolution screens (we think), using a simple trick from our iOS app that was yet another Thing We Forgot To Port To Android For Way Too Many Years.
  • Inspired by Screen Reader, went through Pleco's own UI and added accessibility text to all of the parts of our UI that didn't already have it - we're ashamed that it took us this long to do that, but in any event our visually impaired users should now have a slightly easier time finding their way around our UI. If you're an Android developer yourself Screen Reader is actually a very handy tool for giving yourself a quick accessibility tuneup - just go through each screen, run Screen Reader, and add content description texts to any UI controls that Screen Reader doesn't see.
  • Added an input method switching option to the tap-hold popup menu in edit fields.
  • Fixed (we hope) slowdowns in the clipboard reader in ARC Welder.
  • Fixed an error when trying to make or restore Google Play in-app purchases.
  • Fixed a bug that kept Zhuyin neutral tone dots from appearing correctly in ruby Zhuyin in the entry list and popup reader for syllables with 3 Zhuyin characters.
  • Fixed a bug that made the audio play button in headwords disappear when using ruby Zhuyin and no Pinyin.
  • Fixed a couple more crashing bugs.
Changes in Beta 1:
  • Added support for Ruby Zhuyin display (small Zhuyin text next to individual characters), in honor of / preparation for the release of the Taiwan MoE dictionary alongside our finished 3.2.13 update. (we've been told this is the biggest missing feature in Pleco compared to the standalone MoEDict app)

    We've done this pretty comprehensively - can be enabled not only in dictionary entry headers but also in search results, example sentences, flashcards, and the popup reader - and are planning to do a lot more with it in the future (automatically adding it to reader documents, e.g.) and to extend it to not only Zhuyin but to Pinyin and to Jyutping/Yale for Cantonese (though these would appear above/below rather than next to characters). Enable it in its dedicated options screen in Settings / Languages. Note that this will prevent regular Zhuyin from displaying if you've set that as one of your pronunciation systems, but if you use Pinyin as your pronunciation system and also enable side Zhuyin the two will happily coexist.

    Please let us know if you notice any weird behavior with this or if you have any aesthetic objections to the way we display Zhuyin (have checked against several apps that we've been told are good examples of it and we think we've got it working pretty well now, but can easily tweak it if not since it's totally custom drawing code, and even if it's working perfectly on our devices it may be that a particular manufacturer has screwed up font rendering in such a way that it displays much less nicely on their devices).

    Also, please let us know which specific places you end up enabling Ruby Zhuyin - we'd really like to have less than 5 checkboxes for this but we're not sure yet where it will work well / badly.
  • Added native x86 code libraries for the sake of people with x86-based tablets or using desktop emulation solutions like ARC Welder - Pleco should be screaming fast on those now. Note that the text-to-speech add-ons are still ARM-only, so if your device can't run ARM code in emulation, most of Pleco should work (including handwriting and OCR) but text-to-speech will probably still refuse to load.
  • Also for the sake of our ARC Welding friends, added three new control key shortcuts; control-F jumps you back to the search screen with an open empty search bar regardless of where you are in our app, control-D adds the current word to flashcards and control-O plays audio.
  • Added an option in settings to use old-fashioned file open / save dialogs even on devices that are running Android 4.4 or later and ought to have access to the newer SAF ones, since those don't work correctly in some forked versions of Android. Automatically enabled them on ARC Welder since they're currently broken on that.
  • Added a male Cantonese audio add-on, and a new Cantonese audio gender preference in Settings / Audio.
  • Did some preliminary optimization for Android M, including a few bug fixes, support for more gracefully handling denied permissions (though we can't ship all of that until they release a final Android M developer kit), and a migration away from the now no longer supported Apache HTTP framework for network connections.
  • Added an item to the Categories section of Card Info to let you add a card to the current default category with a single tap, and made Card Info an option for duplicate handling in settings / flashcards, this as part of a longer-term plan to replace the duplicate prompt with Card Info altogether by making all of the prompt's features available in Card Info.
  • Made the color of full-text highlights lighter for better visibility against tinted example sentences.
  • Moved the loading of user dictionaries to a background thread, which should mean faster startup and a fix for the annoying bug that sometimes caused user dictionaries to be buried at the bottom of Manage Dicts even if you'd previously put them elsewhere.
  • Migrated to a new settings storage system which we hope will make settings / history a bit more immune to accidental deletion on buggy or misbehaving or extremely-short-on-memory devices.
  • Added long-click category selection support to the optional + buttons next to example sentences in definitions and the optional ones in individual dictionaries' definition headers. (you can enable both of those in Settings / Definition Screen if you didn't know they existed before)
  • Completely overhauled the way we handle text selection in our search field - now, long-pressing it will always (and we hope reliably) bring up a Pleco edit menu with copy / paste / select all as appropriate, mimicking the behavior on Android M and doing it in a more consistent way than we've managed to achieve relying on Android itself to produce that behavior.
  • Added the ability to deliver updated versions of CC-CEDICT through Google Play without updating the rest of our app, which should let us update it for GPlay users much more frequently than we could otherwise. (we're going to make these available to other users too, but probably with some sort of opt-in registration process since otherwise every time we updated it we'd rack up a few TB worth of CDN bandwidth bills)
  • Added tone coloring in a few places it didn't appear before, most importantly in English-Chinese dictionary definitions - this requires a database update, we've got one available for NWP right now and will have one for ABC E-C shortly too.
  • Added internal support for masking Registration IDs for use in school / institutional copies of Pleco where you don't want your users to be able to see them (contact us if you'd like to set that up for your institution).
  • Made the number strings after flashcard backup files appear as sensible year-month-day-hour-minute numbers instead of Unix epoch times, and added them to flashcard exports by default (now that we have an option to remove them in settings / miscellaneous).
  • Got rid of the annoying "tap with two fingers" text in the non-handwriting-input flashcard sketch box.
  • Made Pinyin/Zhuyin no longer display in "VARIANT OF" items with pronunciation system set to "none," and updated "YY" in Cantonese variants to "YL"/"JP" to match how they appear in dictionary headers.
  • Added a new URL scheme for direct access to the dictionary definition screen:

    plecoapi://x-callback-url/df?hw=(characters)&py=(pinyin, optional, used to differentiate)&sec=(tab to jump to,dict|stroke|chars|words|sents, optional)

    If you want to fall back on the old search result scheme q?s for people with older versions of Pleco, use:

    plecoapi://x-callback-url/q?s=(characters)&mode=df&hw=(characters)&py=(pinyin, optional, used to differentiate)&sec=(tab to jump to,dict|stroke|chars|words|sents, optional)

    Both identical to our iOS app for easy use by website creators.
  • Also added a new URL scheme for direct download and import of flashcard lists:

    plecoapi://x-callback-url/fl?u=(URL-encoded URL of the list to download)

    Currently only UTF-8 encoded text lists are supported. And again, identical to our iOS app.
  • Moved to a new system for saving / opening still OCR photos taken with "take picture" which we hope will work more reliably on some forked Android versions (and on Android M).
  • Added 'conceal handwriting until done' and 'Enter concealed immediately' options in Test Settings for fill-in-the-blanks handwriting tests, letting you prevent the handwriting recognizer from giving you hints to the correct character; with the former option enabled, you'll only see results in the recognizer when you tap with two fingers to clear, and with the latter, the resulting character will also be entered immediately so you don't have a chance to correct it if you screwed up.
  • Made the definition screen refresh itself correctly after adding or deleting a user dictionary entry.
  • Made incorrect answer characters in flashcard fill-in-the-blanks tests tappable so you can get to their definition screens and find out more about them.
  • Made font sizes in the sidebar menu scale up if your overall Android font size setting is set to something higher than the default.
  • Added an option in Settings / Miscellaneous to put a clipboard monitor toggle at the top of the drawer menu for more convenient access.
  • Hid stroke order for the opposite character set if Pleco is only configured to display one set in the headword.
  • Fixed a bug that kept the initial file download dialog from being correctly themed for Android 5.
  • Fixed a bug that made the text editing cursor in the search field invisible on some devices.
  • Fixed a bug that could cause flashcard export files that were overwriting previous files with the same name to leave behind some data from the older file.
  • Fixed a bug that made the onscreen back button in OCR fail to trigger correctly after rotating the screen.
  • Fixed a bug that made the onscreen back button appear white even against light-colored themes on Android M (and sometimes on 5.1).
  • Fixed a bug that could cause the edit entry screen to prompt you to save changes even if you hadn't made any.
  • Fixed a bug that could cause the contents of flashcard edit fields to be reset on returning from another screen.
  • Fixed a bug that prevented XML flashcard files from importing correctly on newer devices.
  • Fixed a bug that could cause custom entries / flashcards with numbers in them to lose their correct tone coloring after an edit.
  • Fixed a bug that could prevent headwords in Hangul or Kana in C-E flashcards from being magnified correctly.
  • Fixed a bug that prevented super-rare / image characters like old character forms in Grand Ricci Histoire from rendering correctly in Night Mode.
  • Fixed a bug that made Zhuyin characters enlarge along with Chinese characters with the "larger Chinese" option enabled.
  • Fixed a bug that prevented copyright strings in user dictionaries from saving correctly.
  • Fixed a bug that could cause a user dictionary to fail to be created if its name was identical to that of a previous user dictionary.
  • Made the "full-text only" flag for dictionary groups work regardless of the "Integrate C-E Fulltext" / "Integrate E-C Fulltext" settings, part of our long-term transition to a simpler and more group-driven dictionary management system.
  • Fixed a bug that prevented punctuation and extended Unicode characters from carrying through to the other fields in an auto-filled custom card / dictionary entry composition screen.
  • Fixed (we think) a bug that could sometimes cause the input method selection bar to fail to reappear on returning from a definition screen.
  • Fixed a bug that kept flashcard test definitions from updating immediately after changing the dictionary a flashcard is linked to via the separate dictionary screen.
  • Fixed a bug that could prevent categories in text exports from exporting in the correct order.
  • Fixed a bug that made the flashcard session switch dictionary option remain grayed out and unaccessible for custom cards for which exactly 1 dictionary match was available.
  • Fixed a bug that could cause a UNI entry with the wrong pronunciation to display when searching for a particular Mandarin or Cantonese syllable. (character would be correct but it would be a different pronunciation for a 多音字)
  • Fixed a bug that could cause statistics to be included in XML flashcard exports even with the option for that disabled.
  • Fixed a bug that could cause incorrect counts of correct/incorrect cards to appear after undoing a card score when repeating incorrect cards.
  • Fixed a bug that could sometimes cause full-text highlights in the result list to not match up with the words being highlighted. (most often with full-text English searches in E-C dictionaries)
  • Fixed a couple of minor bugs relating to headword / pronunciation text formatting.
  • Fixed a bug that prevented the creation of flashcards from example sentences in English-Chinese dictionaries.
 
Last edited:

HW60

状元
When I export all my flashcards and import them afterwards in a new user dictionary, not all cards are imported. This was probably also the case with Beta 3, but was OK before. This is a very old error from the beginnings of user dictionaries.
 

Peter

榜眼
1. Pleco can play both pleco and system tts voices simultaneously. To reproduce: Enable both pleco and system (Google) tts. Press speakee icon beside long example sentence containing a comma. eg. GF: 为了推翻帝制, 孙中山先生奔走呼号, 宣传革命。After the spoken pause for the comma, press the speaker icon again.
 

mikelove

皇帝
Staff member
@Peter - thanks! This is with the system TTS playing first, right? (so when you tap during that pause the Pleco TTS triggers too)
 

Taichi

榜眼
Clipboard monitoring 'open immediately' causes blank setting screen on 4.4

BTW, is there a way to open clip reader with notification mode?
 
Last edited:

Peter

榜眼
@Peter - thanks! This is with the system TTS playing first, right? (so when you tap during that pause the Pleco TTS triggers too)

Both.

for examle: If pleco voice is first, wait for the speech enginee to get past the comma, and press the spkr icon again to get Google voice.

To clarify: this happens on the EXAMPLES page. It is a minor bug.
 

Peter

榜眼
Screen reader comments:

1. Sometimes there are overlapping regions of text. See screencap. To access the text underneath, I hightlight another region and use the pleco word navigation buttons as the bottom.

2. The popup dictionary can be obstructed by the pleco navigation buttons. See screencap.

tmp_21701-Screenshot_2015-07-31-16-19-02-1042261951.png
tmp_21701-Screenshot_2015-07-31-16-17-19227701136.png
 

mikelove

皇帝
Staff member
@Taichi - thanks! And there's no way to do it with notification mode right now but there should be - we'll see about fixing that, thanks.

@Peter - understood, thanks.

Bubble positioning is an oversight, hadn't considered that there might be a range of text so large the bubble wouldn't fit above or below it - we'll fix that by having it float over the middle of the range in that case.

As for the overlapping text, this is an odd layout - are you using a third-party launcher or the stock one? What's your phone model + firmware version? Ordinarily a containing view would appear before the views it contains in the view hierarchy, and so our system would put them in front of it, so we need to figure out what's causing this strange hierarchy + find a way to deal with it.

We're eventually going to try to move views out of each other's way when they overlap, but that requires some tricky coding to do intelligently so we didn't manage it for this first release.
 

mikelove

皇帝
Staff member
@giokve - for English or Chinese? For English just turn off the "Show English" option in Audio. For Chinese, was this an option before? Do you remember which setting it was tied to? I don't believe we ever supported that deliberately, though if it was possible through some combination of settings and people were using it then we'd certainly like to get it working again.

@Taichi - sorry, having difficulty reproducing this settings screen bug - so you set it to open Pleco immediately and it opens up Pleco with an empty screen? Is this with a string of text long enough to bring up the clipboard reader, or just a short couple of words that would normally come up in the search box? Does it happen regardless of whether Pleco is already running in the background?
 

Taichi

榜眼
"open app immediately" for two characters opens pleco search screen without a problem, but if I open the "Setting" tab from the side bar, the setting screen becomes blank. Actually it seems other tabs (reader, e.t.c.) also become blank screen. I though this bug already got fixed by moving the clipboard monitoring to service.

Update: this happens when pleco running on background.
 

mikelove

皇帝
Staff member
@Taichi - thanks, seeing it now. (we thought the service change fixed it too, very odd)

Update: fixed, we think. (coming soon in beta 6) Turned out that Android was telling us about the same clipboard change twice, so close together that our system for checking that the clipboard was actually new didn't have time to update itself with the new clipboard from the first change.
 
Last edited:

HW60

状元
I have Pleco 3.2.13 from July 29 and found plecodroid-150730.apk and -150801.apk on your website, but did not get updates from Google Play. Do I have to change anything?

EDIT: Now I got an update by Google Play, 3.2.13 from July 30. The naming conventions are somewhat difficult to follow: Beta 4, 5, 6, plecoandroid-150802.apk, Built on July 30. Maybe a table like
3.2.13 Beta 6 ...... plecoandroid-150802.apk ...... Built on July 30
would be helpful.
 
Last edited:

HW60

状元
@HW60 - yeah, that's been in our database for a while now - thanks.
I installed Pleco 3.2.12 Built on April 2, 2015 on my phone. Now all my exported flashcards are imported in a new user dictionary, while with Pleco 3.2.13 July 30 more than 400 cards are not imported.

This is not a big problem for me, because I have 2 devices, now one for creating user dictionaries. It would be more convenient, if I could use Dropbox within Pleco.
 

Taichi

榜眼
blank screen bug seems fixed.
I've been using notification clipboard monitoring with flipboard and kindle app, and it's super useful!
 

mikelove

皇帝
Staff member
@giokve - ah, deleting audio pronunciation would do it, yes. If you download a text-to-speech engine that doesn't support Chinese (quick Google search for text-to-speech engines turned up "Ivona" as the first result that doesn't mention Chinese, though I can't say as I've ever used it), then configure Pleco to use that text-to-speech engine in Settings / Audio, that should get the buttons to disappear.

@HW60 - that's odd, then. Could you email me that exported flashcard file?

Re the updates, this is basically so that we can release a beta as the official app without having to upload another binary to take away the 'beta' label - sorry for the confusion, though.

@Taichi - great, thanks!
 
Top