4

How to easy type in Full-width alphanumeric way in Ubuntu? Full-width characters are those from U+FF00 to U+FFEF

Is it possible by using IBUS or Japanese keyboard layout?

  • I think you need to supply more information. – coteyr Dec 3 '12 at 22:36
  • Added link to Unicode chart ;) – Marqin Dec 3 '12 at 23:40
2

It is possible to accomplish this by adding either a new xkb layout or layout variant. Here's what I did to add a new full width character keyboard layout variant (for the US keyboard layout):

  1. Make a backup of /usr/share/X11/xkb/symbols/us, /usr/share/X11/xkb/rules/evdev.xml and /usr/share/X11/xkb/rules/evdev.lst

  2. Add the layout variant to the end of /usr/share/X11/xkb/symbols/us

    partial alphanumeric_keys
    xkb_symbols "fullwidth" {
    
        name[Group1]= "English (US, fullwidth)";
    
        key <TLDE> {    [     UFF40,    UFF5E       ]   };
        key <AE01> {    [     UFF11,    UFF01       ]   };
        key <AE02> {    [     UFF12,    UFF20       ]   };
        key <AE03> {    [     UFF13,    UFF03       ]   };
        key <AE04> {    [     UFF14,    UFF04       ]   };
        key <AE05> {    [     UFF15,    UFF05       ]   };
        key <AE06> {    [     UFF16,    UFF3E       ]   };
        key <AE07> {    [     UFF17,    UFF06       ]   };
        key <AE08> {    [     UFF18,    UFF0A       ]   };
        key <AE09> {    [     UFF19,    UFF08       ]   };
        key <AE10> {    [     UFF10,    UFF09       ]   };
        key <AE11> {    [     UFF0D,    UFF3F       ]   };
        key <AE12> {    [     UFF1D,    UFF0B       ]   };
    
        key <AD01> {    [     UFF51,    UFF31       ]   };
        key <AD02> {    [     UFF57,    UFF37       ]   };
        key <AD03> {    [     UFF45,    UFF25       ]   };
        key <AD04> {    [     UFF52,    UFF32       ]   };
        key <AD05> {    [     UFF54,    UFF34       ]   };
        key <AD06> {    [     UFF59,    UFF39       ]   };
        key <AD07> {    [     UFF55,    UFF35       ]   };
        key <AD08> {    [     UFF49,    UFF29       ]   };
        key <AD09> {    [     UFF4F,    UFF2F       ]   };
        key <AD10> {    [     UFF50,    UFF30       ]   };
        key <AD11> {    [     UFF3B,    UFF5B       ]   };
        key <AD12> {    [     UFF3D,    UFF5D       ]   };
    
        key <AC01> {    [     UFF41,    UFF21       ]   };
        key <AC02> {    [     UFF53,    UFF33       ]   };
        key <AC03> {    [     UFF44,    UFF24       ]   };
        key <AC04> {    [     UFF46,    UFF26       ]   };
        key <AC05> {    [     UFF47,    UFF27       ]   };
        key <AC06> {    [     UFF48,    UFF28       ]   };
        key <AC07> {    [     UFF4A,    UFF2A       ]   };
        key <AC08> {    [     UFF4B,    UFF2B       ]   };
        key <AC09> {    [     UFF4C,    UFF2C       ]   };
        key <AC10> {    [     UFF1B,    UFF1A       ]   };
        key <AC11> {    [     UFF07,    UFF02       ]   };
    
        key <AB01> {    [     UFF5A,    UFF3A       ]   };
        key <AB02> {    [     UFF58,    UFF38       ]   };
        key <AB03> {    [     UFF43,    UFF23       ]   };
        key <AB04> {    [     UFF56,    UFF36       ]   };
        key <AB05> {    [     UFF42,    UFF22       ]   };
        key <AB06> {    [     UFF4E,    UFF2E       ]   };
        key <AB07> {    [     UFF4D,    UFF2D       ]   };
        key <AB08> {    [     UFF0C,    UFF1C       ]   };
        key <AB09> {    [     UFF0E,    UFF1E       ]   };
        key <AB10> {    [     UFF0F,    UFF1F       ]   };
    
        key <BKSL> {    [     UFF3C,    UFF5C       ]   };
    
        key <SPCE> {    [     U3000,    U3000       ]   };
    };
    
  3. Add the entry for the variant layout to /usr/share/X11/xkb/rules/evdev.xml and /usr/share/X11/xkb/rules/evdev.lst

    In evdev.xml, search for <description>English (US)</description>, scroll down to the last <variant> block for the us layout, and insert the following after that:

             <variant>
               <configItem>
                 <name>fullwidth</name>
                 <description>English (US, fullwidth)</description>
               </configItem>
             </variant>
    

    In evdev.lst, search for us:, scroll down to the last entry with us: and insert the following after that:

      fullwidth       us: English (US, fullwidth)
    
  4. Remove the previously compiled keymaps:

    # rm /var/lib/xkb/*.xkm
    
  5. Logout and login

The new layout should show up in the Text Entry settings menu as English (US, fullwidth), which you can add into your input sources.

| improve this answer | |
1

This article may help. And then theres This entry. And finally a big table

I do not think any of these are as easy as you would like them to be however.

You may be able to map your own composekey shortcuts. Sorry I can't be of more help, but I have not seen anyone try to do that, that didn't just end up using a font.

| improve this answer | |
  • It looks as the best way atm. – Marqin Dec 4 '12 at 17:24
0

Fixed width is a property of the font, not the letters. You need to choose a fixed width font to display the characters, not type anything special.

| improve this answer | |
  • 1
    No. Those are special Unicode characters. – Marqin Dec 3 '12 at 23:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.