diff --git a/config.ini b/config.ini index 46735eb0f11120179a48c40187b0ed12df58d251..f394d9d143d62af100a1175ff7bb4e1e3476bf6c 100644 --- a/config.ini +++ b/config.ini @@ -90,11 +90,26 @@ ignore = toc 1, toc 2, toc 3, toc 4, toc 5, toc 6, toc 7, toc 8, toc 9 ; The characters to be replaced and the characters that make the ; replacement string must be specified as hex values ; To remove a character from the file set it to 00 (2 zeros) +; +; The following are some common characters that can be replaced as well. + +; Registered trademark (®) — (`®`) +; Trademark (™) — (`™`) +; Euro (€) — (`€`) +; Left arrow (←) — (`←`) +; Up arrow (↑) — (`↑`) +; Right arrow (→) — (`→`) +; Down arrow (↓) — (`↓`) +; Degree (°) — (`°`) +; Pi (π) — (`π`) + ; "(c)" -a9 = 286329 +; a9 = 286329 +a9 = © ; "(R)" -ae = 285229 +; ae = 285229 +ae = ® ; space a0 = 20 ; double quote diff --git a/spec2md.py b/spec2md.py index 1c26aa512d8fdb352742e6a46fb6c997b69a896e..e12a9644c462bf526ba5da108adf8507db22ec3d 100644 --- a/spec2md.py +++ b/spec2md.py @@ -192,8 +192,16 @@ class DocumentConfiguration(object): self.generateToc = config.getboolean('toc', 'generateToc', fallback = False) # characters - self.characters = { int(c, 16) : binascii.unhexlify(config.get('characters', c)).decode('utf-8') # type: ignore [attr-defined] - for c in config['characters'] } + # self.characters = { int(c, 16) : binascii.unhexlify(config.get('characters', c)).decode('utf-8') # type: ignore [attr-defined] + # for c in config['characters'] } + self.characters = {} + for c,v in config['characters'].items(): + if v.startswith('&'): + # HTML entity + self.characters[int(c, 16)] = v + else: + # Unicode character + self.characters[int(c, 16)] = binascii.unhexlify(config.get('characters', c)).decode('utf-8') # type: ignore [attr-defined] # Media & Converter self.emfConverterPng = config.get('media', 'emfConverterPng', fallback = None)