Home > XUL Apps > XUL/Migemo

XUL/Migemo Ver.0.14.9 for Mozilla Firefox & Thunderbird

What's this? ...abstract

This includes 3 features about the Find Toolbar.

The first feature is the "dictionary-assisted find" for Japanese (or other languages). This provides a feature to find Japanese terms in roman-letter spelling. For example, if you input "kanji", Firefox finds any terms of the sound, like "感じ", "幹事" and "漢字". See the demonstration video. Additionally, you can find modified latin letters with their simple versions. For example, "Frédéric" can be found by the input "frederic". Or, if you want and you switch the find mode, you can do regular expression search for web contents.

Second is more customizable Find Toolbar. You can check "Highlight all" and "Match Cases" automatically. And, found term can be shown in the center of the screen.

Third, the highlight feature like Safari 3 is available. In "Highlight all" mode, the content area is covered by a dark screen and the focused term is shown with animation effect. Markers indicating where the search term is in the page will appear beside the scroll bar.

XUL/Migemo is available on:

  • Find Toolbar
  • Smart Location Bar
  • Search boxes of History and Bookmarks
  • Quick Find feature in the thread pane

*From 0.3.1 to 0.6.6, this project was called "XUL/Migemo [Forked Edition]" and it was developed separately from the original "XUL/Migemo" project. Now, 0.7.0 or later, this is approved as an official successor by the original author, so this is not a "[Forked Edition]" anymore. See project background too.

Similar or Related Extensions

I want to customize the find toolbar, I don't need other features.
Find Toolbar Tweaks provides customizability for the find toolbar.
I want the markers beside the scrollbar, to indicate where the search term is in the page.
Search Marker does it.
I want the highlighting feature like Safari.
SafariHighlight.uc.js, a userChrome.js script does it.

Download Links to XPI packages

If you see any problem, see FAQ at first. If there is no solution, post a report to the issue tracker on the GitHub please.

Old Versions

  • Ver.0.5.5: Final Version of Japanese Only implementation.
  • Ver.0.3.11: Final Version for Mozilla Suite, Seamonkey, Netscape 7.x.

Tutorials How to use XUL/Migemo

Installation

  1. Install XUL/Migemo to Firefox.
  2. Restart Firefox, then the initializing dialog appears, so you can choose a engine from "Japanese" or "English". If you cannot understand Japanese, you should choose "English".
  3. The initializing wizard appears. It downloads and installs the required dictionary automatically.

Start Migemo Find (Start to find a term by roman-letter spelling)

You should try to input a Japanese term in roman characters after "/" key, like "/nihongo". Then, the find toolbar automatically appears and the term "日本語" will be found. This is "Migemo find." By the "Migemo find", you can find a Japanese term in roman-letter spelling.

And, like this, you can start Migemo find by just type "/" key. This is "Quick Migemo Find. mode".

When multiple terms found for the roman-letter spelling, Firefox recognizes all of them. For example, the input "kanji" founds "漢字", "感じ", "幹事", "かんじ" and "カンジ".

If an input field is focused, you cannot start Quick Migemo Find by "/" key. So, you can use "Ctrl-Shift-F" instead of "/".

Exit from Quick Migemo Find mode

You'll see a progressive bar on the right edge of the find toolbar, while finding Japanese terms. [screenshot] It indicates the remaining time of timeout. When the bar become zero, Firefox exit Quick Migemo Find mode and back to the normal browsing automatically.

You can exit Quick Migemo Find mode manually by "ESC" key.

Find long sentences

Input multiple terms in roman-letter spelling, split by spaces like "nihongo deno pe-zi nai kensaku". A long sentence, "日本語でのページ内検索" will be found. You can find sentences by input split by spaces.

Another way, XUL/Migemo recognize SKK style input. An input "nihongoDenoPe-ziNaiKensaku", split by caps will work like above.

Switch to Migemo find when you finding terms normally

When you are in normal find mode, started by "Ctrl-F", you can switch to Migemo find as you like. Click the "Migemo" button rightmost of the find toolbar. To back to the normal find mode, click it again or click "Normal".

Moreover, without mouse operations, you can switch the find mode only with pressing "Ctrl-F" shortcut while you are doing find.

If you cannot find some terms in roman-letter spelling...

In Migemo mode, you can find Japanese terms which are in the system dictionary. Unregistered terms cannot be found.

To make Firefox to be able to find more and more terms, you can add terms to the user-dictionary. To go to the Dictionary Manager, press "Ctrl-Shift-F7" or click the "Manage Dictionary" button in the configuration panel.

Do regular expression search in webpages

With Version 0.8.0 or later, you cau do regular expression search as you like. Click "RegExp" button on the right edge of the find bar, then regular expression becomes available in the find toolbar. [screenshot]

Moreover, you can start regular expression search dynamically even if you doing normal search. Please type regular expressions with slashes, like "/reg(ular )?exp(ressions)?/", then it is automatically parsed as a regular expression.

Migemo find in other places

On Firefox 3, by default, Migemo Find is available on the Smart Location Bar, search boxes in the History and Bookmarks sidebars, and the Library. If you want it is disabled on these places, you'll go to XUL/Migemo configuration and turn them off.

On Thunderbird 2, Migemo Find is available on the Quick Find of the thread pane except "Body" find. If you want it is available for "Body" find, go to XUL/Migemo configuration and turn it on.

API Information of programming interfaces for hackers.

How to use XUL/Migemo Service?

XUL/Migemo Service generates regular expressions (regexp) from simple key inputs. Content of generated regexps are depend on the "engine". By default, XUL/Migemo includes two engines: Japanese and English. Japanese engine generates regexps to find Japanese words from roman letters. English engine generates regexps including lists of English terms which are starts from the input.

You can call XUL/Migemo functions via an global object migemo in the JavaScript namespace. migemo object is public for not only other addons, but web applications also.

migemo object uses the default engine which is choosen in the initializing dialog. Following methods and properties are available:

String migemo.provider
Returns the name of the module which provides this API. For example, "XUL/Migemo 0.12.0 (ja)" will be returned if you use XUL/Migemo version 0.12.0 with Japanese engine.
String migemo.version
Returns the version of the module which provides this API. For example, "0.12.0" will be returned if you use XUL/Migemo version 0.12.0.
String migemo.lang
Returns the language of the module which provides this API. For example, "ja" will be returned if you use XUL/Migemo with Japanese engine.
String migemo.query(in String aInput)
Generates a regular expression from the given input (alphabets and numbers).
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
Returned Value
A source string of regular expression.
Usecase
How to add a new method to the String class, which checks the string matches to the input or not?:
String.prototype.migemoMatches = function(input) {
  return new RegExp(migemo.query(input), 'i').test(this);
};

alert('日本語'.migemoMatches('nihongo')) // => "true"
alert('英語'.migemoMatches('nihongo')) // => "false"
How to extract matched items from a list?:
function getMatchedItems(list, input) {
  var regexp = new RegExp(migemo.query(input));
  return list.split('\n')
             .filter(function(aTerm) {
               return regexp.test(aTerm);
             });
}

