Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to create mapping files, to make use of Cambria Math italic calligraphic and double stroke letters in Plain XeTeX. However, I'm unable to do so. This is what I tried to create for the italic mapping based on tex-text.map:

; Math italic conversion for Cambria Math (and the like)

LHSName "Math-Italic"
RHSName "UNICODE"

[...]    

pass(Unicode)

; Latin big and SMALL letters
U+0041   <> U+1D434 ; A
U+0042   <> U+1D435 ; B
U+0043   <> U+1D436 ; C
U+0044   <> U+1D437 ; D
U+0045   <> U+1D438 ; E
U+0046   <> U+1D434 ; F
U+0047   <> U+1D439 ; G
U+0048   <> U+1D43A ; H
U+0049   <> U+1D43B ; I
U+004A   <> U+1D43C ; J
U+004B   <> U+1D43D ; K
U+004C   <> U+1D43E ; L
U+004D   <> U+1D43F ; M
U+004E   <> U+1D440 ; N
U+004F   <> U+1D441 ; O
U+0050   <> U+1D442 ; P
U+0051   <> U+1D443 ; Q
U+0052   <> U+1D444 ; R
U+0053   <> U+1D445 ; S
U+0054   <> U+1D446 ; T
U+0055   <> U+1D447 ; U
U+0056   <> U+1D448 ; V
U+0057   <> U+1D44A ; W
U+0058   <> U+1D44B ; X
U+0059   <> U+1D44C ; Y
U+005A   <> U+1D44D ; Z

U+0061   <> U+1D44E ; a
U+0062   <> U+1D44F ; b
U+0063   <> U+1D450 ; c
U+0064   <> U+1D451 ; d
U+0065   <> U+1D452 ; e
U+0066   <> U+1D453 ; f
U+0067   <> U+1D454 ; g
U+0068   <> U+210E  ; h
U+0069   <> U+1D456 ; i
U+006A   <> U+1D457 ; j
U+006B   <> U+1D458 ; k
U+006C   <> U+1D459 ; l
U+006D   <> U+1D45A ; m
U+006E   <> U+1D45B ; n
U+006F   <> U+1D45C ; o
U+0070   <> U+1D45D ; p
U+0071   <> U+1D45E ; q
U+0072   <> U+1D45F ; r
U+0073   <> U+1D460 ; s
U+0074   <> U+1D461 ; t
U+0075   <> U+1D462 ; u
U+0076   <> U+1D463 ; v
U+0077   <> U+1D464 ; w
U+0078   <> U+1D465 ; x
U+0079   <> U+1D466 ; y
U+007A   <> U+1D467 ; z

; Greek big and SMALL letters

;𝛳
U+0391   <> U+1D6E2 ; Alpha
U+0392   <> U+1D6E3 ; Betha
U+0393   <> U+1D6E4 ; Gamma
U+0394   <> U+1D6E5 ; Delta
U+0395   <> U+1D6E6 ; Epsilon
U+0396   <> U+1D6E7 ; Zeta
U+0397   <> U+1D6E8 ; Eta
U+0398   <> U+1D6E9 ; Theta
U+0399   <> U+1D6EA ; Iota
U+039A   <> U+1D6EB ; Kappa
U+039B   <> U+1D6EC ; Lambda
U+039C   <> U+1D6ED ; Mu
U+039D   <> U+1D6EE ; Nu
U+039E   <> U+1D6EF ; Xi
U+039F   <> U+1D6F0 ; Omicron
U+03A0   <> U+1D6F1 ; Pi
U+03A1   <> U+1D6F2 ; Ro
U+03A3   <> U+1D6F4 ; Sigma
U+03A4   <> U+1D6F5 ; Tau
U+03A5   <> U+1D6F6 ; Upsilon
U+03A6   <> U+1D6F7 ; Phi
U+03A7   <> U+1D6F8 ; Chi
U+03A8   <> U+1D6F9 ; Psi
U+03A9   <> U+1D6FA ; Omega

