Function: latin1-display-setup
latin1-display-setup is a byte-compiled function defined in
latin1-disp.el.gz.
Signature
(latin1-display-setup SET &optional FORCE)
Documentation
Set up Latin-1 display for characters in the given SET.
SET must be a member of latin1-display-sets. Normally, check
whether a font for SET is available and don't set the display if it is.
Source Code
;; Defined in /usr/src/emacs/lisp/international/latin1-disp.el.gz
(defun latin1-display-setup (set &optional _force)
"Set up Latin-1 display for characters in the given SET.
SET must be a member of `latin1-display-sets'. Normally, check
whether a font for SET is available and don't set the display if it is."
(cond
((eq set 'latin-2)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?Ć "'C" "C'")
(?Đ "'D" "/D")
(?Ś "'S" "S'")
(?ć "'c" "c'")
(?đ "'d" "/d")
(?Ĺ "'L" "L'")
(?ń "'n" "n'")
(?Ń "'N" "N'")
(?ŕ "'r" "r'")
(?Ŕ "'R" "R'")
(?ś "'s" "s'")
(?ź "'z" "z'")
(?Ź "'Z" "Z'")
(?Ą "`A" "A;")
(?Ę "`E" "E;")
(?Ł "`L" "/L")
(?Ş "`S" ",S")
(?Ţ "`T" ",T")
(?Ż "`Z" "Z^.")
(?ą "`a" "a;")
(?ł "`l" "/l")
(?ę "`e" "e;")
(?ş "`s" ",s")
(?ţ "`t" ",t")
(?ż "`z" "z^.")
(?˙ "`." "'.")
(?Ă "~A" "A(")
(?Č "~C" "C<")
(?Ď "~D" "D<")
(?Ě "~E" "E<")
(?ě "~e" "e<")
(?Ľ "~L" "L<")
(?Ň "~N" "N<")
(?Ő "~O" "O''")
(?Ř "~R" "R<")
(?Š "~S" "S<")
(?Ť "~T" "T<")
(?Ű "~U" "U''")
(?Ž "~Z" "Z<")
(?ă "~a" "a(}")
(?č "~c" "c<")
(?ď "~d" "d<")
(?ľ "~l" "l<")
(?ň "~n" "n<")
(?ő "~o" "o''")
(?ř "~r" "r<")
(?š "~s" "s<")
(?ť "~t" "t<")
(?ű "~u" "u''")
(?ž "~z" "z<")
(?ˇ "~v" "'<") ; ?˘ in latin-pre
(?˘ "~~" "'(")
(?ů "uu" "u^0")
(?Ů "UU" "U^0")
(?Ä "\"A")
(?ä "\"a")
(?Ë "\"E" "E:")
(?ë "\"e")
(?˝ "''" "'")
(?ˇ "'<") ; Lynx's rendering of caron
)))
((eq set 'latin-3)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?Ħ "/H")
(?˘ "~`" "'(")
(?Ĥ "^H" "H^")
(?ĥ "^h" "h^")
(?İ ".I" "I^.")
(?Ş ",S")
(?Ğ "~G" "G(")
(?Ĵ "^J" "J^")
(?Ż ".Z" "Z^.")
(?ħ "/h")
(?ı ".i" "i^.")
(?ş ",s")
(?ğ "~g" "g(")
(?ĵ "^j" "j^")
(?ż ".Z" "z^.")
(?Ċ ".c" "C^.")
(?Ĉ "^C" "C^")
(?Ġ ".G" "G^.")
(?Ĝ "^G" "G^")
(?Ŭ "~U" "U(")
(?Ŝ "^S" "S^")
(?ċ ".C" "c^.")
(?ĉ "^c" "c^")
(?ġ ".g" "g^.")
(?ĝ "^g" "g^")
(?ŭ "~u" "u(")
(?ŝ "^s" "s^")
(?˙ "/." "^."))))
((eq set 'latin-4)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?Ą "A," "A;")
(?ĸ "k/" "kk")
(?Ŗ "R," ",R")
(?Ĩ "I~" "?I")
(?Ļ "L," ",L")
(?Š "S~" "S<")
(?Ē "E-")
(?Ģ "G," ",G")
(?Ŧ "T/" "/T")
(?Ž "Z~" "Z<")
(?ą "a," "a;")
(?˛ "';")
(?ŗ "r," ",r")
(?ĩ "i~" "~i")
(?ļ "l," ",l")
(?ˇ "'<")
(?š "s~" "s<")
(?ē "e-")
(?ģ "g," ",g")
(?ŧ "t/" "/t")
(?Ŋ "N/" "NG")
(?ž "z~" "z<")
(?ŋ "n/" "ng")
(?Ā "A-")
(?Į "I," "I;")
(?Č "C~" "C<")
(?Ę "E," "E;")
(?Ė "E." "E^.")
(?Ī "I-")
(?Ņ "N," ",N")
(?Ō "O-")
(?Ķ "K," ",K")
(?Ų "U," "U;")
(?Ũ "U~" "~U")
(?Ū "U-")
(?ā "a-")
(?į "i," "i;")
(?č "c~" "c<")
(?ę "e," "e;")
(?ė "e." "e^.")
(?ī "i-")
(?đ "d/" "/d")
(?ņ "n," ",n")
(?ō "o-")
(?ķ "k," ",k")
(?ų "u," "u;")
(?ũ "u~" "~u")
(?ū "u-")
(?˙ "^."))))
((eq set 'latin-5)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?ğ "~g" "g(")
(?Ğ "~G" "G(")
(?İ ".I" "I^.")
(?ş ",s")
(?Ş ",S")
(?ê "^e" "e<") ; from latin-post
(?ì ".e" "e^.")
(?ï "\"i" "i-") ; from latin-post
(?ı ".i" "i."))))
((eq set 'latin-8)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?Ḃ ".B" "B`")
(?ḃ ".b" "b`")
(?ċ ".c" "c`")
(?Ċ ".C" "C`")
(?Ḋ ".D" "D`")
(?ḋ ".d" "d`")
(?ẁ "`w")
(?Ẁ "`W")
(?ẃ "'w" "w'")
(?Ẃ "'W" "W'")
(?ỳ "`y")
(?Ỳ "`Y")
(?ḟ ".f" "f`")
(?Ḟ ".F" "F`")
(?ġ ".g" "g`")
(?Ġ ".G" "G`")
(?ṁ ".m" "m`")
(?Ṁ ".M" "M`")
(?ṗ ".p" "p`")
(?Ṗ ".P" "P`")
(?ṡ ".s" "s`")
(?Ṡ ".S" "S`")
(?ẅ "\"w")
(?Ẅ "\"W")
(?ŵ "^w" "w^")
(?Ŵ "^W" "W^")
(?ṫ ".t" "t`")
(?Ṫ ".T" "T`")
(?ŷ "^y" "y^")
(?Ŷ "^Y" "Y^")
(?Ÿ "\"Y"))))
((eq set 'latin-9)
(latin1-display-identities set)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?š "~s" "s<")
(?Š "~S" "S<")
(?€ "Euro" "E=")
(?ž "~z" "z<")
(?Ž "~Z" "Z<")
(?Ÿ "\"Y")
(?œ "oe")
(?Œ "OE"))))
((eq set 'greek)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?‘ "9'")
(?’ "'9")
(?― "-M")
(?΅ "'%")
(?Ά "'A")
(?Έ "'E")
(?Ή "'H")
(?Ί "'I")
(?Ό "'O")
(?Ύ "'Y")
(?Ώ "W%")
(?ΐ "i3")
(?Γ "G*")
(?Δ "D*")
(?Θ "TH")
(?Λ "L*")
(?Ξ "C*")
(?Π "P*")
(?Σ "S*")
(?Φ "F*")
(?Ψ "Q*")
(?Ω "W*")
(?Ϊ "\"I")
(?Ϋ "\"Y")
(?ά "a%")
(?έ "e%")
(?ή "y%")
(?ί "i%")
(?ΰ "u3")
(?α "a*")
(?β "b*")
(?γ "g*")
(?δ "d*")
(?ε "e*")
(?ζ "z*")
(?η "y*")
(?θ "h*")
(?ι "i*")
(?κ "k")
(?λ "l*")
(?μ "m*")
(?ν "n*")
(?ξ "c*")
(?π "p*")
(?ρ "r*")
(?ς "*s")
(?σ "s*")
(?τ "t*")
(?υ "u")
(?φ "f*")
(?χ "x*")
(?ψ "q*")
(?ω "w*")
(?ϊ "\"i")
(?ϋ "\"u")
(?ό "'o")
(?ύ "'u")
(?ώ "'w")))
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(aset standard-display-table (car l) (string-to-vector (cadr l)))))
'((?Α "A")
(?Β "B")
(?Ε "E")
(?Ζ "Z")
(?Η "H")
(?Ι "I")
(?Κ "J")
(?Μ "M")
(?Ν "N")
(?Ο "O")
(?Ρ "P")
(?Τ "T")
(?Υ "Y")
(?Χ "X")
(?ο "o"))))
((eq set 'hebrew)
;; Don't start with identities, since we don't have definitions
;; for a lot of Hebrew in internal.el. (Intlfonts is also
;; missing some glyphs.)
(let ((i 34))
(while (<= i 62)
(let ((ch (decode-char 'hebrew-iso8859-8 i)))
(if ch
(aset standard-display-table ch
(vector (decode-char 'latin-iso8859-1 i)))))
(setq i (1+ i))))
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(aset standard-display-table (car l) (string-to-vector (cadr l)))))
'((?‗ "=2")
(?א "A+")
(?ב "B+")
(?ג "G+")
(?ד "D+")
(?ה "H+")
(?ו "W+")
(?ז "Z+")
(?ח "X+")
(?ט "Tj")
(?י "J+")
(?ך "K%")
(?כ "K+")
(?ל "L+")
(?ם "M%")
(?מ "M+")
(?ן "N%")
(?נ "N+")
(?ס "S+")
(?ע "E+")
(?ף "P%")
(?פ "P+")
(?ץ "Zj")
(?צ "ZJ")
(?ק "Q+")
(?ר "R+")
(?ש "Sh")
(?ת "T+"))))
;; Arabic probably isn't so useful in the absence of Arabic
;; language support...
((eq set 'arabic)
(setq set 'arabic)
(or (char-displayable-p ? )
(aset standard-display-table ? " "))
(or (char-displayable-p ?¤)
(aset standard-display-table ?¤ "¤"))
(or (char-displayable-p ?)
(aset standard-display-table ? ""))
(mapc (lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?، ",+")
(?؛ ";+")
(?؟ "?+")
(?ء "H'")
(?آ "aM")
(?أ "aH")
(?ؤ "wH")
(?إ "ah")
(?ئ "yH")
(?ا "a+")
(?ب "b+")
(?ة "tm")
(?ت "t+")
(?ث "tk")
(?ج "g+")
(?ح "hk")
(?خ "x+")
(?د "d+")
(?ذ "dk")
(?ر "r+")
(?ز "z+")
(?س "s+")
(?ش "sn")
(?ص "c+")
(?ض "dd")
(?ط "tj")
(?ظ "zH")
(?ع "e+")
(?غ "i+")
(?ـ "++")
(?ف "f+")
(?ق "q+")
(?ك "k+")
(?ل "l+")
(?م "m+")
(?ن "n+")
(?ه "h+")
(?و "w+")
(?ى "j+")
(?ي "y+")
(?ً ":+")
(?ٌ "\"+")
(?ٍ "=+")
(?َ "/+")
(?ُ "'+")
(?ِ "1+")
(?ّ "3+")
(?ْ "0+"))))
((eq set 'cyrillic)
(setq set 'cyrillic-iso)
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(apply 'latin1-display-char l)))
'((?Ђ "Dj")
(?Ѓ "Gj")
(?Є "IE")
(?Љ "Lj")
(?Њ "Nj")
(?Ћ "Ts")
(?Ќ "Kj")
(?Ў "V%")
(?Џ "Dzh")
(?Б "B=")
(?Г "â")
(?Д "D")
(?Ж "Z%")
(?З "3")
(?И "U")
(?Й "J=")
(?Л "L=")
(?П "P=")
(?У "Y")
(?Ф "è")
(?Ц "C=")
(?Ч "C%")
(?Ш "S%")
(?Щ "Sc")
(?Ъ "=\"")
(?Ы "Y=")
(?Ь "%\"")
(?Э "Ee")
(?Ю "Yu")
(?Я "Ya")
(?б "b")
(?в "v=")
(?г "g=")
(?д "g")
(?ж "z%")
(?з "z=")
(?и "u")
(?й "j=")
(?к "k")
(?л "l=")
(?м "m=")
(?н "n=")
(?п "n")
(?р "p")
(?т "t=")
(?ф "f=")
(?ц "c=")
(?ч "c%")
(?ш "s%")
(?щ "sc")
(?ъ "='")
(?ы "y=")
(?ь "%'")
(?э "ee")
(?ю "yu")
(?я "ya")
(?№ "N0")
(?ђ "dj")
(?ѓ "gj")
(?є "ie")
(?љ "lj")
(?њ "nj")
(?ћ "ts")
(?ќ "kj")
(?ў "v%")
(?џ "dzh")))
(mapc
(lambda (l)
(or (char-displayable-p (car l))
(aset standard-display-table (car l) (string-to-vector (cadr l)))))
'((?Ё "Ë")
(?Ѕ "S")
(?І "I")
(?Ї "Ï")
(?Ј "J")
(?ё "ë")
(?§ "§")
(? "-")
(?А "A")
(?В "B")
(?Е "E")
(?К "K")
(?М "M")
(?Н "H")
(?О "O")
(?Р "P")
(?С "C")
(?Т "T")
(?Х "X")
(?а "a")
(?е "e")
(?о "o")
(?с "c")
(?у "y")
(?х "x")
(?ѕ "s")
(?і "i")
(?ї "ï")
(?ј "j"))))
(t (error "Unsupported character set: %S" set)))
(sit-for 0))