Positioning glyphs in OpenType is done by manipulating four parameters:

Lookups may adjust each of these values. To make the values take less space in the output file, all values in one positioning lookup have to have the same format. For example, kerning is done by adjusting the x advance value, but no other values. ,,-30 specifies subtraction of 30 font units from the x advance value. It has the same meaning as 0,0,-30,0 but the format is different. Moving a glyph down while at the same time increasing its y advance value may be done with ,30,,30.