[m17n-lib:00117] Re: [Uim] Re: Re: SCIM help for M17N input methods (was: Custom Keyboard Layout Editor/Interpreter for SCIM)
handa at m17n.org
Wed Feb 23 03:32:14 EET 2005
In article <200502220908.j1M98aN6006665 at mbox00.iij4u.or.jp>, YamaKen <yamaken at bp.iij4u.or.jp> writes:
>> > (4) For loading and saving the customization.
>> We have not yet implemented (4). Do you think it's surely
> I think that selecting better way should be based on user
> convenience and your own development/maintenance cost.
Implementing (4) is quite easy in m17n-lib. Just to recode
all calls of minput_assign_command_keys and
minput_set_variable into a plist, and to call a plist
serializing (into an M-text) function.
I'm also going to implement functions to
serialize/deserialze a plist to/form XML. So, it's possible
to store the customization data in XML.
But, having such functions only for m17n-lib input methods
is not that useful for users. The better is that all of
m17n-lib, SCIM, and UIM uses the common format and semantics
of customization data.
> uim can save the customization using uim's own facility or
> m17n's one as required, although some key binding customization
> data overriding m17nlib's one will be saved into uim's facility
> to preserve uim-dependent special key handling information (such
> as chord operation). The implementation cost for uim may
> approximately be same in both ways.
> Since I don't know what amount and variety of the customization
> items exist, my opinion should be ignored if inappropriate.
My proposal for the variety of customazation data is as
(1) command key customization
A command is an action of an input method invoked when a
user types a keyseq assigned to that command. A command has
a name, description (and optional detail description), and
global and local (per input-method) keyseq assignments.
Multibyte keyseqs can be assigned to the same command, and
the same keyseq can be assigned to multiple commands.
There should be a common name and semantics (action)
definition for each command. For instance, "commit" command
is to "commit the currnet preedit text", "first-candidate"
command is to "select the first candidate of the current
candidate group". The file im-cmd.tbl in imtest.tar.gz is
our proposal for such commands.
(2) variable customization
A variable is to control the behaviour of an input method in
various way, e.g. to select a specific mode, to specify what
kind of characters to be input, etc. A variable has a name,
description (and optional detail description), global and
local initial value, and optional specification for a range
of valid values.
There should also be a comman name and semantics (how to
control the IM behaviour) as well.
For instance, isn't it good that a user can customize the
single variable, say "cjk-punctuation", for all CJK input
methods to select which kind of comma and period should be
generated (i.e. ASCII-comma/period, full-width-comma/period,
or touten/kuten (U+3001/U+3002))?
Do SCIM or UIM use the other kind of customization data?
handa at m17n.org
More information about the uim