It's a bit mask. You can read about that in description of EM_SETLANGOPTIONS
"This message sets the values of all language option flags" (where a flag is a bit)
Values for each of the option (or a flag) comes in Richedit.h which is part of MSDN.
Pascal (obviously) is lagging behind and some constants might not be present in richedit.pas.
However, finding actual values is easy. you can simply google for "define IMF_DUALFONT" and it should bring you quickly to the latest RichEdit.h (i.e.
here)
The value 130 means corresponds to hexidemical value $82. (I'm using dollar sign, since it's pascal convention)
And that corresponds to two flags:
IMF_AUTOFONT = $0002
IMF_DUALFONT = $0080
IMF_AUTOFONT or IMF_DUALFONT= $82=130
Bitwise operations.
Now, whenever you write an expression like this:
opt:=opt and not IMF_AUTOFONT;
where opt originally is 130, what you get is the following:
not IMF_AUTOFONT is $FFFFFFFD (it's missing bit $2 )
$82 and $FFFFFFFD = $80 ($8 - matched, $2 didn't match)
That's how you end up with 128 (=$80).
Even though 128 might look a very high value... it's actually only 1 flag!
In the same way 130 is actually 2 flags... and so on.
"set ofs" are operating in the similar manner (as long as set is declared as a bitwise set)