var list = <[CDATA[
コーヒー
紅茶
緑茶
水
]]>.toString();
alert(getMatchedItems(list, 'cha')); // => ["紅茶", "緑茶"]
String Array migemo.queries(in String aInput)
Generates an array of regular expressions from the given input (alphabets and numbers). The input is split by whitespaces automatically.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
Returned Value
An array of regular expression sources.
Usecase
How to add a new method to the String class, which checks the string matches to all of input or not?:
String.prototype.migemoMatchesAll = function(input) {
  return migemo.queries(input)
           .map(function(aSource) {
             return new RegExp(aSource, 'i');
           })
           .every(function(aRegExp) {
             return aRegExp.test(this);
           }, this);
};

alert('日本語と英語'.migemoMatchesAll('nihongo eigo')) // => "true"
alert('日本語とフランス語'.migemoMatchesAll('nihongo eigo')) // => "false"
Object migemo.queryFunctional(in String aInput)
Generates regular expressions for "AND", "OR", and "NOT" find of multiple terms split by whitespaces.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
Returned Value
An object (hash) which have three properties: regexp, terms, and exceptions.
retval.regexp
A source string of regular expression for "AND" find.
retval.terms
A source string of regular expression for "OR" find.
retval.exceptions
A source string of regular expression for "NOT" find.
Usecase
How to extract items which match to the input (given by input), from the target array:
var target = [
      '日本で英語を話す',
      '英語を日本で話す',
      '日本語fooooo!!',
      '日本語hooooo!!'
    ];
var input = 'nihon go -foo';

var result = migemo.queryFunctional(input);
var regexp = new RegExp(result.regexp, 'i');
var terms = new RegExp(result.terms, 'gim');
var exceptions = result.exceptions ?
                   new RegExp(result.exceptions, 'gim') :
                   null ;

var matchedTerms = [];
var output = target.filter(function(aTarget) {
      if (exceptions && exceptions.test(aTarget))
        return false;
      if (regexp.test(aTarget)) {
        match = aTarget.match(terms);
        matchedTerms = matchedTerms.concat(match);
        return true;
      }
    });

alert(output.join('\n')+'\n---\n'+matchedTerms.join(', '));
// Result:
//  日本で英語を話す
//  英語を日本で話す
//  日本語hooooo!!
//  ---
//  日本, 語, 語, 日本, 日本, 語
Object migemo.queriesFunctional(in String aInput, [in String aFlags])
Generates regular expressions for "AND", "OR", and "NOT" find of multiple terms split by whitespaces.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aFlags (optional)
Flags for the regexp. default: "im"
Returned Value
An object (hash) which have three properties: regexps, terms, and exceptions.
retval.regexps
An array of regular expression sources for "AND" find. Each regexp matches for each input.
retval.terms
A source string of regular expression for "OR" find.
retval.exceptions
A source string of regular expression for "NOT" find.
Usecase
How to extract items which match to the input (given by input), from the target array:
var target = [
      '日本で英語を話す',
      '英語を日本で話す',
      '日本語fooooo!!',
      '日本語hooooo!!'
    ];
var input = 'nihon go -foo';

var result = migemo.queriesFunctional(input);
var regexps = result.regexps.map(function(aSource) {
                return new RegExp(aSource, 'i');
              });
var terms = new RegExp(result.terms, 'gim');
var exceptions = result.exceptions ?
                   new RegExp(result.exceptions, 'gim') :
                   null ;

var matchedTerms = [];
var output = target.filter(function(aTarget) {
      if (exceptions && exceptions.test(aTarget))
        return false;
      if (regexps.every(function(aRegExp) {
            return aRegExp.test(aTarget);
          })) {
        match = aTarget.match(terms);
        matchedTerms = matchedTerms.concat(match);
        return true;
      }
    });

alert(output.join('\n')+'\n---\n'+matchedTerms.join(', '));
// Result:
//  日本で英語を話す
//  英語を日本で話す
//  日本語hooooo!!
//  ---
//  日本, 語, 語, 日本, 日本, 語

Extra API for addons

Moreover, priviledged scripts (addons, etc.) can call following extra methods. They returns JavaScript RegExp objects directly.

RegExp migemo.getRegExp(in String aInput, [in String aFlags])
Generates a regular expression from the given input (alphabets and numbers).
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aFlags (optional)
Flags for the regexp. default: "im"
Returned Value
A regular expression.
Usecase
How to add a new method to the String class, which checks the string matches to the input or not?:
String.prototype.migemoMatches = function(input) {
  return migemo.getRegExp(input, 'i').test(this);
};

alert('日本語'.migemoMatches('nihongo')) // => "true"
alert('英語'.migemoMatches('nihongo')) // => "false"
How to extract matched items from a list?:
function getMatchedItems(list, input) {
  var regexp = migemo.getRegExp(input);
  return list.split('\n')
             .filter(function(aTerm) {
               return regexp.test(aTerm);
             });
}

var list = <[CDATA[
コーヒー
紅茶
緑茶
水
]]>.toString();
alert(getMatchedItems(list, 'cha')); // => ["紅茶", "緑茶"]
RegExp Array migemo.getRegExps(in String aInput, [in String aFlags])
Generates an array of regular expressions from the given input (alphabets and numbers). The input is split by whitespaces automatically.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aFlags (optional)
Flags for the regexp. default: "im"
Returned Value
An array of generated regular expressions.
Usecase
How to add a new method to the String class, which checks the string matches to all of input or not?:
String.prototype.migemoMatchesAll = function(input) {
  return migemo.getRegExps(input, 'i')
           .every(function(aRegExp) {
             return aRegExp.test(this);
           }, this);
};

alert('日本語と英語'.migemoMatchesAll('nihongo eigo')) // => "true"
alert('日本語とフランス語'.migemoMatchesAll('nihongo eigo')) // => "false"
Object migemo.getRegExpFunctional(in String aInput, [in String aFlags])
Generates regular expressions for "AND", "OR", and "NOT" find of multiple terms split by whitespaces.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aFlags (optional)
Flags for the regexp. default: "im"
Returned Value
An object (hash) which have three properties: regexp, terms, and exceptions.
retval.regexp
A regular expression for "AND" find.
retval.terms
A regular expression for "OR" find.
retval.exceptions
A regular expression for "NOT" find.
Usecase
How to extract items which match to the input (given by input), from the target array:
var target = [
      '日本で英語を話す',
      '英語を日本で話す',
      '日本語fooooo!!',
      '日本語hooooo!!'
    ];
var input = 'nihon go -foo';

var result = migemo.getRegExpFunctional(input, 'i');

var matchedTerms = [];
var output = target.filter(function(aTarget) {
      if (result.exceptions &&
          result.exceptions.test(aTarget))
        return false;
      if (result.regexp.test(aTarget)) {
        match = aTarget.match(result.terms);
        matchedTerms = matchedTerms.concat(match);
        return true;
      }
    });

