FLTK Compose-Character sequences

The Fl_Input widget lets you type all the characters in the standard ISO-8859-1 character set. Most fonts will display these characters correctly.

To insert them, type the [compose] key and then one or two characters. The two characters can be in either order. The [compose] key is any of: Control+Q, the right-hand control key, or any key your X server calls XK_Multi_key).

 nbsp    ° A`   À D-   Ð a`   à d-   ð
   ¡ +-   ± A'   Á N~   Ñ a'   á n~   ñ
   ¢    ² A^   Â O`   Ò a^   â o`   ò
   £    ³ A~   Ã O'   Ó a~   ã o'   ó
   ¤    ´ A:   Ä O^   Ô a:   ä o^   ô
y=   ¥    µ A*   Å O~   Õ a*   å o~   õ
   ¦    ¶ AE   Æ O:   Ö ae   æ o:   ö
   §    · C,   Ç    × c,   ç -:   ÷
   ¨    ¸ E`   È O/   Ø e`   è o/   ø
   ©    ¹ E'   É U`   Ù e'   é u`   ù
   ª    º E^   Ê U'   Ú e^   ê u'   ú
<<   « >>   » E:   Ë U^   Û e:   ë u^   û
   ¬ 14   ¼ I`   Ì U:   Ü i`   ì u:   ü
   ­ 12   ½ I'   Í Y'   Ý i'   í y'   ý
   ® 34   ¾ I^   Î DD   Þ i^   î dd   þ
   ¯    ¿ I:   Ï ss   ß i:   ï y:   ÿ

For instance, to type "á" type [compose][a]['] or [compose]['][a].

The character "nbsp" (non-breaking space) is typed by using [compose][space].

The single-character sequences may be followed by a space if necessary to remove ambiguity. For instance, if you really want to type "ª~" rather than "ã" you must type [compose][a][space][~].

If you wish to use the compose function in your own code, you can make your widget's handle() call this in response to keystrokes:

int fl_compose(int state, char c, int& del, char* buffer, int& ins)