diff --git a/pdf.c b/pdf.c
index 0de01a3f6d1d709fac698007ab7a57969c4e1294..fa6bd1c8e9e137be005fc784f6a6748f6cae839c 100644
--- a/pdf.c
+++ b/pdf.c
@@ -241,13 +241,13 @@ act_digit(const HParseResult *p, void *u)
 HParsedToken *
 act_hlower(const HParseResult *p, void *u)
 {
-	return H_MAKE_UINT(H_CAST_UINT(p->ast) - 'a');
+	return H_MAKE_UINT(10 + H_CAST_UINT(p->ast) - 'a');
 }
 
 HParsedToken *
 act_hupper(const HParseResult *p, void *u)
 {
-	return H_MAKE_UINT(H_CAST_UINT(p->ast) - 'A');
+	return H_MAKE_UINT(10 + H_CAST_UINT(p->ast) - 'A');
 }
 
 HParsedToken*