Hi, After some experimenting, I settled on the next interface for dynamic features: The is also a generic command \type {\feature} that takes two arguments. Below we show all calls, with long and short variants: \starttyping \addfeature [f:mine] \feature [more][f:mine] \feature[+][f:mine] \subtractfeature [f:mine] \feature [less][f:mine] \feature[-][f:mine] \replacefeature [f:mine] \feature [new][f:mine] \feature[=][f:mine] \resetandaddfeature[f:mine] \feature[local][f:mine] \feature[!][f:mine] \revivefeature [f:mine] \feature [old][f:mine] \feature[>][f:mine] \resetfeature \feature[reset] \feature[<] \stoptyping Each variant also accepts \type {{}} instead of \type {[]} so that they can conveniently be used in square bracket arguments. This mechanism replaces \addff cum suis, although for a while they will stay around (mapped onto add and subtract). Idris is testing it (as he used this kind of trickery extensively for complex arabic) and he make a nice wiki page. We can think of a predefined set of simple features. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------