%% ---- character codes ----

iso_latex([161], "¡", "!\`"). %% begin exclamation mark
iso_latex([162], "¢", "").
iso_latex([163], "£", "").
iso_latex([164], "¤", "").
iso_latex([165], "¥", "").
iso_latex([166], "¦", "").
iso_latex([167], "§", "").
iso_latex([168], "¨", "").
iso_latex([169], "©", "").
iso_latex([170], "ª", "").
iso_latex([171], "«", "").
iso_latex([172], "¬", "").
iso_latex([173], "­", "").
iso_latex([174], "®", "").
iso_latex([175], "¯", "").
iso_latex([176], "°", "").
iso_latex([177], "±", "").
iso_latex([178], "²", "").
iso_latex([179], "³", "").
iso_latex([180], "´", "").
iso_latex([181], "µ", "").
iso_latex([182], "¶", "").
iso_latex([183], "·", "").
iso_latex([184], "¸", "").
iso_latex([185], "¹", "").
iso_latex([186], "º", "").
iso_latex([187], "»", "").
iso_latex([188], "¼", "").
iso_latex([189], "½", "").
iso_latex([190], "¾", "").
iso_latex([191], "¿", "").
iso_latex([192], "À", "\\`{A}"). %% A`
iso_latex([193], "Á", "\\'{A}"). %% A'
iso_latex([194], "Â", "\\^{A}"). %% A^
iso_latex([195], "Ã", "\\~{A}"). %% A~
iso_latex([196], "Ä", "\\\"{A}"). %% A:
iso_latex([197], "Å", "").
iso_latex([198], "Æ", "").
iso_latex([199], "Ç", "").
iso_latex([200], "È", "").
iso_latex([201], "É", "\\'{E}"). %% E'
iso_latex([202], "Ê", "").
iso_latex([203], "Ë", "").
iso_latex([204], "Ì", "").
iso_latex([205], "Í", "").
iso_latex([206], "Î", "\\'{I}"). %% I'
iso_latex([207], "Ï", "").
iso_latex([208], "Ð", "").
iso_latex([209], "Ñ", "\\~{N}"). %% N~
iso_latex([210], "Ò", "").
iso_latex([211], "Ó", "\\'{O}"). %% O'
iso_latex([212], "Ô", "").
iso_latex([213], "Õ", "").
iso_latex([214], "Ö", "").
iso_latex([215], "×", "").
iso_latex([216], "Ø", "").
iso_latex([217], "Ù", "").
iso_latex([218], "Ú", "\\'{U}"). %% U'
iso_latex([219], "Û", "").
iso_latex([220], "Ü", "\\\"{U}"). %% U:
iso_latex([221], "Ý", "").
iso_latex([222], "Þ", "").
iso_latex([223], "ß", "").
iso_latex([224], "à", "").
iso_latex([225], "á", "\\'{a}").  %% a'
iso_latex([226], "â", "").
iso_latex([227], "ã", "").
iso_latex([228], "ä", "").
iso_latex([229], "å", "").
iso_latex([230], "æ", "").
iso_latex([231], "ç", "").
iso_latex([232], "è", "").
iso_latex([233], "é", "\\'{e}"). %% e'
iso_latex([234], "ê", "").
iso_latex([235], "ë", "").
iso_latex([236], "ì", "").
iso_latex([237], "í", "\\'{\\i}"). %% i'
iso_latex([238], "î", "").
iso_latex([239], "ï", "").
iso_latex([240], "ð", "").
iso_latex([241], "ñ", "\\~{n}"). %% n~
iso_latex([242], "ò", "").
iso_latex([243], "ó", "\\'{o}"). %% o'
iso_latex([244], "ô", "").
iso_latex([245], "õ", "").
iso_latex([246], "ö", "").
iso_latex([247], "÷", "").
iso_latex([248], "ø", "").
iso_latex([249], "ù", "").
iso_latex([250], "ú", "\\'{u}"). %% u'
iso_latex([251], "û", "").
iso_latex([252], "ü", "\\\"{u}"). %% u:
iso_latex([253], "ý", "").
iso_latex([254], "þ", "").
iso_latex([255], "ÿ", "").

win_latex(" ",    "\\'{a}"  ). %% a' 
win_latex("‚", "\\'{e}"  ). %% e'
win_latex("¡",    "\\'{\\i}"). %% i'
win_latex("¢",    "\\'{o}"  ). %% o'
win_latex("£",    "\\'{u}"  ). %% u'
win_latex("", "\\\"{u}" ). %% u:
win_latex("¤",    "\\~{n}"  ). %% n~ 
win_latex("µ",    "\\'{A}"  ). %% A' 
win_latex("", "\\'{E}"  ). %% E'
win_latex("Ö",    "\\'{I}"  ). %% I'
win_latex("à",    "\\'{O}"  ). %% O'
win_latex("é",    "\\'{U}"  ). %% U'
win_latex("¥",    "\\~{N}"  ). %% N~ 
win_latex("š", "\\\"{U}" ). %% U:

latex_html("\\'{a}",  "&aacute;"  ). %% a' 
latex_html("\\'{e}",  "&eacute;"  ). %% e'
latex_html("\\'{\\i}","&iacute;"  ). %% i'
latex_html("\\'{o}",  "&oacute;"  ). %% o'
latex_html("\\'{u}",  "&uacute;"  ). %% u'
latex_html("\\~{n}",  "&ntilde;"  ). %% n~ 

:- use_module(library(format)).

print_win_code_table :-
	win_latex(Char, Latex),
	Latex \== "",
	format("latex_wincode(~s, ~w). %%~n",[Latex, Char]),
	fail.
print_win_code_table :-
	format("~n~n",[]).
	
print_iso_html :-
	iso_latex(Code, Char, Latex),
	latex_html(Latex, Html),
	format("~w  ~s  ~s  ~s~n",[Code, Char, Latex, Html]),
	fail.
print_iso_html.
	
print_iso_latex :-
	iso_latex(Code, Char, Latex),
	format("~w  ~s  ~s~n",[Code, Char, Latex]),
	fail.
print_iso_latex.
	

print_iso_code_table :-
	print_iso_code_table(161).

print_iso_code_table(256).
print_iso_code_table(C) :-
	C < 256,
	format("iso_latex([~w], ""~s"", """").~n",[C,[C]]),
	C1 is C+1,
	print_iso_code_table(C1).


