Well, the basics of hex editing and pointers is pretty simple. I can give a 3 sentence tutorial, but actually doing it (ie finding the parts of an exe to change) is way more difficult.
Every exe of compiled code is a list of CPU functions (called opcodes) and parameters (and also a bunch of static data, usually at the top of a file). The CPU functions themselves all have numbers, and they're the same on all processors of the same type (here we're talking about the intel x8086 architecture). The parameters are numbers representing a location in memory or a location in the exe (or sometimes literal values).
What you want to do is use something like Cheat Engine to watch the program as it's running to find the pointers you want to change.
I know you're modifying fonts, but why do you think you need hex editing to do that? What's wrong with just changing the font files?