if font != "dontknowwhichfontusesthisstrangeencoding":
return code
if code < 10:
- return code+161
+ return code+161
elif code < 32:
- return code+163
+ return code+163
else:
- return code
+ return code
font_names = {}
symbols = {}
xsymbols = {}
ignore_list = ["not", "braceld", "bracerd", "bracelu", "braceru",
- "lmoustache", "rmoustache", "lgroup", "rgroup", "bracevert"]
+ "lmoustache", "rmoustache", "lgroup", "rgroup", "bracevert"]
def process(file):
fh = open(file)
n = len(lines)
for i in xrange(n):
- line = lines[i]
+ line = lines[i]
mo = re.match(r'\s*%.*', line)
if mo != None:
continue
- next_line = ""
- if i+1 < n:
- next_line = lines[i+1]
+ next_line = ""
+ if i+1 < n:
+ next_line = lines[i+1]
- # some entries are spread over two lines so we join the next line
- # to the current one, (if current line contains a comment, we remove it)
- line = string.split(line,'%')[0]+next_line
+ # some entries are spread over two lines so we join the next line
+ # to the current one, (if current line contains a comment, we remove it)
+ line = string.split(line,'%')[0]+next_line
- mo = re.match(r'.*\\DeclareSymbolFont\s*\{(.*?)\}\s*\{(.*?)\}\s*\{(.*?)\}.*', line)
- if mo != None:
- font_names[mo.group(1)] = mo.group(3)
+ mo = re.match(r'.*\\DeclareSymbolFont\s*\{(.*?)\}\s*\{(.*?)\}\s*\{(.*?)\}.*', line)
+ if mo != None:
+ font_names[mo.group(1)] = mo.group(3)
- mo = re.match(r'.*\\DeclareMath(Symbol|Delimiter)\s*\{?\\(\w*?)\}?\s*\{?\\(.*?)\}?\s*\{(.*?)\}\s*\{([\'"]?)(.*?)\}.*', line)
+ mo = re.match(r'.*\\DeclareMath(Symbol|Delimiter)\s*\{?\\(\w*?)\}?\s*\{?\\(.*?)\}?\s*\{(.*?)\}\s*\{([\'"]?)(.*?)\}.*', line)
code = -1
try:
if mo != None:
except ValueError:
code = -1
- if mo != None and symbol not in ignore_list:
- mo2 = re.match(r'\s*\\def\\(.*?)\{', next_line)
- if mo2 != None and symbol == mo2.group(1)+"op":
- sys.stderr.write("%s -> %s\n" % (symbol, mo2.group(1)))
- symbol = mo2.group(1)
+ if mo != None and symbol not in ignore_list:
+ mo2 = re.match(r'\s*\\def\\(.*?)\{', next_line)
+ if mo2 != None and symbol == mo2.group(1)+"op":
+ sys.stderr.write("%s -> %s\n" % (symbol, mo2.group(1)))
+ symbol = mo2.group(1)
- if font_names.has_key(font):
- font = font_names[font]
+ if font_names.has_key(font):
+ font = font_names[font]
- code = get_code(code, font)
- if code < 0:
- continue
+ code = get_code(code, font)
+ if code < 0:
+ continue
- xcode = 0
- if xsymbols.has_key(symbol):
- xcode = xsymbols[symbol]
- del xsymbols[symbol]
+ xcode = 0
+ if xsymbols.has_key(symbol):
+ xcode = xsymbols[symbol]
+ del xsymbols[symbol]
- if symbols.has_key(symbol):
- sys.stderr.write(symbol+ " exists\n")
- if code != symbols[symbol]:
- sys.stderr.write("code is not equal!!!\n")
- else:
- symbols[symbol] = code
- if package == '':
- print "%-18s %-4s %3d %3d %-6s" % (symbol,font,code,xcode,type)
- else:
- print "%-18s %-4s %3d %3d %-9s x %s" % (symbol,font,code,xcode,type,package)
+ if symbols.has_key(symbol):
+ sys.stderr.write(symbol+ " exists\n")
+ if code != symbols[symbol]:
+ sys.stderr.write("code is not equal!!!\n")
+ else:
+ symbols[symbol] = code
+ if package == '':
+ print "%-18s %-4s %3d %3d %-6s" % (symbol,font,code,xcode,type)
+ else:
+ print "%-18s %-4s %3d %3d %-9s x %s" % (symbol,font,code,xcode,type,package)
path = os.path.split(sys.argv[0])[0]
for x in exceptions:
print "%-18s %-4s %3d %3d %-6s" % x
if xsymbols.has_key(x[0]):
- del xsymbols[x[0]]
+ del xsymbols[x[0]]
print """
lyxbar cmsy 161 0 mathord