alert(output.join('\n')+'\n---\n'+matchedTerms.join(', '));
// Result:
//  日本で英語を話す
//  英語を日本で話す
//  日本語hooooo!!
//  ---
//  日本, 語, 語, 日本, 日本, 語
Object migemo.getRegExpsFunctional(in String aInput, [in String aFlags])
Generates regular expressions for "AND", "OR", and "NOT" find of multiple terms split by whitespaces.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aFlags (optional)
Flags for the regexp. default: "im"
Returned Value
An object (hash) which have three properties: regexps, terms, and exceptions.
retval.regexps
An array of regular expressions for "AND" find. Each regexp matches for each input.
retval.terms
A regular expression for "OR" find.
retval.exceptions
A regular expression for "NOT" find.
Usecase
How to extract items which match to the input (given by input), from the target array:
var target = [
      '日本で英語を話す',
      '英語を日本で話す',
      '日本語fooooo!!',
      '日本語hooooo!!'
    ];
var input = 'nihon go -foo';

var result = migemo.getRegExpsFunctional(input, 'i');

var matchedTerms = [];
var output = target.filter(function(aTarget) {
      if (output.exceptions &&
          output.exceptions.test(aTarget))
        return false;
      if (output.regexps.every(function(aRegExp) {
            return aRegExp.test(aTarget);
          })) {
        match = aTarget.match(output.terms);
        matchedTerms = matchedTerms.concat(match);
        return true;
      }
    });

alert(output.join('\n')+'\n---\n'+matchedTerms.join(', '));
// Result:
//  日本で英語を話す
//  英語を日本で話す
//  日本語hooooo!!
//  ---
//  日本, 語, 語, 日本, 日本, 語

How to support other languages?

You can use custom dictionary for the dictionary-assisted find feature of XUL/Migemo.

The format of custom dictionaries is a list of terms, which is split by TAB(\t)s and line-break(\n)s. For example, English dictionary is:

2	to	too	two
4	for
AA
AAA
Aachen
aardvark
Aaren
Aarhus
Aarika
Aaron
AB
aback
abacus
abaft
Abagael
Abagail
...

The term which is in the start of each line will be found by dictionary-assisted find. For example, Input "A" will finds "AA", "AAA", "Aachen", "aardvark", "Aaren", etc. And, if you put multiple terms in a line with TAB(\t)s, second and following terms are found for the first term of the line. For example, "2" will finds "to", "too" and "two".

Save the list as "lang-name.txt" (like "en-US.txt") into the dictionary folder, encoding UTF-8. And, set the name of the language to a string preference xulmigemo.lang. XUL/Migemo will use the dictionary for its find.

Automatic download of the dictionary file

Set the download URI to the preference xulmigemo.dictionary.download.uri.the name of the language supported by your engine. The dictionary file is a ZIP archive, and which includes dictionary files without any folder. XUL/Migemo will downloads it and decompresses automatically.

How to create new engine for other languages?

If you wish to translate inputs, like Japanese (roman-letter inputs to hiragana and katakana), you have to create a custom engine.

You have to implement the engine which has xmIXMigemo interface, and the dictionary which has xmIXMigemoDictionary interface, if you want to add a new engine for another language.

Fast steps to create custom engines is:

  1. Open the folder XUL/Migemo is installed in the user profile.
  2. Copy xmXMigemoEngine.js and xmXMigemoDictionary.js in the components folder. For example, as xmXMigemoEngineMyLang.js and xmXMigemoDictionaryMyLang.js.
  3. Replace the value of the lang property in xmXMigemoEngineMyLang.js and xmXMigemoDictionaryMyLang.js, to your favorite language. For example, MyLang and so on.
  4. Replace UUIDs of classID property in xmXMigemoEngineMyLang.js and xmXMigemoDictionaryMyLang.js. New UUIDs can be generated by the UUID Generator on the Web or other ways.
  5. Edit xmXMigemoEngineMyLang.js and xmXMigemoDictionaryMyLang.js for your favorite language.
  6. Go to about:config and change the value of "xulmigemo.lang", to the language of the custom engine. For example, MyLang and so on.
  7. Exit Firefox, remove compreg.dat and xpti.dat from the profile, and start Firefox again.

After all, XUL/Migemo uses the custom engine you implemented.

xmIXMigemoEngine

You have to name the contract ID of the component like as @piro.sakura.ne.jp/xmigemo/engine;1?lang=langage name when you implement a new engine. For example, the language name of the Japanese engine is ja. You have to implement following methods and properties:

readonly String lang
The name of the language this engine supports. For example, ja, en-US, and so on.
String getRegExpFor(in String aInput)
Generates a source text of regular expression from the given input (alphabets and numbers).
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
Returned Value
Source text of a regular expressions. You can use it like: var regexp = new RegExp(XMigemoCore.getRegExp('romaji'), 'ig');
nsIVariant gatherEntriesFor(in String aInput, in unsigned short aTargetDictionaryType)
Gets the list of entries related to the key, from the dictionary.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
aTargetDictionaryType
This method gets entries from the directory specified by this argument;
  • xmIXMigemoEngine.SYSTEM_DIC : System dictionary
  • xmIXMigemoEngine.USER_DIC : User dictionary (contains terms added by the user)
  • xmIXMigemoEngine.ALL_DIC : Both dictionaries
Returned Value
An array of entries, which is splitted by "tab" characters ("\t").
nsIVariant splitInput(in String aInput)
Splits the input by words.
Arguments
aInput
Source input. Japanese text written by roman letters, a fragment of English terms, and so on.
Returned Value
An array of split text.
readonly xmIXMigemoTextTransform textTransform
An text transformation service which has xmIXMigemoTextTransform interface. You can use the default service (Cc['@piro.sakura.ne.jp/xmigemo/text-transform;1?lang=*'].getService(Ci.xmIXMigemoTextTransform), which is used by English engine) or a custom service you implemented (Japanese engine has it).
readonly xmIXMigemoDictionary dictionary
The dictionary service for the language, which has xmIXMigemoDictionary interface.

By the way, xmIXMigemo interface is an extended version of xmIXMigemoEngine.

xmIXMigemoTextTransform

xmIXMigemoTextTransform interface provides features to format text for the dictionary or the engine.

Boolean isValidInput(in String aInput)
Checks the given input can be accepted by the dictionary or cannot.
Arguments
aInput
A input you want to hand to the dictionary.
Returned Value
A boolean value indicates that the dictionary accepts or not.
String normalizeInput(in String aInput)
Transforms the given input to a text which can be accepted by the dictionary as a key of entries. For example, Japanese dictionary requires "hiragana" characters input.
Arguments
aInput
A input you want to hand to the dictionary.
Returned Value
A transformed text.
String normalizeKeyInput(in String aInput)
Transforms the given input to a text which can be accepted by the engine. For example, Japanese engine requires roman characters input.
Arguments
aInput
A input you want to hand to the engine.
Returned Value
A transformed text.
String addLatinModifiers(in String aInput)
Creates a regular expression for the input, which will match match all of modified versions of latin letters.
Arguments
aInput
A string including latin letters.
Returned Value
A regular expression which will match all of modified versions of latin letters.
String removeLatinModifiers(in String aInput)
Removes all of modifiers of latin letters.
Arguments
aInput
A string including latin letters with modifiers.
Returned Value
A string which all of modifiers disappeared from.

The custom service for Japanese language (xmIXMigemoTextTransformJa) includes some extra features to transform text from roman characters to hiragana, hiragana to roman, hiragana to katakana, and others.

xmIXMigemoDictionary

