What direction is the text supposed to be read in?
Until recently, Korean text was written in columns going down, reading the right-most column first and proceeding leftward.
Why are some of the Hangul characters smaller than others?
In most cases, the smaller Hangul characters are pronunciations of the previous (above) 한자. Not all the 한자s there have them, but most do: you can see 법 below 法, 솅 below 世 (now pronounced 세), and 념 before 念. However, I can see at least one small 한글 without a previous 한자 (심, right in the middle), so I'm not sure why it's used there.
As far as I can see, all of the larger 한글 are native Korean words or endings.
There seem to be some forms that aren't seen in modern Korean, e.g. the double 'ㅎㅎ'. How have the rules on how to form these characters changed? (it may be that this should be a separate question in its own right).
There are several big changes:
- Korean is no longer a tonal language (except in 경상 방언) , so it doesn't write the tones anymore. But medieval Korean had tones, and this is indicated by dots to the left of a character. No dot indicates normal tone (평성), one dot is high tone (거성), while two dots indicates rising tone (상성).
- The single dot vowel (아래 아) has disappeared. Many Koreans will just pronounce this as ㅏ, and you'll see some signs that try to look old-fashioned by replacing an ㅏ with a dot (sometimes incorrectly). Actually, it was a separate vowel, and it was paired with ㅡ for vowel harmony. But it disappeared following several changes. In some cases it became an ㅜ (e.g. 겨ㅇㆍㄹ -> 겨울); in other cases it merged with ㅡ (마ㅇㆍㄹ -> 마을); the final merger was with ㅏ: ㄷㆍ리 -> 다리 (bridge).
- Other consonants disappeared: ᄫ (the loss of which explains ㅂ-irregular adjectives like 무섭다), ᅀ, and ᅙ (여린히읗 - a softer version of ㅎ) for example.
- In many cases you'll see a ㅅ by itself after a 한자. This was a kind of genitive in medieval Korean. You'll also see it in the 받침 of some 한글s: for example, in the above text 오늘 is written as 오늜. If you wanted to put two nouns together, the first one needed a ㅅ. So 오늘 날 becomes 오늜 날. Although this mostly disappeared, we can still see its effect with the 사이 시옷.
- Many clusters are gone, including all the triple ones. You'll often see 된소리 (ㄲ,ㄸ,ㅃ,ㅆ,ㅉ) words beginning with a cluster like this: ㅄㅡ다 is now 쓰다 (not sure the pronunciation of it at the time), ㅄㆍㄹ -> 쌀, and ㅄ대 -> 때.