3

My language Kachhi has no official Unicode support but I have developed my own fonts in ttf, otf , svg etc format. I already run a website using same fonts.

I want users to be able to write or input in my language using my fonts (preferably on all platforms but if not then mainly on windows)

So how can I develop a input tool software for windows? to input custom fonts designed for my language

Can anyone help by pointing out how to build you own windows IME. Link to some tutorial or books or anything?

MMG
  • 390
  • 1
  • 6
  • 20
  • 2
    Sorry if this sounds patronising, but are you sure there is no Unicode support? The Kutchi language (is this the same as 'Kachhi'?) uses the Gujarati script, which is present in Unicode. – Archimaredes Jan 27 '16 at 13:23
  • Yes it is the same Kutchi but we have no official script and we use modified Gujarati script to accommodate different pronunciation and consonant vowels as well as some unique guttural sounds. Thing is we dont want to use gujarati but our own script with own font and input tool – MMG Jan 27 '16 at 13:32
  • 1
    I see. The bulk of your problem will be how to represent the characters of your script in memory, since there is no Unicode support for your script. Do characters in your custom fonts map to Gujarati codes in Unicode? If so, you could internally represent strings in your language as Gujarati, and then render them differently using your own fonts. – Archimaredes Jan 27 '16 at 13:35
  • Yes, the main difference between Gujarati and kachhi is 4 totally new additional glyph/letters representing implosive sounds which are missing in Gujarati Unicode. So can you point me how can i start building the software? – MMG Jan 27 '16 at 13:47
  • 1
    You might want to try the [Microsoft Keyboard Layout Creator](https://msdn.microsoft.com/en-ca/goglobal/bb964665.aspx) although I'm not sure if it will be able to accommodate to your language. – Fozi Jan 27 '16 at 14:43
  • @Fozi Thanks a lot, I will sure check it out :) – MMG Jan 27 '16 at 14:54

2 Answers2

2

I apologise if I misunderstood the question - however I think you may consider using the Unicode private use area

The idea of this part of Unicode is to allow for exactly this situation (I remember someone used it for the fictional Klingon language at one point).

You can use these zones of the Unicode-tables, then provide input/output mechanisms though traditional Unicode methods.

Obviously enough, without a custom font (such as the one you've developed), these sections of the table have no meaning.

John Bargman
  • 1,267
  • 9
  • 19
  • Thanks a million! I am pursuing Unicode PUA in detail. But in case i want to make input tool software for windows can you point me where should i start and which language to use? I'd prefer c++ – MMG Jan 27 '16 at 14:13
  • 1
    C++ is a great language, and I use it commonly for these functions. If your working on windows, window's built in Unicode support will work fine - for cross platform development the ICU library (http://site.icu-project.org/) is your best bet (and is used by apple and I believe Linux) (windows API) https://msdn.microsoft.com/en-us/library/windows/desktop/dd374089(v=vs.85).aspx I can't do much better than that, as IME is a very board topic. – John Bargman Jan 28 '16 at 19:55
  • Ok Thanks very much... I'll check them in detail... just wishful thinking...is there no tutorial which teaches you how to build a IME from scratch? – MMG Jan 31 '16 at 06:04
  • 1
    Not that I know of myself ~ most windows users simple use the windows IME. Perhaps that might be worth posting a new question? – John Bargman Jan 31 '16 at 21:25
2

What you're aiming for is called an Input Method Editor. Essentially, this is a small program with a standardized interface, to translate user input into Unicode text.

You can pick pretty much any language that has decent Windows support. IOW, VC++.

MSalters
  • 173,980
  • 10
  • 155
  • 350
  • Thanks! As this is what i wanted sort of...here is the reference I got form MSDN : **Use the existing text services framework (TSF) infrastructure to implement your IME logic and the Windows Store app common controls for your UIs. Create owned windows to host your UI** So I'll now just have to work out how to write a software incorporating above thing. Basically its quite advance stuff for me as i have never gone such ahead in c++ – MMG Jan 27 '16 at 14:41