(유니코드에서) 한글에 받침이 있는지 없는지 알아내는 방법은?

envia의 이미지

PHP로 만들어진 위키 소스를 고쳐 보고 있습니다. 한글로 단어가 주어지고 조사를 붙여야 하는데, 받침이 있을 때와 없을 때 각각 다른 조사를 써야 한다는 것이 문제입니다. "'글'을 쓸 수 있습니다"는 자연스럽지만, "'글'를 쓸 수 있습니다"는 부자연스럽잖아요.

여기 저기 게시판을 뒤져 봐도 어디에서 본 것 같다는 답글만 있고, 실제로 어떻게 하는지는 나와 있지 않더군요. 참고할 사이트나 소스를 소개해 주셔도 고맙겠습니다. (__)

sliver의 이미지

유니코드 2.0에서는 한글은 초성이 19개, 중성이 21개, 종성이 28개(없음도 포함)가 있습니다.
초성 19개를 0...18까지 번호를 붙이고 중성도 0...20, 종성도 역시 0...27까지 번호를 붙인다면, 원하는 코드는 0xAC00 + x*21*28 + y*28 + z (x=초성번호, y=중성번호, z=종성번호)로 만들 수 있습니다.
종성에서 0번째에 해당하는 것은 '없음'이므로 유니코드값에서 0xAC00을 뺀 후에 28로 나누어 떨어지는지 확인하면 됩니다.