xmIXMigemoDictionary interface provides features to read/write the dictionary for the engine.

String getDic()
Gets the content of the system dictionary.
Arguments
Nothing
Returned Value
All of entries of the dictionary (Unicode text split by tabs and break lines)
String getUserDic()
Gets the content of the user dictionary.
Arguments
Nothing
Returned Value
All of entries of the dictionary (Unicode text split by tabs and break lines)
void saveUserDic()
Writes the content of the user dictionary to the file.
Arguments
Nothing
Returned Value
Nothing
unsigned short addTerm(in String aInput, in String aTerm)
Register the given sets of input and term to the dictionary.
Arguments
aInput
A key for the entry. For example, "yomi" (sound) in hiragana characters for Japanese engine.
aTerm
A data for the entry. For example, terms in chinese characters for Japanese engine.
Returned Value
A status code, one of following:
  • xmIXMigemoDictionary.RESULT_OK : correctly registered
  • xmIXMigemoDictionary.RESULT_ERROR_INVALID_INPUT : the input includes invalid character
  • xmIXMigemoDictionary.RESULT_ERROR_ALREADY_EXIST : the set of input and term has been already registered.
  • xmIXMigemoDictionary.RESULT_ERROR_NO_TARGET : no term is specified
  • xmIXMigemoDictionary.RESULT_ERROR_INVALID_OPERATION : other errors
unsigned short removeTerm(in String aInput, in String aTerm)
Unregister the given sets of input and term from the dictionary.
Arguments
aInput
A key for the entry. For example, "yomi" (sound) in hiragana characters for Japanese engine.
aTerm
A data for the entry. For example, terms in chinese characters for Japanese engine. If null string is handed, all of terms of the entriy will be unregistered.
Returned Value
A status code, one of following:
  • xmIXMigemoDictionary.RESULT_OK : correctly unregistered
  • xmIXMigemoDictionary.RESULT_ERROR_INVALID_INPUT : the input includes invalid character
  • xmIXMigemoDictionary.RESULT_ERROR_ALREADY_EXIST : the set of input and term has been already unregistered.
  • xmIXMigemoDictionary.RESULT_ERROR_NO_TARGET : no term is specified
  • xmIXMigemoDictionary.RESULT_ERROR_INVALID_OPERATION : other errors
Boolean load()
Loads the dictionary from the file to the memory.
Arguments
Nothing
Returned Value
If the service loads the dictionary file correctly and completely, "true" will be returned.
void reload()
Reloads the dictionary from the file.
Arguments
Nothing
Returned Value
Nothing
readonly Boolean initialized
If the dictionary is correctly loaded from the file to the memory, this returns "true".

How to use my custom engine in XUL/Migemo?

Set the name of the language to the preference xulmigemo.lang. XUL/Migemo uses the engine automatically.

Automatic download of the dictionary file

Set the download URI to the preference xulmigemo.dictionary.download.uri.the name of the language supported by your engine. The dictionary file is a ZIP archive, and which includes dictionary files without any folder. xmIXMigemoDicManager will downloads it and decompresses automatically.

Background Why I developed "Forked Edition?"

Firefox includes a cool feature "Find As You Type" which provides incremental search in webpages. But the feature doesn't convenient for Japanese pages, because webpages written in Japanese require to input searching terms via IME(Input Method Editor)s, and FAYT feature cannot do incremental search via IME.

The original version of XUL/Migemo, made by a cool hacker "plus7", was the solution. Migemo (written in Ruby) is a helper tool for Emacs which provides incremental search feature for Japanese language without IME. He implement the Migemo by XUL and JavaScript, based on the beavior of fub_net (which uses the library C/Migemo).

The [Forked Edition] distributed in this page, was a modified and corrected version of the original XUL/Migemo 0.3.0. In some reasons, he stopped developing the original XUL/Migemo so I decided to support future versions of Firefox by forking it.

I thought this forking is just a temporary project. When a new version of the original (which includes patches for those problems) appeared, this contents were deleted, or finished its own work. But my work on this fork made it incompatible to the original one, so, this project was not temporary.

Now, this project is approved by plus7 as the official successor.

See the page of the original XUL/Migemo to find out documentations of its history and implementation.

History There is the updating history and the list of known problems.

0.14.9 (2016.6.15)
  • Suppress warning about an useless return statement.
  • Never show progress message multiply for dictionary downloading.
0.14.8 (2016.6.14)
  • Marked as e10s compaible.
  • Works on Nightly 50.0a1.
  • Firefox unexpectedly hanged in some pages including subframes.
0.14.6 (2016.5.31)
  • Don't include needless ".gitignore" file.
  • Fix wrong encoded search queries in location bar results for search engines on Firefox 46 and olders. (It is fixed at Firefox 47 and later by Firefox itself.)
  • Suppress error for getting property about missing match result for the location bar search
0.14.5 (2016.5.29)
  • Firefox unexpectedly hanged in some pages including subframes.
  • Preferences are now stored under its private namespace.
  • Background operations in sidebar panels and the Places Organizer are now stopped after they are closed. (The running background process could crash Firefox.)
0.14.4 (2016.5.28)
  • Never match to un-normalized patterns of modified latin characters. For example, t- can appear in input text as an alternative of modified Ε§, but it seems not to appear in webpages. So now t- and similar patterns are not matched to regular input like t.
  • Works correctly for webpages contains textarea and other input fields. (regression)
  • Migemo search in the bookmarks sidebar, the history sidebar, and the places organizer works correctly. (regression)
0.14.3 (2016.5.28)
  • Firefox unexpectedly hanged in some pages.
  • Backward search works correctly with subframes.
  • Works correctly with pages including very long text node which includes the finding term multiple times.
  • Apply "no match" appearance immediately when there is no match.
  • The initialization wizard never appear multiple times for new windows opened on the initial session.
0.14.2 (2016.5.20)
  • Dictionary manager works again.
  • Works correctly on the Places Organizer.
  • Works correctly for webpages with inline frames or scrollable elements.
0.14.1 (2016.5.19)
  • Works correctly in English mode
0.14.0 (2016.5.19)
  • Works on Firefox 45, Nightly 49.0a1 and Thunderbird 45.
  • Keyboard shortcuts to start find with specific mode are now defined as you like now.
  • Out-of-purpose features like auto highlighting are now removed.
  • "jar" archive is no longer included.
0.13.6 (2010.7.13)
  • Fixed: On the first startup, the initial state of the find toolbar was wrongly set to "Migemo" mode. (*If you got the wrongly initialized preference, you have to repair it manually by "XUL/Migemo Configuration" => "Find Toolbar" => "Change initial state of the Find Toolbar Features..." => "Find mode:" => "Normal".)
  • Fixed: Failed to switch internal modes when you clicked the find mode switcher.
0.13.5 (2010.7.12)
  • Improved: Highlighted terms are shown with drop shadow.
0.13.4 (2010.7.9)
0.13.3 (2010.7.9)
  • Fixed: Some fatal regressions around the awsomebar disappeared.
0.13.2 (2010.7.9)
  • Fixed: Freezing while highlighting disappeared.
0.13.1 (2010.7.8)
  • Fixed: The awsomebar didn't work anymore after a browser window closed and there was another window.
