Hi, On Tuesday 31 August 2010 11:32:53 Achim Blumensath wrote: > Hello, > > Sebastian Schubert wrote: > > I'd like to adjust the accents over swash letters. For my taste, the ~ > > is too far left. As far as I can see, adjustments can be done in > > adjust-oml.mtx, right? > > No, the swash letters are not in the OML encoding. > I think the easiest way is to modify the kerning files.
Thank you for your hint. Ok, following TeXbook, the kerning with the skewchar definies the placement of the accents. In the fontinst/mn-oml-*.etx I found \nextslot{255} \setslot{skew} \endsetslot Looking in enc/mn-t1.enc, /germandbls is the last glyph. So the kerning pairs X.swash and germandbls define the placements of glyphs. And there are already kerning pairs like this in kerning/*It*.kern. Fine. (Although they are for Germandbls so upper case, I guess it's ok.) But running maketfm, I get warnings like this: otftotfm: ./enc/mn-It-t1.enckern:169: warning: 'A.swash' has no encoding, ignoring '{180}' running eg otftotfm --tfm-directory=tfm --vf-directory=vf --encoding-directory=dvips -- no-type1 --no-updmap --no-dotlessj --warn-missing -fkern -fliga -flnum - fpnum --include-alternates '*.swash' -faalt -e 'enc/mn-It-t1.enckern' 'otf/MinionPro-It.otf' 'MinionPro-It-lf-swash-t1' It seems that the kerning pair and all other swash ones are ignored, because they are not included in the encoding. So I modified the maketfm script to use different enckern files for the swash letters where each X.swash kerning pair is replaced by a X pair (as far as I can see, otftotfm just treats X.swash as X) and all other uppercase X pairs are removed. And this works! Now, the accents look nice! Still, there still a lot of other warnings of this kind, different ones for different encodings so there might at least one which uses the pairs... What do you think? Sebastian PS: I use the latest version of lcdf-typetools, that still works with the scripts (2.69). If you had a hint how to get a list of all the changed glyph names, I could have a look at this. I had a look at the sources of lcdf and I was not able to retrieve that information.
diff --git a/scripts/maketfm b/scripts/maketfm index edb653b..a9c38fd 100755 --- a/scripts/maketfm +++ b/scripts/maketfm @@ -225,6 +225,11 @@ make_enckern() { else cp $e enc/mn-$1$l-$enc.enckern fi + # need to remove uppercase letter kerning and .swash in metric files + if $create_swash + then + sed -e "s/.*LIGKERN [A-Z] {.*//g" -e "s/\.swash//g" enc/mn-$1$l-$enc.enckern > enc/mn-$1$l-$enc-swash.enckern + fi done done fi @@ -622,18 +627,18 @@ make_swash_metrics() { local swash="--include-alternates '*.swash' -faalt" - make_tfm "$1" t1 lf-swash-t1 "-fliga -flnum -fpnum $swash" - make_tfm "$1" t1 osf-swash-t1 "-fliga -fonum -fpnum $swash" - make_tfm "$1" t1 tlf-swash-t1 "-fliga -flnum -ftnum $swash" - make_tfm "$1" t1 tosf-swash-t1 "-fliga -fonum -ftnum $swash" - make_tfm "$1" ot1 lf-swash-ot1 "-fliga -flnum -fpnum $it_ot1_flags $swash" - make_tfm "$1" ot1 osf-swash-ot1 "-fliga -fonum -fpnum $it_ot1_flags $swash" - make_tfm "$1" ot1 tlf-swash-ot1 "-fliga -flnum -ftnum $it_ot1_flags $swash" - make_tfm "$1" ot1 tosf-swash-ot1 "-fliga -fonum -ftnum $it_ot1_flags $swash" - make_tfm "$1" ly1 lf-swash-ly1 "-fliga -flnum -fpnum $swash" - make_tfm "$1" ly1 osf-swash-ly1 "-fliga -fonum -fpnum $swash" - make_tfm "$1" ly1 tlf-swash-ly1 "-fliga -flnum -ftnum $swash" - make_tfm "$1" ly1 tosf-swash-ly1 "-fliga -fonum -ftnum $swash" + make_tfm "$1" t1-swash lf-swash-t1 "-fliga -flnum -fpnum $swash" + make_tfm "$1" t1-swash osf-swash-t1 "-fliga -fonum -fpnum $swash" + make_tfm "$1" t1-swash tlf-swash-t1 "-fliga -flnum -ftnum $swash" + make_tfm "$1" t1-swash tosf-swash-t1 "-fliga -fonum -ftnum $swash" + make_tfm "$1" ot1-swash lf-swash-ot1 "-fliga -flnum -fpnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash osf-swash-ot1 "-fliga -fonum -fpnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash tlf-swash-ot1 "-fliga -flnum -ftnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash tosf-swash-ot1 "-fliga -fonum -ftnum $it_ot1_flags $swash" + make_tfm "$1" ly1-swash lf-swash-ly1 "-fliga -flnum -fpnum $swash" + make_tfm "$1" ly1-swash osf-swash-ly1 "-fliga -fonum -fpnum $swash" + make_tfm "$1" ly1-swash tlf-swash-ly1 "-fliga -flnum -ftnum $swash" + make_tfm "$1" ly1-swash tosf-swash-ly1 "-fliga -fonum -ftnum $swash" if $create_vietnamese then @@ -657,25 +662,25 @@ make_spaced_swash_metrics() { local swash="--include-alternates '*.swash' -faalt" - make_tfm "$1" t1 lf-swash-l1-t1 "-L 40 -flnum -fpnum $swash" - make_tfm "$1" t1 osf-swash-l1-t1 "-L 40 -fonum -fpnum $swash" - make_tfm "$1" t1 tlf-swash-l1-t1 "-L 40 -flnum -ftnum $swash" - make_tfm "$1" t1 tosf-swash-l1-t1 "-L 40 -fonum -ftnum $swash" - make_tfm "$1" ot1 lf-swash-l1-ot1 "-L 40 -flnum -fpnum $it_ot1_flags $swash" - make_tfm "$1" ot1 osf-swash-l1-ot1 "-L 40 -fonum -fpnum $it_ot1_flags $swash" - make_tfm "$1" ot1 tlf-swash-l1-ot1 "-L 40 -flnum -ftnum $it_ot1_flags $swash" - make_tfm "$1" ot1 tosf-swash-l1-ot1 "-L 40 -fonum -ftnum $it_ot1_flags $swash" - make_tfm "$1" ly1 lf-swash-l1-ly1 "-L 40 -flnum -fpnum $swash" - make_tfm "$1" ly1 osf-swash-l1-ly1 "-L 40 -fonum -fpnum $swash" - make_tfm "$1" ly1 tlf-swash-l1-ly1 "-L 40 -flnum -ftnum $swash" - make_tfm "$1" ly1 tosf-swash-l1-ly1 "-L 40 -fonum -ftnum $swash" + make_tfm "$1" t1-swash lf-swash-l1-t1 "-L 40 -flnum -fpnum $swash" + make_tfm "$1" t1-swash osf-swash-l1-t1 "-L 40 -fonum -fpnum $swash" + make_tfm "$1" t1-swash tlf-swash-l1-t1 "-L 40 -flnum -ftnum $swash" + make_tfm "$1" t1-swash tosf-swash-l1-t1 "-L 40 -fonum -ftnum $swash" + make_tfm "$1" ot1-swash lf-swash-l1-ot1 "-L 40 -flnum -fpnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash osf-swash-l1-ot1 "-L 40 -fonum -fpnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash tlf-swash-l1-ot1 "-L 40 -flnum -ftnum $it_ot1_flags $swash" + make_tfm "$1" ot1-swash tosf-swash-l1-ot1 "-L 40 -fonum -ftnum $it_ot1_flags $swash" + make_tfm "$1" ly1-swash lf-swash-l1-ly1 "-L 40 -flnum -fpnum $swash" + make_tfm "$1" ly1-swash osf-swash-l1-ly1 "-L 40 -fonum -fpnum $swash" + make_tfm "$1" ly1-swash tlf-swash-l1-ly1 "-L 40 -flnum -ftnum $swash" + make_tfm "$1" ly1-swash tosf-swash-l1-ly1 "-L 40 -fonum -ftnum $swash" if $create_vietnamese then - make_tfm "$1" t5 lf-swash-l1-t5 "-L 40 -flnum -fpnum $swash" - make_tfm "$1" t5 osf-swash-l1-t5 "-L 40 -fonum -fpnum $swash" - make_tfm "$1" t5 tlf-swash-l1-t5 "-L 40 -flnum -ftnum $swash" - make_tfm "$1" t5 tosf-swash-l1-t5 "-L 40 -fonum -ftnum $swash" + make_tfm "$1" t5-swash lf-swash-l1-t5 "-L 40 -flnum -fpnum $swash" + make_tfm "$1" t5-swash osf-swash-l1-t5 "-L 40 -fonum -fpnum $swash" + make_tfm "$1" t5-swash tlf-swash-l1-t5 "-L 40 -flnum -ftnum $swash" + make_tfm "$1" t5-swash tosf-swash-l1-t5 "-L 40 -fonum -ftnum $swash" fi progress " done."
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Minionpro-devel mailing list Minionpro-devel@lists.berlios.de https://lists.berlios.de/mailman/listinfo/minionpro-devel