U+03B1   <> U+1D6FC ; alpha
U+03B2   <> U+1D6FD ; betha
U+03B3   <> U+1D6FE ; gamma
U+03B4   <> U+1D6FF ; delta
U+03B5   <> U+1D600 ; varepsilon
U+03B6   <> U+1D701 ; zeta
U+03B7   <> U+1D702 ; eta
U+03B8   <> U+1D703 ; theta
U+03B9   <> U+1D704 ; iota
U+03BA   <> U+1D705 ; kappa
U+03BB   <> U+1D706 ; lambda
U+03BC   <> U+1D707 ; mu
U+03BD   <> U+1D708 ; nu
U+03BE   <> U+1D709 ; xi
U+03BF   <> U+1D70A ; omicron
U+03C0   <> U+1D70B ; pi
U+03C1   <> U+1D70C ; ro
U+03C3   <> U+1D70D ; varsigma
U+03C3   <> U+1D70E ; sigma
U+03C4   <> U+1D70F ; tau
U+03C5   <> U+1D710 ; upsilon
U+03C6   <> U+1D711 ; phi
U+03C7   <> U+1D712 ; chi
U+03C8   <> U+1D713 ; psi
U+03C9   <> U+1D714 ; omega
U+03F5   <> U+1D715 ; epsilon
U+03D1   <> U+1D717 ; vartheta
U+03F0   <> U+1D718 ; varkappa
U+03D5   <> U+1D719 ; varphi
U+03F1   <> U+1D71A ; varrho
U+03D6   <> U+1D71B ; varpi

What did I do wrong?

share|improve this question
1  
You could use unicode-math and just set the math font to Cambria Math. –  Caramdir Sep 24 '10 at 22:06
    
I cannot use this, since it is a LaTeX package. (Or there is only documentation for LaTeX.) I'm using Plain XeTeX –  Adam L. S. Sep 25 '10 at 8:50

2 Answers 2

Not exactly an answer to your question, but I think you are doing it the wrong way. You should use \XeTeXmathchardef and the likes instead, something like:

\XeTeXmathchardef\alpha = "1 "1 "1D6FC

Check XeTeX Reference for syntax.

share|improve this answer
    
That was not my point. I've just refined my question, to clearly see, what I actually want. Actually that was only an experiment part of my code. –  Adam L. S. Sep 25 '10 at 17:47
1  
You have \XeTeXmathcode. –  Khaled Hosny Sep 25 '10 at 19:28
    
I believe that would do the trick, but that can't be binded to a font. For instance, I may want a part of math to be displayed in normal roman, or double stroke characters. That would require me to redefine each letter each time I want to switch the font. –  Adam L. S. Sep 25 '10 at 21:12
    
Well, how plain TeX does it then? –  Khaled Hosny Sep 25 '10 at 21:48
up vote 9 down vote accepted

I figured what I did wrong. First, I don't needed the part that is currently marked with [...], and I only need the > conversion instead of <>.

But most important, that map files does not used directly, I need to convert it to a *.tec˙ file. But that itself is not enough, it is need to be placed under texmf/fonts/misc/xetex/fontmapping. You may need to copy the map file as well, I didn't tried it without that yet. Conversion is done with TECkit.

However, the TECkit converter is not shipped with MiKTeX (or maybe not even with TeX Live), so you need to download that from TECkit Download page.

The command that you need to use:

teckit_compile <file>.map -o <file>.tec

If this does not work (since this isn't what I used as my last attempt) or it is not satisfying for you, you may alternatively use the SILConverters, that you can download from SILConverters page Download section, that is also can show you what characters will be translated to what characters, but that is only available for Windows. (I needed to copy the DLL files from the first downloaded file to the programs folder, so it is possible that is the same because of this.)

Don't forget to refresh the File Name database. You can do that with texhash.

share|improve this answer
    
Good summary of the necessary steps. Sorry I couldn't help here, I did write such files for myself once, but I lost them through poor data management :-( (and I've long since forgotten the exact process) –  Will Robertson Oct 5 '10 at 13:23
    
That's okay. Where would be the fun if I get the answer in the first place, and could not figure it out by my self? ;-) (I know, that I also will forget this, but I know then where to look for it.) –  Adam L. S. Oct 10 '10 at 10:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.