Most (all?) of them are composable, either by means of letter + slash (OSLI) or by ZWJ (for things like "Pta" or "Pts", if anything),
Using ZWJ for such things is frowned upon. The ZWJ may be used to request a ligature between two characters, but it's not a general purpose compositor.
For currency units, there are two distinct cases: Countries where the currency unit is spelled out as a string, and countries where the currency unit is a single symbol.
For example, before the introduction of the euro, most European currencies did not have a unique symbol, but were spelled out by a string containing an abbreviation of the name of the currency. (e.g. DM for the German Mark, BF for Belgian Francs, etc.).
In some places, the abbreviation is used as if it's a single symbol. In that case, it should be treated as a distinct symbol and encoded as compatibility character, because otherwise it won't map correctly to whatever legacy (i.e. non-unicode) character sets contain it as a single symbol.
We certainly don't want to see character code converters be sensitive to ZWJ.
A./

