shithub: mc

Download patch

ref: 05d00587450a853e6207c71c0a13198f93ce28a3
parent: 1ce4437f4fb4cd3c541f9dd7d1fabffb04eb317b
author: Ori Bernstein <[email protected]>
date: Sun Aug 5 23:24:56 EDT 2012

Fill in stubs.

--- a/chartype.myr
+++ b/chartype.myr
@@ -1037,6 +1037,21 @@
 	0x1ffc, 491	/* ῼ ῳ */
 ]
 
+/*
+ * title characters are those between
+ * upper and lower case. ie DZ Dz dz
+ */
+const rtotitle1 = [
+	0x01c4, 501,	/* DŽ Dž */
+	0x01c6, 499,	/* dž Dž */
+	0x01c7, 501,	/* LJ Lj */
+	0x01c9, 499,	/* lj Lj */
+	0x01ca, 501,	/* NJ Nj */
+	0x01cc, 499,	/* nj Nj */
+	0x01f1, 501,	/* DZ Dz */
+	0x01f3, 499	/* dz Dz */
+]
+
 const findc = {c, t, sz, nelt, ret
 	var l
 	var m
@@ -1146,17 +1161,43 @@
 }
 
 const tolower = {c
-	die("Stub")
+	var l
+
+	if findc(c, rtolower2[0, rtolower2.len], rtolower2.len/3, 3, &l)
+		if c >= l[0] && c <= l[1]
+			-> c + l[2] - 500;
+		;;
+	elif findc(c, rtolower1[0, rtolower1.len], rtolower1.len/2, 2, &l) 
+		if c == l[0]
+			-> c + l[1] - 500;
+		;;
+	;;
 	-> c
 }
 
 const toupper = {c
-	die("Stub")
+	var l
+
+	if findc(c, rtoupper2[0,rtoupper2.len], rtoupper2.len/3, 3, &l);
+		if c >= l[0] && c <= l[1]
+			-> c + l[2] - 500;
+		;;
+	elif findc(c, rtoupper1[0,rtoupper1.len], rtoupper1.len/2, 2, &l);
+		if c == l[0]
+			-> c + l[1] - 500;
+		;;
+	;;
 	-> c
 }
 
 const totitle = {c
-	die("Stub")
+	var l
+
+	if findc(c, rtotitle1[0,rtotitle1.len], rtotitle1.len/2, 2, &l);
+		if c == l[0]
+			-> c + l[1] - 500;
+		;;
+	;;
 	-> c
 }