active characters in mkiv (and mkii)
Hi all, I would like to make the exclamation mark active within my Greek environment; it should remain a normal letter outside of these commands and environments. (Why? Exclamation marks aren't used in Greek, and in mkii, I had mapped it to the sublinear dot which is used for epigraphical and papyrological texts.) In pdf(e)tex, Hans wrote this macro for me: \long\def\rescanwithsetup#1#2% {{\directsetup{#1}\scantokens{#2\ignorespaces}}} but I'm not sure how to have a similar thing for mkiv (and ! is special anyway, so I'm running into trouble here...). Any pointers? Or is this a bad idea, and I should look for other solutions? Thanks Thomas
Thomas A. Schmitz wrote:
Hi all,
I would like to make the exclamation mark active within my Greek environment; it should remain a normal letter outside of these commands and environments. (Why? Exclamation marks aren't used in Greek, and in mkii, I had mapped it to the sublinear dot which is used for epigraphical and papyrological texts.)
In pdf(e)tex, Hans wrote this macro for me:
\long\def\rescanwithsetup#1#2% {{\directsetup{#1}\scantokens{#2\ignorespaces}}}
but I'm not sure how to have a similar thing for mkiv (and ! is special anyway, so I'm running into trouble here...). Any pointers? Or is this a bad idea, and I should look for other solutions?
forget about the past, think about what kind of functionality you want for instance, "we need a language dependent feature that remaps characters" so, what are the specs; maybe other languages need similar things (there is already something available which we can easily extend) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Jul 7, 2008, at 1:20 PM, Hans Hagen wrote:
forget about the past, think about what kind of functionality you want
for instance,
"we need a language dependent feature that remaps characters"
so, what are the specs; maybe other languages need similar things
(there is already something available which we can easily extend)
OK, acknowledged. However, this is a special case because: - it is not a language feature, it is just something for a special sort of ancient Greek texts (the subdot accent doesn't exist in Greek); - the character is available in just a few fonts, so my idea was to really write a macro which will specifically fetch the glyph from a specific font. So for the time being, the specs are (for my module) ~ => inactive (already done in the module) | => inactive (already done in the module) ! => active, map to Unicode character 0323 in a font that has this character Thanks Hans! All best Thomas
Thomas A. Schmitz wrote:
On Jul 7, 2008, at 1:20 PM, Hans Hagen wrote:
forget about the past, think about what kind of functionality you want
for instance,
"we need a language dependent feature that remaps characters"
so, what are the specs; maybe other languages need similar things
(there is already something available which we can easily extend)
OK, acknowledged. However, this is a special case because:
- it is not a language feature, it is just something for a special sort of ancient Greek texts (the subdot accent doesn't exist in Greek);
- the character is available in just a few fonts, so my idea was to really write a macro which will specifically fetch the glyph from a specific font.
So for the time being, the specs are (for my module)
~ => inactive (already done in the module) | => inactive (already done in the module) ! => active, map to Unicode character 0323 in a font that has this character
in that case, how abotu a fallback font ... % \definefontfallback [whatever] [Slanted] [0x0060-0x007F] [force=yes] % \definefontfallback [whatever] [Bold] [0x0080:0x00FF,0x00A0:0x00AF] [rscale=2.0] % \definefontfallback [whatever] [BoldSlanted] ["00C0-"00C7] [check=yes,force=yes] % \definefontfallback [whatever] [Mono] [latinextendeda] [force=yes] % 0x0100:0x017F % \definefontfallback [whatever] [Mono] [latin extended a] [force=yes] % 0x0100:0x017F % % \definefontsynonym[SerifPlus][Serif][fallbacks=whatever] % % \definefont[MySerif][SerifPlus at 10pt] % % \startcolumns[n=6] % \MySerif % \dostepwiserecurse {0} {65000} {1} { % \iffontchar\font\recurselevel % {\tttf\uchexnumbers\recurselevel:} \char\recurselevel\par % \fi % } % \stopcolumns so, you define a fallbackfont for your greek font Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Jul 7, 2008, at 2:01 PM, Hans Hagen wrote:
so, you define a fallbackfont for your greek font
Hans
That looks good; I'll have a go at it (I guess the fallback can be enabled on the typescript level, right?). However, I'm still left wondering if it doesn't make sense to make the ! active and map it to the sublinear dot - much easier to input via the keyboard. Thanks Thomas
Thomas A. Schmitz wrote:
On Jul 7, 2008, at 2:01 PM, Hans Hagen wrote:
so, you define a fallbackfont for your greek font
Hans
That looks good; I'll have a go at it (I guess the fallback can be enabled on the typescript level, right?). However, I'm still left wondering if it doesn't make sense to make the ! active and map it to the sublinear dot - much easier to input via the keyboard.
no, active chars are a pain ... because they need to adapt to all kind of situations then, i'm glad that i got rid of the active : cum suis of course we can add a new core-spa feature that remaps chars (kind of like french spacing) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Jul 7, 2008, at 4:17 PM, Hans Hagen wrote:
no, active chars are a pain ... because they need to adapt to all kind of situations then, i'm glad that i got rid of the active : cum suis
of course we can add a new core-spa feature that remaps chars (kind of like french spacing)
OK, OK, you win :-) I'll try and see if I can cook up some remap + fallback solution which I can implement. For the remapping stuff, I'll go through fea-files or what would be the cleanest way? Thomas
participants (2)
-
Hans Hagen
-
Thomas A. Schmitz