On Fri, 27 Mar 2009 06:05:03 -0600, Khaled Hosny
(I know this an old thread, but I just happen to exactly the same feature Idris was asking for)
On Thu, Oct 09, 2008 at 12:53:47AM +0200, Mojca Miklavec wrote:
usage: ruby scriptname.rb < input.tex > output.tex
#!/usr/bin/env ruby
subs_hash = { "Mohamed" => "Muḥammad", "Idris" => "ادريس", }
while line = STDIN.gets subs_hash.each do |key,value| line.gsub!(Regexp.new(key), value) end puts line end
Such approach has a major disadvantage, one have to take care of not altering macros and tex commands or we may end with a broken document (I have more general use case where the to be substituted strings can occur in macros as well), and we know that "only TeX can read TeX" :)
I'm thinking in lua callback that get fed with text buffers in a similar way to OTPs, so one can use regular expressions to pre-process the text without messing with node list, think in code that replaces 2nd with 2\high{nd} etc. which would be very complex to be done at node list level.
If it's not so complex, have you considered overloading font features with fea files? Now that Adobe has (finally!) completed a major overhaul of the spec, including the features neeeded for arabic, that's an option. But for your more complex needs, see the m-translate module. Maybe that can be developed further? Note that Hans has pointed out that this is NOT a core module and that it is preferable to fix the source beforehand. سلام Idris -- Professor Idris Samawi Hamid, Editor-in-Chief International Journal of Shi`i Studies Department of Philosophy Colorado State University Fort Collins, CO 80523