github bee-san/hachidori 0.4.0
Hachidori 0.4.0

4 hours ago

🐦 Hachidori 0.4.0

Hachidori now runs in Firefox, from the same code as the Chrome extension. A new search page looks up words you type or paste, such as one from an Anki card, and the Crystal theme joins the Theme Store. Headword furigana are split per kanji, the headword's pitch accent moves onto its reading, and definition tags look as they do in Yomitan. A backup made with 0.3.2 restores in this version, in Chrome and in Firefox.

🦊 Hachidori for Firefox

Hachidori runs in desktop Firefox 153 or newer with the same reader, popup, dictionaries and engine, Settings, search page, Anki mining, pronunciation, keybinds, backups, updates, themes and Sharing. A backup made in Chrome restores in Firefox. Get *-firefox.zip under Downloads below; it is not on addons.mozilla.org yet, and Firefox removes a temporary add-on, with its data, when it closes, so the Firefox guide says how to keep it installed. Where Firefox can't do what Chrome does (#629, fixes #622):

  • The engine runs on one thread. Firefox can't give extension pages shared memory, so the engine uses its single-thread build on IndexedDB. Low memory mode and the entry and index storage choices are hidden.
  • Netflix mining (experimental) gets no line audio or GIF. Notes still get the subtitle sentence and the screenshot, with a warning that says why.
  • Local files need Firefox's Access local files on your computer switch, in about:addons β†’ Hachidori β†’ Permissions and data.
  • Custom JavaScript needs Allow user scripts once, which Firefox asks you to confirm.
  • Sharing needs Hachidori Relay 0.0.6 or newer, the first that accepts Firefox. Settings β†’ Sharing β†’ Download the Anki add-on now gets 0.0.6, in Chrome too.

Firefox shows that the add-on uses website content and browsing activity: Anki notes carry the page's sentence, screenshot and title, word highlighting asks Anki about the words on a page, and pronunciation sources and a linked browser get the words you look up. Nothing goes to Hachidori's publisher. The Firefox guide has the details.

πŸ”Ž Look up words from anywhere

A word on an Anki card, in a game or in a chat app now has a way in. Search, beside Settings in the toolbar button's menu, opens a search page: type or paste a word or a whole line and press Enter. The result is the reader's own popup, docked under the box in your theme, with its tabs, Anki, pronunciation, the Note pencil, Back and nested popups. Add to Anki takes the sentence around the word from the pasted line, and you can hover the line's other words too. Browser shortcuts open the page in a new tab (Alt+Insert), in the current tab or in a popup window, as in Yomitan. To hide Search in the menu, turn off Settings β†’ Reading β†’ Search page β†’ Show Search in the toolbar menu. (#627, fixes #610)

πŸ’Ž New theme: Crystal

