Hello,
I need to admit, that I do not understand enough to get it running
successfully. But let me please summarize what I tried:
somewhere early in the init.el:
(require 'x-symbol-unicode)
According to the default face font the behavior was much different:
(set-face-font 'default "SImPL-14")
the charsyms redefined in x-symbol-unicode.el get displayed nicely.
In case I set:
(set-face-font 'default "Arial-14")
only the charsyms contained also directly in the arial font get
displayed. This does not change if I specify SImPL to be part of the
preferred alias of sans defined in ~/.fonts.conf
the font forwarding of x-symbol-init-cset reaches not until object-x.c
where patternxft always contain the font specified either via .Xdefaults
or set-face-font.
This might have something to do with x-symbol-xmacs.el
x-symbol-set-face-font, I would guess.
Thanks for all your help
Stefan
--
Stefan Holst
http://numerik.mathematik.uni-mainz.de/~juengel
FB Mathematik u. Informatik Email: holst(a)mathematik.uni-mainz.de
Joh. Gutenberg Univ. Mainz Telefon: ++49(0)6131/39-20172
D - 55099 Mainz Fax: ++49(0)6131/39-23331
(provide 'x-symbol-unicode)
(make-charset 'unicodeMathSymbol
"Unicode Block for (some) Math Symbols"
'(dimension 1
chars 96
columns 1
final ?5
long-name "Unicode Block for (some) Math Symbols"
short-name "MathSymbols"))
(defvar unicodeSymbolList
'(("forall" #x20 #x2200)
("partialdiff" #x21 #x2202)
("exists" #x22 #x2203)
("nexists" #x23 #x2204)
("emptyset" #x24 #x2205)
("Delta" #x25 #x2206)
("nabla" #x26 #x2207)
("elemof" #x27 #x2208)
("nelemof" #x28 #x2209)
("contains" #x29 #x220b)
("ncontains" #x2a #x220c)
("prod" #x2b #x220f)
("coprod" #x2c #x2210)
("sum" #x2d #x2211)
("mp" #x2e #x2213)
("bslash" #x2f #x2216)
("asterisk" #x30 #x2217)
; ("sqrt" #x31 #x221a)
("proport" #x32 #x221d)
("infty" #x33 #x221e)
("mangle" #x34 #x2221)
("parallel" #x35 #x2225)
("land" #x36 #x2227)
("lor" #x37 #x2228)
("cap" #x38 #x2229)
("cup" #x39 #x222a)
("int" #x3a #x222b)
("dint" #x3b #x222c)
("vint" #x3c #x222d)
("cint" #x3d #x222e)
("cdint" #x3e #x222f)
("cvint" #x3f #x2230)
("simeq" #x40 #x2243)
("congruent" #x41 #x2245)
("almosteq" #x42 #x2248)
("neq" #x43 #x2260)
("equiv" #x44 #x2261)
("leq" #x45 #x2264)
("geq" #x46 #x2265)
("muchless" #x47 #x226a)
("muchgreater" #x48 #x226b)
("subset" #x49 #x2282)
("supset" #x4a #x2283)
("nsubset" #x4b #x2284)
("nsupset" #x4c #x2285)
("subseteq" #x4d #x2286)
("supseteq" #x4e #x2287)
("oplus" #x4f #x2295)
("ominus" #x50 #x2296)
("otimes" #x51 #x2297)
("oslash" #x52 #x2298)
("odot" #x53 #x2299)
("top" #x54 #x22a4)
("perpendicular" #x55 #x22a5))
)
(dolist (entry unicodeSymbolList)
(set-unicode-conversion
(make-char 'unicodeMathSymbol (car (cdr entry))) (car (cdr (cdr entry))))
)
;(set-unicode-conversion
; (make-char 'unicodeMathSymbol #x20) #x220F) ;;N-ARY PRODUCT
;(set-unicode-conversion
; (make-char 'unicodeMathSymbol #x21) 8704) ;; FOR ALL
;(set-unicode-conversion
; (make-char 'unicodeMathSymbol #x22) #x222B) ;; INTEGRAL
;(set-unicode-conversion
; (make-char 'unicodeMathSymbol #x23) #x2202) ;; PARTIAL DIFFERENTIAL
(setq x-symbol-tex-user-table
'((Xso (math letter user) "\\Xso")
(mus (math bigop) "\\mus")
(fa (math letter user) "\\fa")
(emptyset (math letter user) "\\varnothing")
(Upartialdiff (math letter user) "\\partial")
)); "Table defining the new macros" )
(setq x-symbol-compose-key '(control +))
(setq x-symbol-8bits t)
(x-symbol-initialize)
;(defalias 'x-symbol-make-char 'x-symbol-unicode-make-char)
(require 'x-symbol)
;(require 'x-symbol-mule)
; (defun x-symbol-unicode-make-char (cset encoding charsym face coding)
; "THis is a journey into sound. I don't know anything. But let's try
everything"
; (warn "encoding of character %s is %s " charsym enconding)
; (let* ((char (if (> encoding 265) (unicode-to-char encoding)
(x-symbol-mule-make-char cset encoding charsym face coding))
; )
; )
; )
; )
(defvar x-symbol-myfont-fonts
; '("OpenSymbol-%d")
'(("SImPL-%d")("SImPL-%d")("SImPL-%d"))
)
; ("-misc-opensymbol-medium-*-*-*-*-*-*-*-*-*-iso10646-1")
(defvar x-symbol-myfont-cset
'((("iso10646") ?\200 3000)
(unicodeMathSymbol) .
nil)
"Cset for use of UTF8Characters")
(defvar x-symbol-myfont-table
'((longarrownortheast 33 (arrow) (size big . arrownortheast))
(Xso 968 (symbol "S") nil nil ("xso") )
(mus 32 (symbol) nil nil ("mus") )
(fa 33 (symbol) nil nil ("forall") )
(universal1 #x20 (symbol) nil nil ("A"))
(Upartialdiff #x21 (mathletter "d"))
(existential1 #x22 (symbol) nil nil ("E"))
(emptyset #x24 (shape) nil nil ("0/" "O/"))
(Delta #x25 (greek "D" delta "Delta"))
(gradient #x26 (triangle) (direction south . Delta) nil (t "\\-/"))
(element #x27 (relation) (direction west) nil ("(-"))
(notelement #x28 (relation) (direction west) nil (t "(-/") (element))
(suchthat #x29 (relation) (direction east . element) nil ("-)"))
(product #x2b (bigop) (size big . Pi) nil ("TT"))
(coproduct #x2c (bigop) (direction south . product) nil (t "|_|"))
(summation #x2d (bigop) (size big . Sigma))
(minusplus #x2e (operator) (direction south . plusminus) nil (t "-+"))
(backslash1 #x2f (line) nil nil ("\\"))
(asterisk1 #x30 (operator) nil nil ("*")) ; Adobe:asteriskmath
(proportional #x32 (relation) nil nil ("oc"))
(infinity #x33 (symbol) nil nil ("oo"))
(bardbl1 #x35 (line) bardbl 120 nil (bar1))
(logicaland #x36 (operator) (direction north . logicalor) nil (t "/\\"))
(logicalor #x37 (operator) (direction south) nil (t "\\/"))
(intersection #x38(operator) (shape round . logicaland))
(union #x39 (operator) (shape round . logicalor))
(integral #x3a (bigop) (size big) nil (t "|'"))
(circleintegral #x3d (bigop) (size big) nil (t "|'O") (integral))
(simequal #x40 (relation) nil nil (t "~_") (similar))
(congruent #x41 (relation) nil nil (t "~="))
(approxequal #x42 (relation) nil nil (t "~~"))
(notequal #x43 (relation) nil nil (t "=/"))
(equivalence #x44 (relation) nil nil (t "=_"))
(lessequal #x45 (relation) (direction west . greaterequal) nil (t
"<_"))
(greaterequal #x46 (relation) (direction east) nil (t ">_"))
(lessless #x47 (relation) (direction west . greatergreater) nil
("<<"))
(greatergreater #x48 (relation) (direction east) nil (">>"))
(propersubset #x49 (relation) (direction east . union) nil (">"))
(propersuperset #x4a (relation) (direction east . union) nil (">"))
(notsubset #x4b (relation) (shape round direction west) nil ("</")
(propersubset))
(notsuperset #x4c (relation) (shape round direction east) nil ("</")
(propersuperset))
(reflexsubset #x4d (relation) (shape round . lessequal) nil
nil (propersubset))
(reflexsuperset #x4e (relation) (shape round . greaterequal) nil
nil (propersuperset))
(circleplus #x4f (operator) nil nil (t "+O"))
(circleminus #x50 (operator) Theta 120 ("-O"))
(circlemultiply #x51 (operator) nil nil (t "xO") (multiply))
(circleslash #x52 (operator) nil nil ("/O"))
(circledot #x53 (operator) nil nil (t ".O") (periodcentered))
(top #x54 (arrow) (direction south . perpendicular) nil ("T"))
(perpendicular #x55 (arrow) (direction north) nil (t "_|_"))
)
)
(x-symbol-init-cset x-symbol-myfont-cset x-symbol-myfont-fonts
x-symbol-myfont-table)
; (setq x-symbol-tex-user-table
; '((Xso (math letter user) "\\Xso")
; (mus (math bigop) "\\mus"))); "Table defining the new macros" )