Jump to content

Recommended Posts

Posted (edited)

Studying and experimenting in C/C++ programming language environment of how to develop a Thai editor.

 

Currently the incoming characters are presented sequentially on screen, thus one by one. Picture below shows the problem of the actual presence of dotted circles. These dotted circles look like placeholders to me, but do not function yet as placeholders.

 

Have added a second Thai word to illustrate the situation of having two placeholders. The particular sings above these placeholders do have equal positions in height but are to be positioned on top of each other.

 

 

 

What's the most common strategy to follow in solving these puzzles?

 

Just wondering. Should I request vector data for each of the characters and so detect the presence of a dotted circle, eliminate the dotted circle vector data, thus simply output the remaining vector data at the previous position at a specific height determined by the count of dotted circles detected? Do other more specific rules exist which need to be followed?

 

Requesting an elimination of specific vector data is a possibility, which can be done, but this is a rather complex exercise. Do not more easier methods exist?

 

Regards,,

Jac.

 

DottedCircles.png

Edited by jacnl2000
Adding picture
Posted

Welcome to Indic text layout!


Why are you developing a Thai text editor?  Should it be capable of editing Northern Khmer, Patani Malay, Khom script, Lanna script or phonetic Thai in Haas notation?  Typographically good English? Arabic?  English with embedded Hebrew? Hindi?  Does the text editor restrict the choice of fonts?

 

The basic solution is that you do *not* display text character by character.  You use a modern layout engine to display paragraphs, lines or long strings.  You need to decide where you are going to allow the cursor to be.  Many  applications do not allow the cursor to be within a 'grapheme cluster', a nebulous concept discussed in  

Unicode Standard Annex 29: Text Segmentation.  If you do, there are two options:

  1. Position the cursor within a cluster by assuming the character boundaries are evenly spaced.
  2. Render up to the cursor, the cursor, and then the rest of the text.  Treat dotted circles as a useful tool to show where the cursor is within the orthographic syllable.  (For Thai, it is useful in editing and rendering to treat the preposed vowels, เ แ โ ใ ไ, as constituting syllables in themselves.  The Thai orthographic syllable then consists of a consonant plus the marks above and below.)

Adjacent characters in a font often interact.  In English, the sequence 'fi' is often rendered with the dot omitted and the letters joined.  In the Thai script, ฐ and ญ lose their bottom parts before a mark below, a phenomenon mostly encountered in Pali.

 

Posted

Hi,

 

I have been experiencing these problems in the past particularly I am interested to use the "*" wild character and the "?" (I think so) single wild character for Thai vocabulary pattern.

 

For example, I want to retrieve the list of เ*ีย and เ*ือ but the search has never been succeeded in the various applications EXCEPT  http://www.sealang.net/thai/vocabulary/ - this is somewhat working well for the * wild character only. Please forgive me if this is not relevant to you but brainstorming may be some uses. By the way, I think it is very difficult to eliminate the dotted circle (very annoying one!) because of the logical process consisting of the complicated Thai characters.

Posted
18 hours ago, nabbie said:

I have been experiencing these problems in the past particularly I am interested to use the "*" wild character and the "?" (I think so) single wild character for Thai vocabulary pattern.

It is quite likely that most of the applications simply don't support wild cards.  Searching lists of words should proceed better.  Note that the dotted circles aren't part of the text; they only make an appearance when the text is displayed.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.



×
×
  • Create New...