Hans Hagen
On 27-9-2012 21:27, Simo Ojala wrote:
This is a problem originally posted in TeX/StackExchange. However, since I have not had any luck in finding a solution I post it here too. I am confident that somebody here should know the answer.
http://tex.stackexchange.com/questions/73970/problem-with-context-mkiv-hebre...
"Since I last played with the latest ConTeXt MkIV, there has been introduced this new feature. It now seems to combine Hebrew characters automatically when possible to ligatures. So for example. If I have a word with following two characters:
U+05D5 (HEBREW LETTER VAV) U+05BC (HEBREW POINT DAGESH OR MAPIQ)
ConTeXt will combine these to:
U+FB35 (HEBREW LETTER VAV WITH DAGESH)
However, I would need to disable this feature for a number of reasons. For example, this breaks my little database query, because the query key is changed before(?) macro gets it.
So if somebody would know how to turn this off and maybe also that what has changed."
It depends on the font ... normally you can disable this by *not* using the mark and mkmk features
Hans
Ok, I have now tried turning off all kinds of features without luck. So, I tried putting together minimal test case. I suspect that there should be done something more than just turn off some font features. However, my ConTeXt skills are very limited so I can be wrong. The goal is that the word passed from ConTeXt file remains as it is written and gives unicode characters U+5e1, U+5d5, U+5bc and U+5e1. This is what already happens when the word is in the lua file. Simo PS: In case this matters. My ConTeXt MkIV version is "2012.09.23 12:40". It should be the latest for Ubuntu 12.04 LTS Precise Pangolin that is in the Adam Reviczky's PPA. %% testcase.tex \definefontfeature[hebrew][arabic][script=hebr] \definefont[dejavusans][name:dejavusans*hebrew at 26pt] \setupdirections[bidi=global] \starttext \dejavusans \def\Macro#1{\directlua{ dofile(resolvers.findfile("testcase.lua")) userdata.testfunction("#1") }} \Macro{סוּס} \blank[1cm]however, we can still color these independently\blank[0.5cm] \color[red]{ס}\color[green]{ו}\color[blue]{ּ}\color[yellow]{ס} \stoptext -- testcase.lua userdata = userdata or {} function userdata.testfunction(word) tex.sprint("\\blank[1cm]word passed by macro\\blank[0.5cm]") for i = 1, unicode.utf8.len(word) do tex.sprint("U+" .. string.format("%x",unicode.utf8.byte(word,i)) .. ": " .. unicode.utf8.sub(word,i,i) .. "\\par" ) end tex.sprint("\\blank[1cm]word written in lua file\\blank[0.5cm]") word = "סוּס" for i = 1, unicode.utf8.len(word) do tex.sprint("U+" .. string.format("%x",unicode.utf8.byte(word,i)) .. ": " .. unicode.utf8.sub(word,i,i) .. "\\par" ) end end