0.13.0 (2010.7.8)
  • Improved: Works on Minefield 4.0b2pre.
  • Improved: On Minefield 4.0b2pre, "switch to tab" feature of the awsomebar is supported.
  • Improved: Works on Thunderbird 3.0 and Thunderbird 3.1. (*Note: Migemo find is not available for quick find in folders if the Gloda is disabled.)
  • Improved: "Find from viewport" is optimized. (*Note: only on Gecko 1.9.2 and later.)
  • Improved: Smooth-scroll for "show the found term in the middle of the screen". (To disable it, go to about:config and set xulmigemo.highlight.foundMarker.smoothScroll.enabled to false .)
  • Improved: Smooth-scroll for markers of found positions. (To disable it, go to about:config and set xulmigemo.highlight.foundMarker.smoothScroll.enabled to false .)
  • Modified: "migemo" API doesn't return contents in the user dictionary anymore. This is a security improvement.
  • Fixed: Keyboard shortcuts can be customized on Firefox 3.6 and later.
  • Fixed: Annoying focus moving when in-page finding is failed disappeared.
  • Fixed: browser.urlbar.autoFill works correctly for the smart location bar with XUL/Migemo.
  • Fixed: Highlighted terms for the last search are correctly cleared by the next search.
  • Fixed: Warnings from keyup events disappeared.
  • Drops support for Firefox 2 and Thunderbird 2.
0.12.2 (2009.10.23)
  • Improved: New API for webapps is available.
  • Still doesn't work on Trunk at 2009-10-23, because of Bug 396392.
0.12.1 (2009.10.21)
  • Improved: New API for addons and web applications, available on global namespace of JavaScript.
  • Fixed: "Highlight All" works correctly for case sensitive mode.
  • Fixed: Centering for the focused term works correctly for some cases.
  • Fixed: Smart keywords works correctly on the location bar.
  • Fixed: Regexp without "i" flag works correctly on the location bar.
  • Fixed: "ESC" key in the location bar correctly restores the original input.
  • Fixed: On Thunderbird, works correctly for messages without encoded characters.
  • Still doesn't work on Trunk at 2009-10-21, because of Bug 396392.
0.11.16 (2009.6.8)
  • Fixed: Too high usage of CPU when you input many numbers of terms to the location bar dsappeared.
  • Fixed: "Home" key for smart location bar items works correctly.
0.11.15 (2009.5.10)
  • Improved: "Match Cases" option is available for finding with regular expressions.
  • Fixed: Highlighting in text fields was broken on Shiretoko.
  • Fixed: Finds from document edge (or viewport edge) correctly if the find term is different from the previous find.
  • Fixed: Broken appearance of the find mode selector disappeared for Download Statusbar.
  • Fixed: User dictionary for English system dictionary works correctly.
0.11.14 (2009.4.21)
  • Fixed: Position markers are correctly hidden after highlight is disabled. (regression on 0.11.13)
  • Modified: Application-specific checkboxes in "Combination" panel are hidden by the environment.
0.11.13 (2009.4.21)
  • Fixed: Inital startup error disappeared.
  • Fixed: Invisible tests are correctly ignored on Gecko 1.8.
  • Fixed: Highlight screen and markers in background tabs are cleared automatically when the find toolbar is closed.
  • Fixed: The URI of the link is correctly shown in the status bar when the found range is inside a link. (regression)
  • Fixed: Focus ring is shown for the focused link in Quick Migemo Find mode.
  • Fixed: Found link is correctly focused when the find toolbar is closed.
  • Modified: The result shown as blank and "save" button for the query is disabled while there is no result yet for Migemo search in Bookmarks, History, and Library.
  • Fixed: Freezing on window resizing disappeared for Minefield. (maybe)
  • Fixed: Infinity increasing of elements for highlighting disappeared even if you switch the find mode with checked "highlight all" button.
0.11.12 (2009.4.2)
  • Works on Minefield again.
  • Modified: Highlighting is disabled automatically when the find toolbar is closed.
  • Fixed: Highlighting works correctly for the native find.
0.11.11 (2009.2.12)
  • Modified: XUL/Migemo keep terms highlighted while switching find modes.
  • Fixed: Highlight screen of Safari style highlight disappeared when just you start to find.
  • Fixed: "ヴ", a special kata-kana character, is found correctry by input like "va", "vi", "vu", "ve" and "vo".
0.11.10 (2009.2.10)
  • Fixed: Configuration dialog works correctly with English locale.
  • Fixed: Ctrl-F circulates find mode correctly even if the default mode of the find toolbar is changed by user's preference.
0.11.9 (2009.2.7)
  • Improved: Works on Firefox 3.1b3pre.
  • Improved: Search mode can be circulated by Ctrl-F as: [Normal] => [RegExp] => [Migemo] => Exit => [Normal] => ...
  • Fixed: You can start Quick Migemo Find even if you've already opened the find toolbar.
  • Fixed: Highlights are shown correctly even if there are hidden elements in the page.
  • Fixed: "g" flag works correctly on finding by pIMigemo's API.
0.11.8 (2008.11.20)
  • Search field in sidebar panels (Bookmarks, etc.) works correctly again.
0.11.7 (2008.11.17)
  • Fixed: Japanese engine generates correct regular expressions for inputs including half-width parenthesis.
  • Fixed: "Find from viewport" works more correctly.
  • Improved: Search source configuration for the location bar is supported on Minefield 3.1b2pre.
0.11.6 (2008.11.10)
0.11.5 (2008.11.7)
  • Fixed: Items from input histories in the smart location bar appear in the correct order.
  • Fixed: Find mode returns to the normal find mode when Firefox's original "quick find" starts.
  • Fixed: Changing find mode finishes the find, while Firefox's quick find or the quick migemo find is running.
  • Fixed: XUL/Migemo works correctly even if the initialization wizard is disabled and the dictionary is not configured.
  • Improved: You can start the initialization wizard from the configuration dialog.
  • Improved: Migemo find is available for the search box in the tab previews of Minefield 3.1b2pre.
0.11.4 (2008.9.26)
  • Fixed: Broken behavior about default find mode and permanent find mode is corrected.
0.11.3 (2008.9.24)
  • Improved: IME is automatically disabled for Migemo Find Mode even if it is started from normal find. (*Available only on Windows or Mac OS X.)
  • Fixed: Popup contents of the smart location bar is correctly filled with recently visited pages when the drop marker is clicked after Migemo Find.
  • Modified: Any integer number from 0 to 100 is available for "xulmigemo.scrollSelectionToCenter.padding".
0.11.2 (2008.9.12)
  • Fixed: A serious problem is resolved. The previous version couldn't work after restarting when it was newly installed.
0.11.1 (2008.9.12)
  • Improved: Markers are shown in correctly position.
  • Improved: Dictionaries' path can be stored as a relative path from the profile folder. On mobile Firefox, XUL/Migemo possibly works correctly.
