I added numeric formatting to Glom, so you can have currency symbols, fixed decimal places, and avoid thousands separators.
For the list of currency symbols, Glom now depends on iso-codes, which provides the symbols and names, and gettext() translations for them. There are country and language names too.
This also reminded me how unpleasantly obscure numeric formatting of streams is in C++. But I got it working.
Now I am looking again at the calculated fields, thinking of integrating the python libgda bindings with my C++ code, so I can pass some of Glom's libgda objects directly to the embedded python interpreter.
I am also exploring the C++ boost::python library instead of using python's C API directly. The API is unstable, so I must copy a huge number of boost files into Glom itself. So far it looks quite odd (lots of preprocessor macros), but I'll be happy enough if it works.