Some overview docs. on symbol problems The overall strategy with bullets / symbols is this: 1. user creates a bullet with a font that exists eg. opensymbol. 2. on save to MS format map known symbols to the "symbol" font for maximum interoperability 3. on load keep the "symbol" font associated with bullets (which causes the selector to behave strangely), and map this back to opensymbol each time we render to the screen. In addition to this, there is a special 'Symbol' textencoding which differs per symbol font, but provides an extra piece of markup information. The code involved in these stages is: * Mapping on MS export sw/filter/source/ww8/wrtw8num.cxx (SubstituteBullet): calls CreateStarSymbolToMSMultiFont vcl/source/gdi/fontcvt.cxx (StarSymbolToMSMultiFont) class this does various splitting / mapping stuff for export. * Mapping on render vcl/source/gdi/fontcvt.cxx (ImplRecodeString) the outdev3.cxx font engine decides which font to map eg. "symbol" to, and then calls ImplGetRecodeData, which builds an ImplCvtChar structure, containing pointers to character re-location tables for that font mapping. * Symbol textencoding cf. RTL_TEXTENCONDING_SYMBOL and code in sal/textenc.