0.11.0 (2008.9.7)
  • Improved: Markers beside the scroll bar are available. They indicate where search term is in the page.
  • Improved: New awsomebar features introduced by Firefox 3.1 are supported. Restrictions, dysplaying smart keywords, and matching only for beginnings of title/URL.
  • Fixed: Focused search term can be shown in the middle of the screen correctly if it is found by normal search.
  • Improved: Focused search term is shown in nearly middle of the screen, not just middle. In particular, only if the term exists out of the hidden border (30% from window edges), XUL/Migemo scrolls to the term. If you like the old behavior, type "about:config" into the location bar and change the value of "xulmigemo.scrollSelectionToCenter.padding" to "50".
  • Selection based highlighting of Firefox 3.1 is supported.
  • Improved: Performance improvements on next/previous find for "Highlight All".
  • Improved: The timer is stopped while scrolling, for the Quick Migemo Find.
  • Fixed: Find toolbar status is updated correctly.
  • Fixed: Focused term keeps selected after "Highlight All" check is turned off.
  • Modified: Now, the last page of the initializing wizard has a checkbox "never show this wizard".
0.10.6 (2008.7.7)
  • Fixed: Input histories affect to the result of Migemo Find on the Smart Location Bar correctly.
  • Fixed: Left and Right arrows work correctly for Migemo Find on the Smart Location Bar.
0.10.5 (2008.7.7)
  • Improved: "Not" find is available on the Smart Location Bar. If you add "-" before terms, Firefox shows results whitch don't include those terms.
  • Fixed: Smart Location Bar results keeps itself showing while input.
  • Fixed: Backward find works correcly in webpages which include frames.
  • Fixed: Up and Down arrows work correctly for normal find on the Smart Location Bar.
0.10.4 (2008.7.6)
  • Fixed: Migemo Find works correctly in the Smart Location Bar after toolbar customizing.
0.10.3 (2008.7.5)
  • Modified: XUL/Migemo ignores input from the Smart Location Bar if there is no term which can be recognized by XUL/Migemo.
  • Fixed: Clicked item is loaded correctly on the Smart Location Bar.
  • Fixed: Selected item is correctly deleted from the database on the Smart Location Bar.
0.10.2 (2008.7.5)
  • Fixed: Freezing on searching from the Smart Location Bar disappeared for some inputs which matche to "full-width space" characters.
0.10.1 (2008.7.4)
  • Fixed: "Tab" key moves focus in the autocomplete list correctly.
  • Fixed: Place titles are correctly ignored on finding of bookmarks.
0.10.0 (2008.7.3)
  • Improved: Available for Firefox 3 features, the Smart Location Bar, search boxes of History and Bookmarks.
  • Improved: "thi" matches "てぃ".
0.9.1 (2008.6.27)
  • Fixed: "Compact" radio button in the dialog is correctly shown.
0.9.0 (2008.6.27)
  • Improved: The Find Toolbar can be moved to above the content area or below the tab.
  • Improved: closebox of the Find Toolbar can be moved to rightside.
  • Improved: Tind Toolbar buttons become compact automatically when window is too small.
  • Improved: Better support for Split Browser.
  • Fixed: Auto-highlight feature works correctly.
  • Fixed: Animation preference works correctly in the configuration dialog.
  • Firefox 1.5 is not supported anymore.
0.8.15 (2008.6.20)
  • Improved: Old animation style can be chosen from the configuration dialog.
  • Fixed: Highlights are correctly cleared.
  • Fixed: IM is correctly disable on Linux.
0.8.14 (2008.6.16)
  • Fixed: Broken appearance on Mac OS X is corrected.
0.8.13 (2008.5.16)
  • Modified: Auto-highlighting is disabled for a blank find field.
  • Fixed: The find toolbar doesn't appear on the startup even if any find mode is chosen for the default mode.
  • Fixed: Works with multiple frames correctly.
  • Modified: Highlighted terms are cleared after the find toolbar is closed.
0.8.12 (2008.5.13)
  • Fixed: Works correctly on Firefox 3.
  • Fixed: Quick Migemo Find doesn't finish even if the Enter key is pressed on found terms which are not link.
  • Fixed: The find toolbar is hidden correctly after the Quick Migemo Find finishes if that is started from the Migemo find mode.
  • Fixed: Quick Migemo Find doesn't start while menus are showing.
  • Fixed: Regular expression search and Migemo find works on XML documents.
0.8.11 (2008.5.13)
  • Modified: In the Quick Migemo Find mode, label beside the find field is changed.
  • Fixed: Find field isn't filled with selected terms if Quick Migemo Find starts.
  • Fixed: Clicked elements keeps its focus correctly after Quick Migemo Find finishes.
0.8.10 (2008.5.12)
  • Fixed: Quick Migemo Find doesn't start when the trigger event is fired in the find field.
  • Fixed: Progress meter is shown with narrow style.
0.8.9 (2008.5.12)
  • Improved: "Highlight All" works in any XML documents.
  • Fixed: The find field is correctly filled with selection terms.
  • Fixed: Character input after "Ctrl-A" in the find field works correctly for regular expression search and Migemo Find mode.
  • Fixed: State of find toolbar buttons in regular expression search and Migemo Find mode is same to normal find mode.
0.8.8 (2008.5.10)
  • Improved: IME is automatically disabled for the Quick Migemo Find. (for Firefox 3)
  • Fixed: Back space key doesn't go back if it cancels the Quick Migemo Find.
  • Fixed: "/" can be typed into the location bar or other places.
  • Fixed: Safari style highlight works correctly on webpages with thier content-type "application/xhtml+xml".
  • Fixed: Works with recent versions of the Autocomplete Manager.
0.8.7 (2008.5.7)
  • Improved: Quick Migemo Find can be started even if you focus to the location bar or the web search bar.
  • Fixed: Click events are correctly re-dispatched even if the full-zoom feature is used.
  • Fixed: Regular expression search can be started with selection terms correctly.
  • Fixed: Dark screen keeps itself shown after you click on somewhere not a link.
  • Fixed: "Highlight All" appearance is correctly applied for the first-loaded page.
  • Fixed: Safari style "Highlight All" works with the auto scroll, All-in-One Gestures, FireGestures and Optimoz Mouse Gestures. (maybe)
  • Fixed: Highlighted and focused text is shown correctly.
  • Fixed: Find feature works correctly on plain text pages.
  • Fixed: Operations on the find field works correctly in the Quick Migemo Find mode.
  • Fixed: "Enter" and "Shfit-Enter" for normal find works correctly.
0.8.6 (2008.5.7)
  • Improved: Focused term is highlighted like safari.
  • Fixed: "Highlight All" is correctly checked automatically even if it is the first time.
  • Fixed: "Highlight All" appearances are correctly applied even if there are website stylesheets.
  • Fixed: Transparent screen is correctly hidden if highlighted terms are clicked.
  • Fixed: Wrongly selected ranges in text field disappeared for "find next" and "find previous" when "Highlight All" is checked.
0.8.5 (2008.5.6)
  • Improved: Middle click, Ctrl-click or some combinations keeps "Highlight All" screen shown.
  • Fixed: "Highlight All" screen is correctly hidden if it is disabled.
0.8.4 (2008.5.5)
  • Improved: Animation effect of "Highlight All" feature becomes like Safari. (If you need, to get old behavior back, set "xulmigemo.highlight.animationStyle" to "1".)
  • Fixed: Migemo Find works without timeout correctly if you are not in the Quick Migemo Find mode.
  • Fixed: "BackSpace" key resets timeout of Quick Migemo Find correctly.