Design β†’ Theme Store has Crystal: a navy panel in a fine gold frame with corner scrolls and a crystal crest. Each word gets one header with a serif headword, its gold reading with your pitch marking, the deinflection trail and book and star frequency badges. Each dictionary gets a framed section with numbered senses in gold diamonds and its own audio, Anki and Note buttons. Its text has at least 5.28:1 contrast, and Windows contrast themes drop the ornaments. (#630, idea 5 in bee-san/hachidori-themes#24)

πŸ“Š Words only a frequency or pitch dictionary has

Settings β†’ Reading β†’ Results β†’ Show words that only frequency or pitch dictionaries have shows a word that no installed dictionary defines, with its frequency and pitch accent but no definitions. It is off by default, because frequency lists also list fragments of text such as はまだ, and these come first wherever they match more of the text than a defined word; #626 asks whether it should be on. Such a word's inflected forms are not found, because these dictionaries give no part of speech. The JL, Bee's Theme, Plain and Crystal popups show only words with definitions. (#628, fixes #620)

🏷️ Definition tags, the way Yomitan draws them

A dictionary card no longer starts with a small grey title line. Its first definition ends its tags with the dictionary's own tag, showing the name or alias you gave it, as Yomitan does with its Compact tags option. Tags take Yomitan's shape, a bold label at 11/14 of the text size, and each category takes Yomitan's colour: its light colours in a light palette and its dark colours in a dark one. Where Yomitan's label would fall below 4.5:1 contrast, the colour is darkened just enough, keeping its hue. Windows contrast themes draw an outline around each tag. (#612, fixes #604)

🈁 Furigana and pitch accents

  • Furigana for each kanji. A run of kanji gets one reading per kanji when KANJIDIC's readings allow exactly one split: δΊŒεε››ζ™‚ι–“ shows 二(に)十(γ˜γ‚…γ†)ε››(γ‚ˆ)ζ™‚(じ)ι–“(かん) instead of one γ«γ˜γ‚…γ†γ‚ˆγ˜γ‹γ‚“ over all five. Words read as a whole, such as 今ζ—₯ and ε€§δΊΊ, keep one reading. The popup and Anki's {furigana} and {furigana-plain} use the same split. (#615, fixes #605)
  • The headword's pitch sits on its reading. With Design β†’ Pitch accent β†’ Show pitch on the reading on (it was Show pitch in furigana), a kanji headword keeps the furigana it has with the option off, and the pitch is drawn on its reading beside it: ε₯½(す)き嫌(きら)い, then すき\きらい. A kana headword carries the pitch on its own kana. Copying a headword gives just the word. Furigana pitch style is now Reading pitch style, and your choices are kept. (#613, fixes #606)
  • Every entry shows every pitch accent. A later entry, such as 非常 under 非常に, no longer loses its pitch accents when many frequency dictionaries rank it. (#611, fixes #607)
  • Pitch colours. With Show pitch accent colours on, a noun or na-adjective that one dictionary tags as a verb or i-adjective is no longer coloured 衷伏 kifuku: θ‡ͺη”± [2] is 中高 nakadaka again. A pattern written as high and low morae that rises again after it falls, such as δΊŒεε››ζ™‚ι–“ HLLLHLL, spans several accent phrases, so it stays uncoloured instead of taking its first phrase's group, and {pitch-accent-categories} leaves it out. (#614, fixes #608; #617, fixes #596)

⌨️ Moving through results

  • Forward after Back. After you click a kanji and press Back (Alt+B), Navigate forward in history (Alt+F) reopens the kanji view, as in Yomitan. It is the same lookup, so it keeps its dictionary, tab and blur and is not counted again. Through several kanji, each press steps one view forward. With nothing ahead, Alt+F is left to the page. Settings β†’ Keybinds lists it after Navigate backward in history, and it can also be set as a browser shortcut. (#625, fixes #609)
  • Holding Alt+↓ or Alt+↑ (Go to next entry, Go to previous entry) keeps moving, one entry per key repeat, as in Yomitan. Before, it moved once and stopped. Go to next and previous dictionary repeat too; other keybinds still ignore a held key. (#616, fixes #597)

πŸ–±οΈ Popup

  • Dark Reader leaves the popup alone. Dark Reader's Dynamic mode no longer recolours Hachidori's popup with the page, so the popup keeps your palette, dictionary styles and Custom CSS. If you saved Design β†’ Custom JavaScript, your scripts keep their access to the popup, which also lets Dark Reader reach it; reload the page after adding or clearing a script. (#618)
  • Clicking Audio no longer leaves the popup stuck. After a click on Audio, hovering another word looks it up and moving away hides the popup. Keyboard focus in the popup still holds it open. (#619)

πŸƒ Anki

{pitch-accent-graphs} and {pitch-accent-graphs-jj} give just the graphs, without a bold dictionary name before each group, as in Yomitan. Thanks to @aalhendi for this change. (#621)

πŸ’Ύ Backups

Checked from 0.3.2, in both browsers. The release test now exports a backup with the released 0.3.2 and restores it into this version, in Chrome and in Firefox. Dictionaries, settings, Anki settings, the personal dictionary, update schedules, lookup counts and known words all come back. (#623, #631)

πŸ› οΈ Under the hood

  • The dictionary engine (hoshidicts) is updated for words without definitions, and its WebAssembly is rebuilt. With the option off, it gave the same results as 0.3.2's engine for all 494,979 lookups #628 compared. (#628)
  • CI lints the Firefox package as addons.mozilla.org would, runs the real-Firefox suite on Firefox 159 and on the minimum, Firefox 153, and imports the full Pixiv dictionary in both browsers. (#629)
  • Test tooling: Dark Reader 4.9.134, for the check that it leaves the popup alone, and web-ext 10.8.0, for the Firefox lint. They are used only in development and are not part of the extension. (#618, #629)

πŸ“¦ Downloads

  • *-chrome.zip: extract it, open chrome://extensions, enable Developer mode, choose Load unpacked, and select the extracted folder. To update an existing unpacked installation, replace its files and click Reload.
  • *-firefox.zip: for Firefox 153 or newer. It is not on addons.mozilla.org, so open about:debugging#/runtime/this-firefox, choose Load Temporary Add-on… and select the ZIP, or install it permanently in Firefox Developer Edition, Nightly or ESR as the Firefox guide describes.
  • *-source.zip: the matching complete source, including the engine and the sources of bundled dependencies.
  • *-SHA256SUMS.txt: checksums for all three packages.

Chrome 128 or newer and Firefox 153 or newer are supported. Your dictionaries and saved settings are kept, and you don't need to reimport anything.

Full changelog: 0.3.2...0.4.0

Don't miss a new hachidori release

NewReleases is sending notifications on new releases.