0.8.3 (2008.5.4)
  • Fixed: Error message on switching find mode disappeared.
0.8.2 (2008.5.4)
  • Improved: Click events are fired when elements are clicked through the highlighting screen.
  • Improved: Highlights are cleared by clicking if they are in text fields.
  • Fixed: Highlighting screen disappears correctly if the find bar is closed.
  • Improved: "Find from viewport" works more intelligently.
0.8.1 (2008.5.3)
  • Improved: Works more smoothly on Firefox 3.
  • Improved: Quick Migemo Find doesn't send keyboard events from your keytypes to webpages anymore.
  • Improved: The focused link is loaded directly from Quick Migemo Find.
  • Improved: The link URI of the focused link is shown in the status bar.
  • Fixed: Terms in text fields are found correctly.
  • Fixed: Highlights in text fields are cleared correctly.
0.8.0 (2008.5.2)
  • Improved: Regular expression search is available. To activate it, switch the find mode manually or type regexp literal like "/find/" to the find field.
  • Improved: Ctrl(Command)-F switches the find mode or closes the find toolbar when it is already focused.
  • Modified: Algorithm of backward find is changed.
  • Modified: Texts are decoded by Thunderbird's built-in feature. Because JavaScript-based decoder became obsolete, the installation file becomes smaller.
0.7.14 (2008.3.12)
  • Fixed: "Find Next" of native search works correctly after XUL/Migemo search is done.
  • Fixed: "Find Previous" of XUL/Migemo search works correctly for multiple terms.
  • Improved: Mail bodies can be searched by XUL/Migemo, in Thunderbird.
  • Modified: Configuration dialog is restrucured.
  • Works on Minefield 3.0b5pre.
0.7.13 (2008.1.30)
0.7.12 (2008.1.29)
  • Improved: Available for searching mails on Thunderbird. (But searching in "body" field isn't supported yet.)
0.7.11 (2007.10.28)
0.7.10 (2007.10.24)
  • Fixed: Works with Source Viewer Tab.
  • Fixed: The input "uwwu-" hits to "うっうー" correctly.
0.7.9 (2007.9.19)
  • Fixed: Freezing on start to find with auto-highlighting disappeared. (maybe)
  • Fixed: "Find from viewport" feature works correctly.
  • Fixed: The input "ssyo" hits to "っしょ" correctly.
0.7.8 (2007.8.3)
  • Improved: Words exist in the dictionary are found preferentially.
  • Improved: Highlight are not re-rendered on "Find Again" command. ("Find Again" command is optimized.)
  • Fixed: The status message for wrapped find is shown correctly.
  • Fixed: Firefox keeps the selection of found term when you toggle the "Highlight all" feature.
  • Fixed: Dictionaries can be loaded correctly if it is encoded in Shift_JIS.
  • Fixed: "Highlight all" highlights case-insensitive result.
  • Fixed: "Highlight all" can be disabled by hand if it is automatically enabled.
  • Modified: Matched terms are not highlighted automatically when the length of the longest term (or the term in the input field) is shorter than the number of the minimum characters for auto-highlight.
0.7.7 (2007.7.21)
  • Improved: Modifiers of latin letters can be ignored. For example, "FrΓ©dΓ©ric" can be found by the input "frederic".
  • Modified: English engine becomes the general engine. It can load dictionaries of any languages.
  • Modified: Dictionaries for the general engine are encoded in UTF-8.
  • Fixed: "Highlight all" is disabled automatically for the cases which the feature doesn't affect to.
  • Fixed: Invalid regular expressions disappeared.
  • Fixed: "Highlight all" doesn't enabled for SearchWP and Googlebar Lite, if the feature should not be enabled automatically.
0.7.6+ (2007.7.19)
  • Fixed: The engine creates correct regular-expression for an alphabets input which is not a roman-letter spelling.
0.7.6 (2007.7.18)
  • Improved: The Find Toolbar can be shown with compact buttons.
  • Improved: "Highlight all" doesn't canceled when you scroll the page.
  • Fixed: The dark screen of the "Highlight all" covers the page completely.
  • Modified: Matched terms are not highlighted automatically when the longest term is shorter than the number of the minimum characters for auto-highlight.
  • Fixed: An error in "Highlight all" disappeared.
0.7.5+ (2007.7.18)
  • Modified: The auto-start feature of the Quick Migemo Find is disabled by default.
  • Fixed: "Highlight all" works correctly on Firefox 1.5.
0.7.5 (2007.7.17)
  • Improved: Minimum length of the search term can be customized for "Highlight all" when it is automatically enabled.
  • Improved: Any matched terms of the roman-letter input are highlighted in the Migemo-find mode.
  • Fixed: Some roman-letter inputs are parsed correctly.
  • Modified: Configuration of the Find Toolbar's state is restructured.
0.7.4 (2007.7.15)
  • Fixed: Some characters, which become two characters when it is translated to half-width kana, are found correctly. And, terms which include spaces are found correctly.
  • Improved: "Highlight all" and "Match Cases" can be enabled permanently.
  • Improved: Auto-start and auto-exit of the Quick Migemo Find are synchronized.
0.7.3 (2007.7.1)
  • Fixed: Selections are restored correctly, after find in "Highlight All" mode.
  • Fixed: "Highlight All" can be unchecked by hand correctly, even if you set it is checked by default.
  • Fixed: Some rules of roman-letter input are supported; for example, "we" -> "うぇ", "dhi" -> "でぃ", etc.
0.7.2 (2007.6.28)
  • Fixed: Errors in the initial preferences disappeared.
0.7.1 (2007.6.28)
  • Fixed: Works on Trunk.
  • Improved: Rebuilding selection after highlighting ( xulmigemo.rebuild_selection ) and animation for found section ( xulmigemo.highlight.animateFound ) can be disabled separately.
  • Fixed: A mistake in animation disappeared.
0.7.0 (2007.6.28)
  • Modified: "[Forked Edition]" is removed from its name.
  • Modified: Translation engine of roman letters and hiragana letters is replaced.
  • Modified: Published under GPL2.
0.6.6 (2007.6.27)
  • Improved: The found term is shown with animation in "Highlight All" mode.
  • Improved: Selections are restored after find in "Highlight All" mode.
  • Improved: XUL/Migemo clears its custom attribute from content documents.
  • Modified: Codes about cache are rewritte.
  • Modified: Appearance of highligh-screen is changed.
  • Fixed: In Firefox 1.5, "Highligh All" button works after you switch tabs.
  • Fixed: Highlighted terms are shown over the screen. (implemented by Dear Periwinkle)
  • Fixed: A mistake in the English locale disappeared.
0.6.5 (2007.6.22)
  • Improved: Works with Split Browser.
  • Improved: Highlighting of Googlebar Lite and SearchWP is supported. (implemented by Dear Periwinkle)
  • Improved: Highlighting is always canceled when you click on the page.
  • Improved: Any "embed" elements are hidden while highlighting.
0.6.4 (2007.6.22)
  • Improved: Safari 3 style emphasis appearance is available, based on Dear Periwinkle's implementation.
  • Fixed: Emphasis of "Highlight all" is updated correctly for Migemo-find-mode.
0.6.3 (2007.6.21)
  • Modified: API is changed.
0.6.2 (2007.6.19)
  • Fixed: Mistakes in API are corrected.
0.6.1 (2007.6.19)
  • Fixed: English dictionary is correctly used.
0.6.0 (2007.6.19)
  • Improved: Other languages can be supported.
  • Improved: English engine and dictionary is available.
0.5.5 (2007.6.5)
  • Improved: Relative path from the installation folder of Firefox is available for the dictionary folder path.
0.5.4 (2007.6.4)
  • Fixed: Works in the "View Source" window correctly.
  • Improved: Works in "Help" and "View Partial Source" window.
0.5.3 (2007.3.24)
  • Fixed: Found term of normal find is shown in the middle of the screen correctly.
0.5.2 (2007.3.18)
  • Fixed: Found term is shown in the middle of the screen correctly.
0.5.1 (2007.3.16)
  • Fixed: A mistake in the implementation of pIXMigemo disappeared.
0.5.0 (2007.3.14)
  • Added: Icon is available.
  • Improved: You can keep available Quick Migemo Find when there is no keyword left.
  • Improved: Main implementations become XPCOM components written in JavaScript.
0.4.16 (2007.3.9)
  • Improved: You can change the shortcut to exit Quick Migemo Find.
0.4.15 (2007.3.7)
  • Fixed: Find feature works in the "View Source" window on Firefox Trunk.
0.4.14 (2007.3.7)
  • Improved: Thunderbird 2 is supported.
  • Improved: Works in "View Page Source" window.
  • Fixed: Mistakes in Japanese locale are corrected.
  • Fixed: Found term is shown in the middle of the screen correctly.
0.4.13 (2007.2.27)
  • Fixed: "Find Next" and "Find Previous" work correctly in Minefield.
0.4.12 (2007.2.27)
  • Fixed: Quick Migemo Find mode correctly timeouts after you start it from normal find.
  • Fixed: The option to enable Migemo find permanently works correctly.
  • Fixed: Reopening find bar resets the mode of finding correctly.
  • Fixed: Freezing for inputs start with "." key disappeared.
  • Fixed: Normal find works correctly for starting with long terms even if the secret option "accessibility.typeaheadfind.linksonly" is "true".
0.4.11 (2007.2.24)
0.4.10 (2007.2.15)
  • Modified: Now, the feature to enter Migemo mode automatically by keytype or "/" key is named "Quick Migemo Find".
  • Modified: Firefox resets the remaining time of timeout for "Find Next" and "Find Previous" in Quick Migemo Find mode.
  • Modified: "Find links only" option is available only in Quick Migemo Find mode.
  • Improved: You can customize the initial state of the find toolbar.
0.4.9 (2007.2.14)
  • Fixed: Links are correctly focused.
  • Modified: Behavior of link focus becomes like the default of Firefox. (Links are always focused if the find toolbar is hidden or you start find directly. If you start to find by Ctrl-F, the found link will be focused after you close the find toolbar.)
0.4.8 (2007.2.14)
  • Improved: New option to fill the find field previously with selection is available.
  • Improved: New option to enable Migemo mode automatically is available.
  • Improved: You can find in text fields.
  • Improved: You can highlight found words in Migemo mode.
  • Improved: You can keep open the find toolbar while switching tabs or page loads.
  • Modified: Previous input is cleared before you start Migemo mode manually.
  • Fixed: "Find links only" mode works correctly.
  • Modified: The initial height of the progress bar is modified.
0.4.7 (2006.12.7)
  • Fixed: The checkbox to switch Migemo mode is shown over the find toolbar, in the correct position.
  • Improved: The height of the indicator became customizable, for the remaining time of timeout to exit from Migemo mode.
  • Modified: The find toolbar is always overrided.
0.4.6 (2006.12.6)
  • Improved: Half-width kana are available for input.
0.4.5 (2006.12.5)
  • Improved: Now an initializing wizard available. It can download and install dictionary via the Internet automatically.
  • Improved: Half-width Kana characters can be found by Migemo-mode.
  • Improved: The difference of Hiragana and Katakana characters can be ignored.
  • Fixed: Dictionaries placed in a folder which has Japanese characters in its path can be recognized. (maybe)
0.4.4 (2006.12.5)
  • Fixed: Stupid regexps disappeared.
0.4.3 (2006.12.4)
  • Improved: For Minefield, a slider widget (<xul:scale />) is available to customize disk cache.
  • Improved: Shortcuts work in textfields.
  • Improved: Two shortcuts are available to enter Migemo mode.
0.4.2 (2006.12.3)
  • Improved: Internal operations to create disk cache are optimized.
0.4.1 (2006.12.2)
  • Improved: Supports Minefield (Firefox 3.0 Alpha.)
  • Improved: Internal operations to create regular expressions are optimized.
  • Improved: Frequency of creating disk cache made customizable.
  • Fixed: Reloading of dictionary works correctly.
  • Modified: Appearance and internal methods to override the find toolbar is changed for Minefield.
0.4.0 (2006.12.1)
  • Modified: Totally refactored. Mozilla Suite, Seamonkey, and Netscape 7.x are not supported.
  • Fixed: Shortcuts with just one key work correctly.
  • Fixed: Works with SearchWP correctly.
  • Improved: Shortcut keys to enter Migemo mode became changable.
  • Modified: The find bar will be cleared after exitting Migemo mode.
  • Modified: Configuration dialog became Firefox 1.5 style.
  • Improved: Dictionary manager and user dictionary are available.
  • Improved: ja-JP locale is available.
0.3.11
  • Fixed: The find toolbar is updated correctly in Firefox 2.0 RC2.
0.3.10
  • Fixed: Works on Firefox 2.0 Beta1.
0.3.9
  • Fixed: Command key works correctly in Mac OS X.
0.3.8
  • Fixed: Works correctly for plaintext pages.
  • Fixed: Ctrl-"/", Ctrl-"\" and other shortcuts work correctly when AutoStart is disabled.
0.3.7
  • Fixed: Rich-textareas in some websites (ex. Gmail) are ignored correctly.
0.3.6
  • Fixed: Works correctly in environments which includes no Find Bar.
  • Fixed: Fixed some problems in F3 and Shift-F3 key.
0.3.5
  • Fixed: F3 and Shift-F3 calls native feature of finding correctly if XUL/Migemo is not active.
  • Fixed: Regular expressions for forwarding search are created correctly. (maybe)
0.3.4
  • Improved: The remaining time for the timeout of XUL/Migemo can be shown with a progress meter.
0.3.3
  • Fixed: Works on Firefox Trunk.
0.3.2
  • Improved: XUL/Migemo can override or ignore the Find Toolbar as your setting.
  • Fixed: Re-finding with F3 key works correctly after finding from the find toolbar.
0.3.1
  • Forked.
  • Modified: Initializing operations are modified.
  • Fixed: Works on Firefox 1.5 correctly.
  • Fixed: Freezing of "links only search" disappeared.
Last modified:2019/05/05 23:02:02