diff --git a/stitchcode/hershey/fonts.json b/stitchcode/hershey/fonts.json new file mode 100644 index 00000000..30b578c4 --- /dev/null +++ b/stitchcode/hershey/fonts.json @@ -0,0 +1,1160 @@ +{ + "futuram": { + "name": "Sans bold", + "chars": [ + { + "d": "M5,1 L5,15 6,15 M5,1 L6,1 6,15 M5,19 L4,20 4,21 5,22 6,22 7,21 7,20 6,19 5,19 M5,20 L5,21 6,21 6,20 5,20", + "o": 6 + }, + { + "d": "M5,1 L4,2 4,8 M5,2 L4,8 M5,1 L6,2 4,8 M14,1 L13,2 13,8 M14,2 L13,8 M14,1 L15,2 13,8", + "o": 9 + }, + { + "d": "M11,-3 L4,29 M17,-3 L10,29 M4,10 L18,10 M3,16 L17,16", + "o": 11 + }, + { + "d": "M9,-3 L9,26 10,26 M9,-3 L10,-3 10,26 M14,4 L16,4 14,2 11,1 8,1 5,2 3,4 3,6 4,8 5,9 13,13 14,14 15,16 15,18 14,20 11,21 8,21 6,20 5,19 M14,4 L13,3 11,2 8,2 5,3 4,4 4,6 5,8 13,12 15,14 16,16 16,18 15,20 14,21 11,22 8,22 5,21 3,19 5,19 M15,19 L12,21", + "o": 10 + }, + { + "d": "M21,1 L3,22 M8,1 L10,3 10,5 9,7 7,8 5,8 3,6 3,4 4,2 6,1 8,1 10,2 13,3 16,3 19,2 21,1 M17,15 L15,16 14,18 14,20 16,22 18,22 20,21 21,19 21,17 19,15 17,15", + "o": 12 + }, + { + "d": "M21,9 L20,10 21,11 22,10 22,9 21,8 20,8 19,9 18,11 16,16 14,19 12,21 10,22 7,22 4,21 3,19 3,16 4,14 10,10 12,8 13,6 13,4 12,2 10,1 8,2 7,4 7,6 8,9 10,12 15,19 17,21 20,22 21,22 22,21 22,20 M7,22 L5,21 4,19 4,16 5,14 7,12 M7,6 L8,8 16,19 18,21 20,22", + "o": 13 + }, + { + "d": "M5,1 L4,2 4,8 M5,2 L4,8 M5,1 L6,2 4,8", + "o": 5 + }, + { + "d": "M11,-3 L9,-1 7,2 5,6 4,11 4,15 5,20 7,24 9,27 11,29 M9,-1 L7,3 6,6 5,11 5,15 6,20 7,23 9,27", + "o": 7 + }, + { + "d": "M3,-3 L5,-1 7,2 9,6 10,11 10,15 9,20 7,24 5,27 3,29 M5,-1 L7,3 8,6 9,11 9,15 8,20 7,23 5,27", + "o": 7 + }, + { + "d": "M8,1 L7,2 9,12 8,13 M8,1 L8,13 M8,1 L9,2 7,12 8,13 M3,4 L4,4 12,10 13,10 M3,4 L13,10 M3,4 L3,5 13,9 13,10 M13,4 L12,4 4,10 3,10 M13,4 L3,10 M13,4 L13,5 3,9 3,10", + "o": 8 + }, + { + "d": "M12,4 L12,21 13,21 M12,4 L13,4 13,21 M4,12 L21,12 21,13 M4,12 L4,13 21,13", + "o": 13 + }, + { + "d": "M7,21 L6,22 5,22 4,21 4,20 5,19 6,19 7,20 7,23 6,25 4,26 M5,20 L5,21 6,21 6,20 5,20 M6,22 L7,23 M7,21 L6,25", + "o": 6 + }, + { + "d": "M4,13 L22,13", + "o": 13 + }, + { + "d": "M5,19 L4,20 4,21 5,22 6,22 7,21 7,20 6,19 5,19 M5,20 L5,21 6,21 6,20 5,20", + "o": 6 + }, + { + "d": "M20,-3 L2,29 3,29 M20,-3 L21,-3 3,29", + "o": 12 + }, + { + "d": "M9,1 L6,2 4,5 3,10 3,13 4,18 6,21 9,22 11,22 14,21 16,18 17,13 17,10 16,5 14,2 11,1 9,1 M7,2 L5,5 4,10 4,13 5,18 7,21 M6,20 L9,21 11,21 14,20 M13,21 L15,18 16,13 16,10 15,5 13,2 M14,3 L11,2 9,2 6,3", + "o": 10 + }, + { + "d": "M6,5 L8,4 11,1 11,22 M6,5 L6,6 8,5 10,3 10,22 11,22", + "o": 10 + }, + { + "d": "M4,6 L4,5 5,3 6,2 8,1 12,1 14,2 15,3 16,5 16,7 15,9 13,12 4,22 M4,6 L5,6 5,5 6,3 8,2 12,2 14,3 15,5 15,7 14,9 12,12 3,22 M4,21 L17,21 17,22 M3,22 L17,22", + "o": 10 + }, + { + "d": "M5,1 L16,1 9,10 M5,1 L5,2 15,2 M15,1 L8,10 M9,9 L11,9 14,10 16,12 17,15 17,16 16,19 14,21 11,22 8,22 5,21 4,20 3,18 4,18 M8,10 L11,10 14,11 16,14 M12,10 L15,12 16,15 16,16 15,19 12,21 M16,17 L14,20 11,21 8,21 5,20 4,18 M7,21 L4,19", + "o": 10 + }, + { + "d": "M13,4 L13,22 14,22 M14,1 L14,22 M14,1 L3,17 18,17 M13,4 L4,17 M4,16 L18,16 18,17", + "o": 10 + }, + { + "d": "M5,1 L4,10 M6,2 L5,9 M5,1 L15,1 15,2 M6,2 L15,2 M5,9 L8,8 11,8 14,9 16,11 17,14 17,16 16,19 14,21 11,22 8,22 5,21 4,20 3,18 4,18 M4,10 L5,10 7,9 11,9 14,10 16,13 M12,9 L15,11 16,14 16,16 15,19 12,21 M16,17 L14,20 11,21 8,21 5,20 4,18 M7,21 L4,19", + "o": 10 + }, + { + "d": "M14,2 L15,4 16,4 15,2 12,1 10,1 7,2 5,5 4,10 4,15 5,19 7,21 10,22 11,22 14,21 16,19 17,16 17,15 16,12 14,10 11,9 10,9 7,10 5,12 M15,3 L12,2 10,2 7,3 M8,2 L6,5 5,10 5,15 6,19 9,21 M5,17 L7,20 10,21 11,21 14,20 16,17 M12,21 L15,19 16,16 16,15 15,12 12,10 M16,14 L14,11 11,10 10,10 7,11 5,14 M9,10 L6,12 5,15", + "o": 10 + }, + { + "d": "M3,1 L17,1 7,22 M3,1 L3,2 16,2 M16,1 L6,22 7,22", + "o": 10 + }, + { + "d": "M8,1 L5,2 4,4 4,6 5,8 6,9 8,10 12,11 14,12 15,13 16,15 16,18 15,20 12,21 8,21 5,20 4,18 4,15 5,13 6,12 8,11 12,10 14,9 15,8 16,6 16,4 15,2 12,1 8,1 M6,2 L5,4 5,6 6,8 8,9 12,10 14,11 16,13 17,15 17,18 16,20 15,21 12,22 8,22 5,21 4,20 3,18 3,15 4,13 6,11 8,10 12,9 14,8 15,6 15,4 14,2 M15,3 L12,2 8,2 5,3 M4,19 L7,21 M13,21 L16,19", + "o": 10 + }, + { + "d": "M15,11 L13,13 10,14 9,14 6,13 4,11 3,8 3,7 4,4 6,2 9,1 10,1 13,2 15,4 16,8 16,13 15,18 13,21 10,22 8,22 5,21 4,19 5,19 6,21 M15,8 L14,11 11,13 M15,9 L13,12 10,13 9,13 6,12 4,9 M8,13 L5,11 4,8 4,7 5,4 8,2 M4,6 L6,3 9,2 10,2 13,3 15,6 M11,2 L14,4 15,8 15,13 14,18 12,21 M13,20 L10,21 8,21 5,20", + "o": 10 + }, + { + "d": "M5,8 L4,9 4,10 5,11 6,11 7,10 7,9 6,8 5,8 M5,9 L5,10 6,10 6,9 5,9 M5,19 L4,20 4,21 5,22 6,22 7,21 7,20 6,19 5,19 M5,20 L5,21 6,21 6,20 5,20", + "o": 6 + }, + { + "d": "M5,8 L4,9 4,10 5,11 6,11 7,10 7,9 6,8 5,8 M5,9 L5,10 6,10 6,9 5,9 M7,21 L6,22 5,22 4,21 4,20 5,19 6,19 7,20 7,23 6,25 4,26 M5,20 L5,21 6,21 6,20 5,20 M6,22 L7,23 M7,21 L6,25", + "o": 6 + }, + { + "d": "M20,4 L4,13 20,22", + "o": 12 + }, + { + "d": "M4,8 L21,8 21,9 M4,8 L4,9 21,9 M4,16 L21,16 21,17 M4,16 L4,17 21,17", + "o": 13 + }, + { + "d": "M4,4 L20,13 4,22", + "o": 12 + }, + { + "d": "M3,6 L3,5 4,3 5,2 8,1 11,1 14,2 15,3 16,5 16,7 15,9 14,10 12,11 9,12 M3,6 L4,6 4,5 5,3 8,2 11,2 14,3 15,5 15,7 14,9 12,10 9,11 M4,4 L7,2 M12,2 L15,4 M15,8 L11,11 M9,11 L9,15 10,15 10,11 M9,19 L8,20 8,21 9,22 10,22 11,21 11,20 10,19 9,19 M9,20 L9,21 10,21 10,20 9,20", + "o": 10 + }, + { + "d": "M18,9 L17,7 15,6 12,6 10,7 9,8 8,11 8,14 9,16 11,17 14,17 16,16 17,14 M12,6 L10,8 9,11 9,14 10,16 11,17 M18,6 L17,14 17,16 19,17 21,17 23,15 24,12 24,10 23,7 22,5 20,3 18,2 15,1 12,1 9,2 7,3 5,5 4,7 3,10 3,13 4,16 5,18 7,20 9,21 12,22 15,22 18,21 20,20 21,19 M19,6 L18,14 18,16 19,17", + "o": 14 + }, + { + "d": "M10,1 L2,22 M10,4 L3,22 2,22 M10,4 L17,22 18,22 M10,1 L18,22 M5,16 L15,16 M4,17 L16,17", + "o": 10 + }, + { + "d": "M4,1 L4,22 M5,2 L5,21 M4,1 L12,1 15,2 16,3 17,5 17,8 16,10 15,11 12,12 M5,2 L12,2 15,3 16,5 16,8 15,10 12,11 M5,11 L12,11 15,12 16,13 17,15 17,18 16,20 15,21 12,22 4,22 M5,12 L12,12 15,13 16,15 16,18 15,20 12,21 5,21", + "o": 10 + }, + { + "d": "M18,6 L17,4 15,2 13,1 9,1 7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 M18,6 L17,6 16,4 15,3 13,2 9,2 7,3 5,6 4,9 4,14 5,17 7,20 9,21 13,21 15,20 16,19 17,17 18,17", + "o": 11 + }, + { + "d": "M4,1 L4,22 M5,2 L5,21 M4,1 L11,1 14,2 16,4 17,6 18,9 18,14 17,17 16,19 14,21 11,22 4,22 M5,2 L11,2 14,3 15,4 16,6 17,9 17,14 16,17 15,19 14,20 11,21 5,21", + "o": 11 + }, + { + "d": "M4,1 L4,22 M5,2 L5,21 M4,1 L16,1 M5,2 L16,2 16,1 M5,11 L11,11 11,12 M5,12 L11,12 M5,21 L16,21 16,22 M4,22 L16,22", + "o": 10 + }, + { + "d": "M4,1 L4,22 M5,2 L5,22 4,22 M4,1 L16,1 M5,2 L16,2 16,1 M5,11 L11,11 11,12 M5,12 L11,12", + "o": 9 + }, + { + "d": "M18,6 L17,4 15,2 13,1 9,1 7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 18,13 13,13 M18,6 L17,6 16,4 15,3 13,2 9,2 7,3 6,4 5,6 4,9 4,14 5,17 6,19 7,20 9,21 13,21 15,20 16,19 17,17 17,14 13,14 13,13", + "o": 11 + }, + { + "d": "M4,1 L4,22 M4,1 L5,1 5,22 4,22 M18,1 L17,1 17,22 18,22 M18,1 L18,22 M5,11 L17,11 M5,12 L17,12", + "o": 11 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22", + "o": 5 + }, + { + "d": "M12,1 L12,17 11,20 9,21 7,21 5,20 4,17 3,17 M12,1 L13,1 13,17 12,20 11,21 9,22 7,22 5,21 4,20 3,17", + "o": 9 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22 M18,1 L17,1 5,13 M18,1 L5,14 M8,10 L17,22 18,22 M9,10 L18,22", + "o": 11 + }, + { + "d": "M4,1 L4,22 M4,1 L5,1 5,21 M5,21 L16,21 16,22 M4,22 L16,22", + "o": 8 + }, + { + "d": "M4,1 L4,22 M5,6 L5,22 4,22 M5,6 L12,22 M4,1 L12,19 M20,1 L12,19 M19,6 L12,22 M19,6 L19,22 20,22 M20,1 L20,22", + "o": 12 + }, + { + "d": "M4,1 L4,22 M5,4 L5,22 4,22 M5,4 L18,22 M4,1 L17,19 M17,1 L17,19 M17,1 L18,1 18,22", + "o": 11 + }, + { + "d": "M9,1 L7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 19,14 19,9 18,6 17,4 15,2 13,1 9,1 M10,2 L7,3 5,6 4,9 4,14 5,17 7,20 10,21 12,21 15,20 17,17 18,14 18,9 17,6 15,3 12,2 10,2", + "o": 11 + }, + { + "d": "M4,1 L4,22 M5,2 L5,22 4,22 M4,1 L13,1 15,2 16,3 17,5 17,8 16,10 15,11 13,12 5,12 M5,2 L13,2 15,3 16,5 16,8 15,10 13,11 5,11", + "o": 10 + }, + { + "d": "M9,1 L7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 19,14 19,9 18,6 17,4 15,2 13,1 9,1 M10,2 L7,3 5,6 4,9 4,14 5,17 7,20 10,21 12,21 15,20 17,17 18,14 18,9 17,6 15,3 12,2 10,2 M12,19 L17,24 18,24 M12,19 L13,19 18,24", + "o": 11 + }, + { + "d": "M4,1 L4,22 M5,2 L5,22 4,22 M4,1 L12,1 15,2 16,3 17,5 17,8 16,10 15,11 12,12 5,12 M5,2 L12,2 15,3 16,5 16,8 15,10 12,11 5,11 M10,12 L16,22 17,22 M11,12 L17,22", + "o": 10 + }, + { + "d": "M17,4 L15,2 12,1 8,1 5,2 3,4 3,6 4,8 5,9 7,10 12,12 14,13 15,14 16,16 16,19 15,20 12,21 8,21 6,20 5,19 3,19 M17,4 L15,4 14,3 12,2 8,2 5,3 4,4 4,6 5,8 7,9 12,11 14,12 16,14 17,16 17,19 15,21 12,22 8,22 5,21 3,19", + "o": 10 + }, + { + "d": "M8,2 L8,22 M9,2 L9,22 8,22 M2,1 L15,1 15,2 M2,1 L2,2 15,2", + "o": 9 + }, + { + "d": "M4,1 L4,16 5,19 7,21 10,22 12,22 15,21 17,19 18,16 18,1 M4,1 L5,1 5,16 6,19 7,20 10,21 12,21 15,20 16,19 17,16 17,1 18,1", + "o": 11 + }, + { + "d": "M2,1 L10,22 M2,1 L3,1 10,19 M18,1 L17,1 10,19 M18,1 L10,22", + "o": 10 + }, + { + "d": "M2,1 L8,22 M2,1 L3,1 8,19 M13,1 L8,19 M13,4 L8,22 M13,4 L18,22 M13,1 L18,19 M24,1 L23,1 18,19 M24,1 L18,22", + "o": 13 + }, + { + "d": "M3,1 L16,22 17,22 M3,1 L4,1 17,22 M17,1 L16,1 3,22 M17,1 L4,22 3,22", + "o": 10 + }, + { + "d": "M2,1 L9,11 9,22 10,22 M2,1 L3,1 10,11 M17,1 L16,1 9,11 M17,1 L10,11 10,22", + "o": 10 + }, + { + "d": "M16,1 L3,22 M17,1 L4,22 M3,1 L17,1 M3,1 L3,2 16,2 M4,21 L17,21 17,22 M3,22 L17,22", + "o": 10 + }, + { + "d": "M4,-3 L4,29 M5,-3 L5,29 M4,-3 L11,-3 M4,29 L11,29", + "o": 7 + }, + { + "d": "M0,1 L14,25", + "o": 7 + }, + { + "d": "M9,-3 L9,29 M10,-3 L10,29 M3,-3 L10,-3 M3,29 L10,29", + "o": 7 + }, + { + "d": "M3,15 L11,10 19,15 M3,15 L11,11 19,15", + "o": 11 + }, + { + "d": "M0,29 L20,29", + "o": 10 + }, + { + "d": "M4,1 L9,7 M4,1 L3,2 9,7", + "o": 6 + }, + { + "d": "M15,8 L15,22 16,22 M15,8 L16,8 16,22 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M15,11 L11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 15,19", + "o": 10 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22 M5,11 L7,9 9,8 12,8 14,9 16,11 17,14 17,16 16,19 14,21 12,22 9,22 7,21 5,19 M5,11 L9,9 12,9 14,10 15,11 16,14 16,16 15,19 14,20 12,21 9,21 5,19", + "o": 10 + }, + { + "d": "M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M15,11 L14,12 13,10 11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 13,20 14,18 15,19", + "o": 9 + }, + { + "d": "M15,1 L15,22 16,22 M15,1 L16,1 16,22 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M15,11 L11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 15,19", + "o": 10 + }, + { + "d": "M4,15 L15,15 15,12 14,10 13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M4,14 L14,14 14,12 13,10 11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 13,20 14,18 15,19", + "o": 9 + }, + { + "d": "M11,1 L9,1 7,2 6,5 6,22 7,22 M11,1 L11,2 9,2 7,3 M8,2 L7,5 7,22 M3,8 L10,8 10,9 M3,8 L3,9 10,9", + "o": 8 + }, + { + "d": "M16,8 L15,8 15,23 14,26 13,27 11,28 9,28 7,27 6,26 4,26 M16,8 L16,23 15,26 13,28 11,29 8,29 6,28 4,26 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M15,11 L11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 15,19", + "o": 10 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22 M5,12 L8,9 10,8 13,8 15,9 16,12 16,22 M5,12 L8,10 10,9 12,9 14,10 15,12 15,22 16,22", + "o": 10 + }, + { + "d": "M4,1 L3,2 3,3 4,4 5,4 6,3 6,2 5,1 4,1 M4,2 L4,3 5,3 5,2 4,2 M4,8 L4,22 5,22 M4,8 L5,8 5,22", + "o": 5 + }, + { + "d": "M4,1 L3,2 3,3 4,4 5,4 6,3 6,2 5,1 4,1 M4,2 L4,3 5,3 5,2 4,2 M4,8 L4,29 5,29 M4,8 L5,8 5,29", + "o": 5 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22 M16,8 L15,8 5,18 M16,8 L5,19 M8,15 L14,22 16,22 M9,14 L16,22", + "o": 9 + }, + { + "d": "M4,1 L4,22 5,22 M4,1 L5,1 5,22", + "o": 5 + }, + { + "d": "M4,8 L4,22 5,22 M4,8 L5,8 5,22 M5,12 L8,9 10,8 13,8 15,9 16,12 16,22 M5,12 L8,10 10,9 12,9 14,10 15,12 15,22 16,22 M16,12 L19,9 21,8 24,8 26,9 27,12 27,22 M16,12 L19,10 21,9 23,9 25,10 26,12 26,22 27,22", + "o": 16 + }, + { + "d": "M4,8 L4,22 5,22 M4,8 L5,8 5,22 M5,12 L8,9 10,8 13,8 15,9 16,12 16,22 M5,12 L8,10 10,9 12,9 14,10 15,12 15,22 16,22", + "o": 10 + }, + { + "d": "M8,8 L6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 16,16 16,14 15,11 13,9 11,8 8,8 M8,9 L6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 13,20 14,19 15,16 15,14 14,11 13,10 11,9 8,9", + "o": 10 + }, + { + "d": "M4,8 L4,29 5,29 M4,8 L5,8 5,29 M5,11 L7,9 9,8 12,8 14,9 16,11 17,14 17,16 16,19 14,21 12,22 9,22 7,21 5,19 M5,11 L9,9 12,9 14,10 15,11 16,14 16,16 15,19 14,20 12,21 9,21 5,19", + "o": 10 + }, + { + "d": "M15,8 L15,29 16,29 M15,8 L16,8 16,29 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 M15,11 L11,9 8,9 6,10 5,11 4,14 4,16 5,19 6,20 8,21 11,21 15,19", + "o": 10 + }, + { + "d": "M4,8 L4,22 5,22 M4,8 L5,8 5,22 M5,14 L6,11 8,9 10,8 13,8 M5,14 L6,12 8,10 10,9 13,9 13,8", + "o": 7 + }, + { + "d": "M14,11 L13,9 10,8 7,8 4,9 3,11 4,13 6,14 11,16 13,17 M12,16 L13,18 13,19 12,21 M13,20 L10,21 7,21 4,20 M5,21 L4,19 3,19 M14,11 L13,11 12,9 M13,10 L10,9 7,9 4,10 M5,9 L4,11 5,13 M4,12 L6,13 11,15 13,16 14,18 14,19 13,21 10,22 7,22 4,21 3,19", + "o": 9 + }, + { + "d": "M5,1 L5,22 6,22 M5,1 L6,1 6,22 M2,8 L9,8 9,9 M2,8 L2,9 9,9", + "o": 6 + }, + { + "d": "M4,8 L4,18 5,21 7,22 10,22 12,21 15,18 M4,8 L5,8 5,18 6,20 8,21 10,21 12,20 15,18 M15,8 L15,22 16,22 M15,8 L16,8 16,22", + "o": 10 + }, + { + "d": "M2,8 L8,22 M2,8 L3,8 8,20 M14,8 L13,8 8,20 M14,8 L8,22", + "o": 8 + }, + { + "d": "M3,8 L8,22 M3,8 L4,8 8,19 M12,8 L8,19 M12,11 L8,22 M12,11 L16,22 M12,8 L16,19 M21,8 L20,8 16,19 M21,8 L16,22", + "o": 12 + }, + { + "d": "M3,8 L14,22 15,22 M3,8 L4,8 15,22 M15,8 L14,8 3,22 M15,8 L4,22 3,22", + "o": 9 + }, + { + "d": "M2,8 L8,22 M2,8 L3,8 8,20 M14,8 L13,8 8,20 4,29 M14,8 L8,22 5,29 4,29", + "o": 8 + }, + { + "d": "M13,9 L3,22 M15,8 L5,21 M3,8 L15,8 M3,8 L3,9 13,9 M5,21 L15,21 15,22 M3,22 L15,22", + "o": 9 + }, + { + "d": "M10,-3 L3,13 10,29", + "o": 7 + }, + { + "d": "M4,-3 L4,29", + "o": 4 + }, + { + "d": "M4,-3 L11,13 4,29", + "o": 7 + }, + { + "d": "M3,16 L3,14 4,11 6,10 8,10 10,11 14,14 16,15 18,15 20,14 21,12 M3,14 L4,12 6,11 8,11 10,12 14,15 16,16 18,16 20,15 21,12 21,10", + "o": 12 + }, + { + "d": "M0,1 L0,22 1,22 1,1 2,1 2,22 3,22 3,1 4,1 4,22 5,22 5,1 6,1 6,22 7,22 7,1 8,1 8,22 9,22 9,1 10,1 10,22 11,22 11,1 12,1 12,22 13,22 13,1 14,1 14,22 15,22 15,1 16,1 16,22", + "o": 8 + } + ] + }, + + "scripts": { + "name": "Script 1-stroke", + "chars": [ + { + "d": "M8,1 L7,2 5,14 M8,2 L5,14 M8,1 L9,2 5,14 M3,20 L2,21 3,22 4,21 3,20", + "o": 6 + }, + { + "d": "M7,1 L5,8 M8,1 L5,8 M16,1 L14,8 M17,1 L14,8", + "o": 9 + }, + { + "d": "M11,-3 L4,29 M17,-3 L10,29 M4,10 L18,10 M3,16 L17,16", + "o": 11 + }, + { + "d": "M12,-3 L4,26 M17,-3 L9,26 M18,5 L17,6 18,7 19,6 19,5 18,3 17,2 14,1 10,1 7,2 5,4 5,6 6,8 7,9 14,13 16,15 M5,6 L7,8 14,12 15,13 16,15 16,18 15,20 14,21 11,22 7,22 4,21 3,20 2,18 2,17 3,16 4,17 3,18", + "o": 11 + }, + { + "d": "M21,1 L3,22 M8,1 L10,3 10,5 9,7 7,8 5,8 3,6 3,4 4,2 6,1 8,1 10,2 13,3 16,3 19,2 21,1 M17,15 L15,16 14,18 14,20 16,22 18,22 20,21 21,19 21,17 19,15 17,15", + "o": 12 + }, + { + "d": "M23,9 L22,10 23,11 24,10 24,9 23,8 22,8 20,9 18,11 13,19 11,21 9,22 6,22 3,21 2,19 2,17 3,15 4,14 6,13 11,11 13,10 15,8 16,6 16,4 15,2 13,1 11,2 10,4 10,7 11,13 12,16 14,19 16,21 18,22 20,22 21,20 21,19 M6,22 L4,21 3,19 3,17 4,15 5,14 11,11 M10,7 L11,12 12,15 14,18 16,20 18,21 20,21 21,20", + "o": 13 + }, + { + "d": "M8,3 L7,2 8,1 9,2 9,3 8,5 6,7", + "o": 6 + }, + { + "d": "M15,-3 L11,0 8,3 6,6 4,10 3,15 3,19 4,24 5,27 6,29 M11,0 L8,4 6,8 5,11 4,16 4,21 5,26 6,29", + "o": 8 + }, + { + "d": "M9,-3 L10,-1 11,2 12,7 12,11 11,16 9,20 7,23 4,26 0,29 M9,-3 L10,0 11,5 11,10 10,15 9,18 7,22 4,26", + "o": 7 + }, + { + "d": "M10,1 L10,13 M5,4 L15,10 M15,4 L5,10", + "o": 9 + }, + { + "d": "M13,4 L13,22 M4,13 L22,13", + "o": 13 + }, + { + "d": "M3,22 L2,21 3,20 4,21 4,22 3,24 1,26", + "o": 6 + }, + { + "d": "M4,13 L22,13", + "o": 13 + }, + { + "d": "M5,20 L4,21 5,22 6,21 5,20", + "o": 5 + }, + { + "d": "M24,-3 L-2,29", + "o": 11 + }, + { + "d": "M12,1 L9,2 7,4 5,7 4,10 3,14 3,17 4,20 5,21 7,22 9,22 12,21 14,19 16,16 17,13 18,9 18,6 17,3 16,2 14,1 12,1 M12,1 L10,2 8,4 6,7 5,10 4,14 4,17 5,20 7,22 M9,22 L11,21 13,19 15,16 16,13 17,9 17,6 16,3 14,1", + "o": 11 + }, + { + "d": "M12,5 L7,22 M14,1 L8,22 M14,1 L11,4 8,6 6,7 M13,4 L9,6 6,7", + "o": 11 + }, + { + "d": "M7,5 L8,6 7,7 6,6 6,5 7,3 8,2 11,1 14,1 17,2 18,4 18,6 17,8 15,10 12,12 8,14 5,16 3,18 1,22 M14,1 L16,2 17,4 17,6 16,8 14,10 8,14 M2,20 L3,19 5,19 10,21 13,21 15,20 16,18 M5,19 L10,22 13,22 15,21 16,18", + "o": 11 + }, + { + "d": "M7,5 L8,6 7,7 6,6 6,5 7,3 8,2 11,1 14,1 17,2 18,4 18,6 17,8 14,10 11,11 M14,1 L16,2 17,4 17,6 16,8 14,10 M9,11 L11,11 14,12 15,13 16,15 16,18 15,20 14,21 11,22 7,22 4,21 3,20 2,18 2,17 3,16 4,17 3,18 M11,11 L13,12 14,13 15,15 15,18 14,20 13,21 11,22", + "o": 11 + }, + { + "d": "M16,2 L10,22 M17,1 L11,22 M17,1 L2,16 18,16", + "o": 11 + }, + { + "d": "M9,1 L4,11 M9,1 L19,1 M9,2 L14,2 19,1 M4,11 L5,10 8,9 11,9 14,10 15,11 16,13 16,16 15,19 13,21 10,22 7,22 4,21 3,20 2,18 2,17 3,16 4,17 3,18 M11,9 L13,10 14,11 15,13 15,16 14,19 12,21 10,22", + "o": 11 + }, + { + "d": "M17,4 L16,5 17,6 18,5 18,4 17,2 15,1 12,1 9,2 7,4 5,7 4,10 3,14 3,18 4,20 5,21 7,22 10,22 13,21 15,19 16,17 16,14 15,12 14,11 12,10 9,10 7,11 5,13 4,15 M12,1 L10,2 8,4 6,7 5,10 4,14 4,19 5,21 M10,22 L12,21 14,19 15,17 15,13 14,11", + "o": 11 + }, + { + "d": "M6,1 L4,7 M19,1 L18,4 16,7 11,13 9,16 8,18 7,22 M16,7 L10,13 8,16 7,18 6,22 M5,4 L8,1 10,1 15,4 M6,3 L8,2 10,2 15,4 17,4 18,3 19,1", + "o": 11 + }, + { + "d": "M11,1 L8,2 7,3 6,5 6,8 7,10 9,11 12,11 16,10 17,9 18,7 18,4 17,2 14,1 11,1 M11,1 L9,2 8,3 7,5 7,8 8,10 9,11 M12,11 L15,10 16,9 17,7 17,4 16,2 14,1 M9,11 L5,12 3,14 2,16 2,19 3,21 6,22 10,22 14,21 15,20 16,18 16,15 15,13 14,12 12,11 M9,11 L6,12 4,14 3,16 3,19 4,21 6,22 M10,22 L13,21 14,20 15,18 15,14 14,12", + "o": 11 + }, + { + "d": "M17,8 L16,10 14,12 12,13 9,13 7,12 6,11 5,9 5,6 6,4 8,2 11,1 14,1 16,2 17,3 18,5 18,9 17,13 16,16 14,19 12,21 9,22 6,22 4,21 3,19 3,18 4,17 5,18 4,19 M7,12 L6,10 6,6 7,4 9,2 11,1 M16,2 L17,4 17,9 16,13 15,16 13,19 11,21 9,22", + "o": 11 + }, + { + "d": "M6,8 L5,9 6,10 7,9 6,8 M3,20 L2,21 3,22 4,21", + "o": 6 + }, + { + "d": "M6,8 L5,9 6,10 7,9 6,8 M3,22 L2,21 3,20 4,21 4,22 3,24 1,26", + "o": 6 + }, + { + "d": "M20,4 L4,13 20,22", + "o": 12 + }, + { + "d": "M4,10 L22,10 M4,16 L22,16", + "o": 13 + }, + { + "d": "M4,4 L20,13 4,22", + "o": 12 + }, + { + "d": "M7,5 L8,6 7,7 6,6 6,5 7,3 8,2 11,1 15,1 18,2 19,4 19,6 18,8 17,9 11,11 9,12 9,14 10,15 12,15 M15,1 L17,2 18,4 18,6 17,8 16,9 14,10 M8,20 L7,21 8,22 9,21 8,20", + "o": 11 + }, + { + "d": "M18,9 L17,7 15,6 12,6 10,7 9,8 8,11 8,14 9,16 11,17 14,17 16,16 17,14 M12,6 L10,8 9,11 9,14 10,16 11,17 M18,6 L17,14 17,16 19,17 21,17 23,15 24,12 24,10 23,7 22,5 20,3 18,2 15,1 12,1 9,2 7,3 5,5 4,7 3,10 3,13 4,16 5,18 7,20 9,21 12,22 15,22 18,21 20,20 21,19 M19,6 L18,14 18,16 19,17", + "o": 14 + }, + { + "d": "M0,22 L2,21 5,18 8,14 12,7 15,1 15,22 14,19 12,16 10,14 7,12 5,12 4,13 4,15 5,17 7,19 10,21 13,22 18,22", + "o": 9 + }, + { + "d": "M13,3 L14,4 14,7 13,11 12,14 11,16 9,19 7,21 5,22 4,22 3,21 3,18 4,13 5,10 6,8 8,5 10,3 12,2 15,1 18,1 20,2 21,4 21,6 20,8 19,9 17,10 14,11 M13,11 L14,11 17,12 18,13 19,15 19,18 18,20 17,21 15,22 12,22 10,21 9,19", + "o": 11 + }, + { + "d": "M12,7 L12,8 13,9 15,9 17,8 18,6 18,4 17,2 15,1 12,1 9,2 7,4 5,7 4,9 3,13 3,17 4,20 5,21 7,22 9,22 12,21 14,19 15,17", + "o": 10 + }, + { + "d": "M13,1 L11,2 10,4 9,8 8,14 7,17 6,19 4,21 2,22 0,22 -1,21 -1,19 0,18 2,18 4,19 6,21 9,22 12,22 15,21 17,19 19,15 20,10 20,6 19,3 18,2 16,1 13,1 11,3 11,5 12,8 14,11 16,13 19,15 21,16", + "o": 12 + }, + { + "d": "M14,5 L14,6 15,7 17,7 18,6 18,4 17,2 14,1 10,1 7,2 6,4 6,7 7,9 8,10 11,11 8,11 5,12 4,13 3,15 3,18 4,20 5,21 8,22 11,22 14,21 16,19 17,17", + "o": 10 + }, + { + "d": "M10,7 L8,7 6,6 5,4 6,2 9,1 12,1 16,2 19,2 21,1 M16,2 L14,9 12,15 10,19 8,21 6,22 4,22 2,21 1,19 1,17 2,16 4,16 6,17 M9,11 L18,11", + "o": 10 + }, + { + "d": "M0,22 L2,21 6,17 9,12 10,9 11,5 11,2 10,1 9,1 8,2 7,4 7,7 8,9 10,10 14,10 17,9 18,8 19,6 19,12 18,17 17,19 15,21 12,22 8,22 5,21 3,19 2,17 2,15", + "o": 12 + }, + { + "d": "M7,8 L5,7 4,5 4,4 5,2 7,1 8,1 10,2 11,4 11,6 10,10 8,16 6,20 4,22 2,22 1,21 1,19 M7,13 L16,10 18,9 21,7 23,5 24,3 24,2 23,1 22,1 20,3 18,7 16,13 15,18 15,21 16,22 17,22 19,21 20,20 22,17", + "o": 12 + }, + { + "d": "M14,17 L12,15 10,12 9,10 8,7 8,4 9,2 10,1 12,1 13,2 14,4 14,7 13,12 11,17 10,19 8,21 6,22 4,22 2,21 1,19 1,17 2,16 4,16 6,17", + "o": 8 + }, + { + "d": "M10,25 L8,22 6,17 5,11 5,5 6,2 8,1 10,1 11,2 12,5 12,8 11,13 8,22 6,28 5,31 4,33 2,34 1,33 1,31 2,28 4,25 6,23 9,21 13,19", + "o": 7 + }, + { + "d": "M7,8 L5,7 4,5 4,4 5,2 7,1 8,1 10,2 11,4 11,6 10,10 8,16 6,20 4,22 2,22 1,21 1,19 M24,4 L24,2 23,1 22,1 20,2 18,4 16,7 14,9 12,10 10,10 M12,10 L13,12 13,19 14,21 15,22 16,22 18,21 19,20 21,17", + "o": 12 + }, + { + "d": "M4,13 L6,13 10,12 13,10 15,8 16,6 16,3 15,1 13,1 12,2 11,4 10,9 9,14 8,17 7,19 5,21 3,22 1,22 0,21 0,19 1,18 3,18 5,19 8,21 11,22 13,22 16,21 18,19", + "o": 10 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,6 8,11 7,15 5,22 M7,15 L10,7 12,3 13,2 15,1 16,1 18,2 19,4 19,6 18,11 17,15 15,22 M17,15 L20,7 22,3 23,2 25,1 26,1 28,2 29,4 29,6 28,11 26,18 26,21 27,22 28,22 30,21 31,20 33,17", + "o": 15 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,6 8,11 7,15 5,22 M7,15 L10,7 12,3 13,2 15,1 17,1 19,2 20,4 20,6 19,11 17,18 17,21 18,22 19,22 21,21 22,20 24,17", + "o": 11 + }, + { + "d": "M12,1 L9,2 7,4 5,7 4,9 3,13 3,17 4,20 5,21 7,22 9,22 12,21 14,19 16,16 17,14 18,10 18,6 17,3 16,2 14,1 12,1 10,3 10,6 11,9 13,12 15,14 18,16 20,17", + "o": 11 + }, + { + "d": "M13,3 L14,4 14,7 13,11 12,14 11,16 9,19 7,21 5,22 4,22 3,21 3,18 4,13 5,10 6,8 8,5 10,3 12,2 15,1 20,1 22,2 23,3 24,5 24,8 23,10 22,11 20,12 17,12 15,11 14,10", + "o": 13 + }, + { + "d": "M13,7 L12,9 11,10 9,11 7,11 6,9 6,7 7,4 9,2 12,1 15,1 17,2 18,4 18,8 17,11 15,14 11,18 8,20 6,21 3,22 1,22 0,21 0,19 1,18 3,18 5,19 8,21 11,22 14,22 17,21 19,19", + "o": 12 + }, + { + "d": "M13,3 L14,4 14,7 13,11 12,14 11,16 9,19 7,21 5,22 4,22 3,21 3,18 4,13 5,10 6,8 8,5 10,3 12,2 15,1 19,1 21,2 22,3 23,5 23,8 22,10 21,11 19,12 16,12 13,11 14,12 15,14 15,19 16,21 18,22 20,21 21,20 23,17", + "o": 13 + }, + { + "d": "M0,22 L2,21 4,19 7,15 9,12 11,8 12,5 12,2 11,1 10,1 9,2 8,4 8,6 9,8 11,10 14,12 16,14 17,16 17,18 16,20 15,21 12,22 8,22 5,21 3,19 2,17 2,15", + "o": 10 + }, + { + "d": "M10,7 L8,7 6,6 5,4 6,2 9,1 12,1 16,2 19,2 21,1 M16,2 L14,9 12,15 10,19 8,21 6,22 4,22 2,21 1,19 1,17 2,16 4,16 6,17", + "o": 9 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,6 8,10 7,13 6,17 6,19 7,21 9,22 11,22 13,21 14,20 16,16 19,8 21,1 M19,8 L18,12 17,18 17,21 18,22 19,22 21,21 22,20 24,17", + "o": 11 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,6 8,10 7,13 6,17 6,20 7,22 9,22 11,21 14,18 16,15 18,11 19,8 20,4 20,2 19,1 18,1 17,2 16,4 16,6 17,9 19,11 21,12", + "o": 11 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,7 8,22 M18,1 L8,22 M18,1 L16,22 M30,1 L28,2 25,5 22,9 19,15 16,22", + "o": 13 + }, + { + "d": "M8,7 L6,7 5,6 5,4 6,2 8,1 10,1 12,2 13,4 13,7 11,16 11,19 12,21 14,22 16,22 18,21 19,19 19,17 18,16 16,16 M23,4 L23,2 22,1 20,1 18,2 16,4 14,7 10,16 8,19 6,21 4,22 2,22 1,21 1,19", + "o": 12 + }, + { + "d": "M5,8 L3,7 2,5 2,4 3,2 5,1 6,1 8,2 9,4 9,6 8,10 7,13 6,17 6,19 7,21 8,22 10,22 12,21 14,19 16,16 17,14 19,8 M21,1 L19,8 16,18 14,24 12,29 10,33 8,34 7,33 7,31 8,28 10,25 13,22 16,20 21,17", + "o": 11 + }, + { + "d": "M13,7 L12,9 11,10 9,11 7,11 6,9 6,7 7,4 9,2 12,1 15,1 17,2 18,4 18,8 17,11 15,15 12,18 8,21 6,22 3,22 2,21 2,19 3,18 6,18 8,19 9,20 10,22 10,25 9,28 8,30 6,33 4,34 3,33 3,31 4,28 6,25 9,22 12,20 18,17", + "o": 11 + }, + { + "d": "M4,-3 L4,29 M5,-3 L5,29 M4,-3 L11,-3 M4,29 L11,29", + "o": 7 + }, + { + "d": "M0,1 L14,25", + "o": 7 + }, + { + "d": "M9,-3 L9,29 M10,-3 L10,29 M3,-3 L10,-3 M3,29 L10,29", + "o": 7 + }, + { + "d": "M6,7 L8,4 10,7 M3,10 L8,5 13,10 M8,5 L8,22", + "o": 8 + }, + { + "d": "M0,24 L16,24", + "o": 8 + }, + { + "d": "M9,1 L7,3 6,5 6,6 7,7 8,6 7,5", + "o": 6 + }, + { + "d": "M9,16 L8,14 6,13 4,13 2,14 1,15 0,17 0,19 1,21 3,22 5,22 7,21 8,19 10,13 9,18 9,21 10,22 11,22 13,21 14,20 16,17", + "o": 10 + }, + { + "d": "M0,17 L2,14 5,9 6,7 7,4 7,2 6,1 4,2 3,4 2,8 1,15 1,21 2,22 3,22 5,21 7,19 8,16 8,13 9,17 10,18 12,18 14,17", + "o": 9 + }, + { + "d": "M7,15 L7,14 6,13 4,13 2,14 1,15 0,17 0,19 1,21 3,22 6,22 9,20 11,17", + "o": 6 + }, + { + "d": "M9,16 L8,14 6,13 4,13 2,14 1,15 0,17 0,19 1,21 3,22 5,22 7,21 8,19 14,1 M10,13 L9,18 9,21 10,22 11,22 13,21 14,20 16,17", + "o": 10 + }, + { + "d": "M1,20 L3,19 4,18 5,16 5,14 4,13 3,13 1,14 0,16 0,19 1,21 3,22 5,22 7,21 8,20 10,17", + "o": 6 + }, + { + "d": "M0,17 L4,12 6,9 7,7 8,4 8,2 7,1 5,2 4,4 2,12 -1,21 -4,28 -5,31 -5,33 -4,34 -2,33 -1,30 0,21 1,22 3,22 5,21 6,20 8,17", + "o": 5 + }, + { + "d": "M9,16 L8,14 6,13 4,13 2,14 1,15 0,17 0,19 1,21 3,22 5,22 7,21 8,20 M10,13 L8,20 4,31 3,33 1,34 0,33 0,31 1,28 4,25 7,23 9,22 12,20 15,17", + "o": 9 + }, + { + "d": "M0,17 L2,14 5,9 6,7 7,4 7,2 6,1 4,2 3,4 2,8 1,14 0,22 M0,22 L1,19 2,17 4,14 6,13 8,13 9,14 9,16 8,19 8,21 9,22 10,22 12,21 13,20 15,17", + "o": 10 + }, + { + "d": "M3,8 L3,9 4,9 4,8 3,8 M0,17 L2,13 0,19 0,21 1,22 2,22 4,21 5,20 7,17", + "o": 5 + }, + { + "d": "M3,8 L3,9 4,9 4,8 3,8 M0,17 L2,13 -4,31 -5,33 -7,34 -8,33 -8,31 -7,28 -4,25 -1,23 1,22 4,20 7,17", + "o": 5 + }, + { + "d": "M0,17 L2,14 5,9 6,7 7,4 7,2 6,1 4,2 3,4 2,8 1,14 0,22 M0,22 L1,19 2,17 4,14 6,13 8,13 9,14 9,16 7,17 4,17 M4,17 L6,18 7,21 8,22 9,22 11,21 12,20 14,17", + "o": 9 + }, + { + "d": "M0,17 L2,14 5,9 6,7 7,4 7,2 6,1 4,2 3,4 2,8 1,15 1,21 2,22 3,22 5,21 6,20 8,17", + "o": 5 + }, + { + "d": "M0,17 L2,14 4,13 5,14 5,15 4,19 3,22 M4,19 L5,17 7,14 9,13 11,13 12,14 12,15 11,19 10,22 M11,19 L12,17 14,14 16,13 18,13 19,14 19,16 18,19 18,21 19,22 20,22 22,21 23,20 25,17", + "o": 12 + }, + { + "d": "M0,17 L2,14 4,13 5,14 5,15 4,19 3,22 M4,19 L5,17 7,14 9,13 11,13 12,14 12,16 11,19 11,21 12,22 13,22 15,21 16,20 18,17", + "o": 10 + }, + { + "d": "M6,13 L4,13 2,14 1,15 0,17 0,19 1,21 3,22 5,22 7,21 8,20 9,18 9,16 8,14 6,13 5,14 5,16 6,18 8,19 11,19 13,18 14,17", + "o": 8 + }, + { + "d": "M0,17 L2,14 3,12 2,16 -4,34 M2,16 L3,14 5,13 7,13 9,14 10,16 10,18 9,20 8,21 6,22 M2,21 L4,22 7,22 10,21 12,20 15,17", + "o": 8 + }, + { + "d": "M9,16 L8,14 6,13 4,13 2,14 1,15 0,17 0,19 1,21 3,22 5,22 7,21 M10,13 L9,16 7,21 4,28 3,31 3,33 4,34 6,33 7,30 7,23 9,22 12,20 15,17", + "o": 9 + }, + { + "d": "M0,17 L2,14 3,12 3,14 6,14 7,15 7,17 6,20 6,21 7,22 8,22 10,21 11,20 13,17", + "o": 8 + }, + { + "d": "M0,17 L2,14 3,12 3,14 5,17 6,19 6,21 4,22 M0,21 L2,22 6,22 8,21 9,20 11,17", + "o": 7 + }, + { + "d": "M0,17 L2,14 4,10 M7,1 L1,19 1,21 2,22 4,22 6,21 7,20 9,17 M1,9 L8,9", + "o": 6 + }, + { + "d": "M0,17 L2,13 0,19 0,21 1,22 3,22 5,21 7,19 9,16 M10,13 L8,19 8,21 9,22 10,22 12,21 13,20 15,17", + "o": 9 + }, + { + "d": "M0,17 L2,13 1,18 1,21 2,22 3,22 6,21 8,19 9,16 9,13 M9,13 L10,17 11,18 13,18 15,17", + "o": 9 + }, + { + "d": "M3,13 L1,15 0,18 0,20 1,22 3,22 5,21 7,19 M9,13 L7,19 7,21 8,22 10,22 12,21 14,19 15,16 15,13 M15,13 L16,17 17,18 19,18 21,17", + "o": 12 + }, + { + "d": "M0,17 L2,14 4,13 6,13 7,14 7,21 8,22 11,22 14,20 16,17 M13,14 L12,13 10,13 9,14 5,21 4,22 2,22 1,21", + "o": 8 + }, + { + "d": "M0,17 L2,13 0,19 0,21 1,22 3,22 5,21 7,19 9,16 M10,13 L4,31 3,33 1,34 0,33 0,31 1,28 4,25 7,23 9,22 12,20 15,17", + "o": 9 + }, + { + "d": "M0,17 L2,14 4,13 6,13 8,15 8,17 7,19 5,21 2,22 4,23 5,25 5,28 4,31 3,33 1,34 0,33 0,31 1,28 4,25 7,23 11,20 14,17", + "o": 8 + }, + { + "d": "M9,-3 L7,-2 6,-1 5,1 5,3 6,5 7,6 8,8 8,10 6,12 M7,-2 L6,0 6,2 7,4 8,5 9,7 9,9 8,11 4,13 8,15 9,17 9,19 8,21 7,22 6,24 6,26 7,28 M6,14 L8,16 8,18 7,20 6,21 5,23 5,25 6,27 7,28 9,29", + "o": 7 + }, + { + "d": "M4,-3 L4,29", + "o": 4 + }, + { + "d": "M5,-3 L7,-2 8,-1 9,1 9,3 8,5 7,6 6,8 6,10 8,12 M7,-2 L8,0 8,2 7,4 6,5 5,7 5,9 6,11 10,13 6,15 5,17 5,19 6,21 7,22 8,24 8,26 7,28 M8,14 L6,16 6,18 7,20 8,21 9,23 9,25 8,27 7,28 5,29", + "o": 7 + }, + { + "d": "M3,16 L3,14 4,11 6,10 8,10 10,11 14,14 16,15 18,15 20,14 21,12 M3,14 L4,12 6,11 8,11 10,12 14,15 16,16 18,16 20,15 21,12 21,10", + "o": 12 + }, + { + "d": "M6,1 L4,2 3,4 3,6 4,8 6,9 8,9 10,8 11,6 11,4 10,2 8,1 6,1", + "o": 7 + } + ] + }, + "futural": { + "name": "Sans 1-stroke", + "chars": [ + { + "d": "M5,1 L5,15 M5,20 L4,21 5,22 6,21 5,20", + "o": 5 + }, + { + "d": "M4,1 L4,8 M12,1 L12,8", + "o": 8 + }, + { + "d": "M11,-3 L4,29 M17,-3 L10,29 M4,10 L18,10 M3,16 L17,16", + "o": 11 + }, + { + "d": "M8,-3 L8,26 M12,-3 L12,26 M17,4 L15,2 12,1 8,1 5,2 3,4 3,6 4,8 5,9 7,10 13,12 15,13 16,14 17,16 17,19 15,21 12,22 8,22 5,21 3,19", + "o": 10 + }, + { + "d": "M21,1 L3,22 M8,1 L10,3 10,5 9,7 7,8 5,8 3,6 3,4 4,2 6,1 8,1 10,2 13,3 16,3 19,2 21,1 M17,15 L15,16 14,18 14,20 16,22 18,22 20,21 21,19 21,17 19,15 17,15", + "o": 12 + }, + { + "d": "M23,10 L23,9 22,8 21,8 20,9 19,11 17,16 15,19 13,21 11,22 7,22 5,21 4,20 3,18 3,16 4,14 5,13 12,9 13,8 14,6 14,4 13,2 11,1 9,2 8,4 8,6 9,9 11,12 16,19 18,21 20,22 22,22 23,21 23,20", + "o": 13 + }, + { + "d": "M5,3 L4,2 5,1 6,2 6,4 5,6 4,7", + "o": 5 + }, + { + "d": "M11,-3 L9,-1 7,2 5,6 4,11 4,15 5,20 7,24 9,27 11,29", + "o": 7 + }, + { + "d": "M3,-3 L5,-1 7,2 9,6 10,11 10,15 9,20 7,24 5,27 3,29", + "o": 7 + }, + { + "d": "M8,7 L8,19 M3,10 L13,16 M13,10 L3,16", + "o": 8 + }, + { + "d": "M13,4 L13,22 M4,13 L22,13", + "o": 13 + }, + { + "d": "M5,18 L4,19 3,18 4,17 5,18 5,20 3,22", + "o": 4 + }, + { + "d": "M4,13 L22,13", + "o": 13 + }, + { + "d": "M4,17 L3,18 4,19 5,18 4,17", + "o": 4 + }, + { + "d": "M20,-3 L2,29", + "o": 11 + }, + { + "d": "M9,1 L6,2 4,5 3,10 3,13 4,18 6,21 9,22 11,22 14,21 16,18 17,13 17,10 16,5 14,2 11,1 9,1", + "o": 10 + }, + { + "d": "M6,5 L8,4 11,1 11,22", + "o": 10 + }, + { + "d": "M4,6 L4,5 5,3 6,2 8,1 12,1 14,2 15,3 16,5 16,7 15,9 13,12 3,22 17,22", + "o": 10 + }, + { + "d": "M5,1 L16,1 10,9 13,9 15,10 16,11 17,14 17,16 16,19 14,21 11,22 8,22 5,21 4,20 3,18", + "o": 10 + }, + { + "d": "M13,1 L3,15 18,15 M13,1 L13,22", + "o": 10 + }, + { + "d": "M15,1 L5,1 4,10 5,9 8,8 11,8 14,9 16,11 17,14 17,16 16,19 14,21 11,22 8,22 5,21 4,20 3,18", + "o": 10 + }, + { + "d": "M16,4 L15,2 12,1 10,1 7,2 5,5 4,10 4,15 5,19 7,21 10,22 11,22 14,21 16,19 17,16 17,15 16,12 14,10 11,9 10,9 7,10 5,12 4,15", + "o": 10 + }, + { + "d": "M17,1 L7,22 M3,1 L17,1", + "o": 10 + }, + { + "d": "M8,1 L5,2 4,4 4,6 5,8 7,9 11,10 14,11 16,13 17,15 17,18 16,20 15,21 12,22 8,22 5,21 4,20 3,18 3,15 4,13 6,11 9,10 13,9 15,8 16,6 16,4 15,2 12,1 8,1", + "o": 10 + }, + { + "d": "M16,8 L15,11 13,13 10,14 9,14 6,13 4,11 3,8 3,7 4,4 6,2 9,1 10,1 13,2 15,4 16,8 16,13 15,18 13,21 10,22 8,22 5,21 4,19", + "o": 10 + }, + { + "d": "M4,10 L3,11 4,12 5,11 4,10 M4,17 L3,18 4,19 5,18 4,17", + "o": 4 + }, + { + "d": "M4,10 L3,11 4,12 5,11 4,10 M5,18 L4,19 3,18 4,17 5,18 5,20 3,22", + "o": 4 + }, + { + "d": "M20,4 L4,13 20,22", + "o": 12 + }, + { + "d": "M4,10 L22,10 M4,16 L22,16", + "o": 13 + }, + { + "d": "M4,4 L20,13 4,22", + "o": 12 + }, + { + "d": "M3,6 L3,5 4,3 5,2 7,1 11,1 13,2 14,3 15,5 15,7 14,9 13,10 9,12 9,15 M9,20 L8,21 9,22 10,21 9,20", + "o": 9 + }, + { + "d": "M18,9 L17,7 15,6 12,6 10,7 9,8 8,11 8,14 9,16 11,17 14,17 16,16 17,14 M12,6 L10,8 9,11 9,14 10,16 11,17 M18,6 L17,14 17,16 19,17 21,17 23,15 24,12 24,10 23,7 22,5 20,3 18,2 15,1 12,1 9,2 7,3 5,5 4,7 3,10 3,13 4,16 5,18 7,20 9,21 12,22 15,22 18,21 20,20 21,19 M19,6 L18,14 18,16 19,17", + "o": 14 + }, + { + "d": "M9,1 L1,22 M9,1 L17,22 M4,15 L14,15", + "o": 9 + }, + { + "d": "M4,1 L4,22 M4,1 L13,1 16,2 17,3 18,5 18,7 17,9 16,10 13,11 M4,11 L13,11 16,12 17,13 18,15 18,18 17,20 16,21 13,22 4,22", + "o": 10 + }, + { + "d": "M18,6 L17,4 15,2 13,1 9,1 7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17", + "o": 11 + }, + { + "d": "M4,1 L4,22 M4,1 L11,1 14,2 16,4 17,6 18,9 18,14 17,17 16,19 14,21 11,22 4,22", + "o": 10 + }, + { + "d": "M4,1 L4,22 M4,1 L17,1 M4,11 L12,11 M4,22 L17,22", + "o": 9 + }, + { + "d": "M4,1 L4,22 M4,1 L17,1 M4,11 L12,11", + "o": 8 + }, + { + "d": "M18,6 L17,4 15,2 13,1 9,1 7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 18,14 M13,14 L18,14", + "o": 11 + }, + { + "d": "M4,1 L4,22 M18,1 L18,22 M4,11 L18,11", + "o": 11 + }, + { + "d": "M4,1 L4,22", + "o": 4 + }, + { + "d": "M12,1 L12,17 11,20 10,21 8,22 6,22 4,21 3,20 2,17 2,15", + "o": 8 + }, + { + "d": "M4,1 L4,22 M18,1 L4,15 M9,10 L18,22", + "o": 10 + }, + { + "d": "M4,1 L4,22 M4,22 L16,22", + "o": 7 + }, + { + "d": "M4,1 L4,22 M4,1 L12,22 M20,1 L12,22 M20,1 L20,22", + "o": 12 + }, + { + "d": "M4,1 L4,22 M4,1 L18,22 M18,1 L18,22", + "o": 11 + }, + { + "d": "M9,1 L7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 19,14 19,9 18,6 17,4 15,2 13,1 9,1", + "o": 11 + }, + { + "d": "M4,1 L4,22 M4,1 L13,1 16,2 17,3 18,5 18,8 17,10 16,11 13,12 4,12", + "o": 10 + }, + { + "d": "M9,1 L7,2 5,4 4,6 3,9 3,14 4,17 5,19 7,21 9,22 13,22 15,21 17,19 18,17 19,14 19,9 18,6 17,4 15,2 13,1 9,1 M12,18 L18,24", + "o": 11 + }, + { + "d": "M4,1 L4,22 M4,1 L13,1 16,2 17,3 18,5 18,7 17,9 16,10 13,11 4,11 M11,11 L18,22", + "o": 10 + }, + { + "d": "M17,4 L15,2 12,1 8,1 5,2 3,4 3,6 4,8 5,9 7,10 13,12 15,13 16,14 17,16 17,19 15,21 12,22 8,22 5,21 3,19", + "o": 10 + }, + { + "d": "M8,1 L8,22 M1,1 L15,1", + "o": 8 + }, + { + "d": "M4,1 L4,16 5,19 7,21 10,22 12,22 15,21 17,19 18,16 18,1", + "o": 11 + }, + { + "d": "M1,1 L9,22 M17,1 L9,22", + "o": 9 + }, + { + "d": "M2,1 L7,22 M12,1 L7,22 M12,1 L17,22 M22,1 L17,22", + "o": 12 + }, + { + "d": "M3,1 L17,22 M17,1 L3,22", + "o": 10 + }, + { + "d": "M1,1 L9,11 9,22 M17,1 L9,11", + "o": 9 + }, + { + "d": "M17,1 L3,22 M3,1 L17,1 M3,22 L17,22", + "o": 10 + }, + { + "d": "M4,-3 L4,29 M5,-3 L5,29 M4,-3 L11,-3 M4,29 L11,29", + "o": 7 + }, + { + "d": "M0,1 L14,25", + "o": 7 + }, + { + "d": "M9,-3 L9,29 M10,-3 L10,29 M3,-3 L10,-3 M3,29 L10,29", + "o": 7 + }, + { + "d": "M8,-1 L0,13 M8,-1 L16,13", + "o": 8 + }, + { + "d": "M0,29 L18,29", + "o": 9 + }, + { + "d": "M5,6 L3,8 3,10 4,11 5,10 4,9 3,10", + "o": 4 + }, + { + "d": "M15,8 L15,22 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 10 + }, + { + "d": "M4,1 L4,22 M4,11 L6,9 8,8 11,8 13,9 15,11 16,14 16,16 15,19 13,21 11,22 8,22 6,21 4,19", + "o": 9 + }, + { + "d": "M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 9 + }, + { + "d": "M15,1 L15,22 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 10 + }, + { + "d": "M3,14 L15,14 15,12 14,10 13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 9 + }, + { + "d": "M10,1 L8,1 6,2 5,5 5,22 M2,8 L9,8", + "o": 7 + }, + { + "d": "M15,8 L15,24 14,27 13,28 11,29 8,29 6,28 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 10 + }, + { + "d": "M4,1 L4,22 M4,12 L7,9 9,8 12,8 14,9 15,12 15,22", + "o": 10 + }, + { + "d": "M3,1 L4,2 5,1 4,0 3,1 M4,8 L4,22", + "o": 4 + }, + { + "d": "M5,1 L6,2 7,1 6,0 5,1 M6,8 L6,25 5,28 3,29 1,29", + "o": 5 + }, + { + "d": "M4,1 L4,22 M14,8 L4,18 M8,14 L15,22", + "o": 8 + }, + { + "d": "M4,1 L4,22", + "o": 4 + }, + { + "d": "M4,8 L4,22 M4,12 L7,9 9,8 12,8 14,9 15,12 15,22 M15,12 L18,9 20,8 23,8 25,9 26,12 26,22", + "o": 15 + }, + { + "d": "M4,8 L4,22 M4,12 L7,9 9,8 12,8 14,9 15,12 15,22", + "o": 10 + }, + { + "d": "M8,8 L6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19 16,16 16,14 15,11 13,9 11,8 8,8", + "o": 10 + }, + { + "d": "M4,8 L4,29 M4,11 L6,9 8,8 11,8 13,9 15,11 16,14 16,16 15,19 13,21 11,22 8,22 6,21 4,19", + "o": 9 + }, + { + "d": "M15,8 L15,29 M15,11 L13,9 11,8 8,8 6,9 4,11 3,14 3,16 4,19 6,21 8,22 11,22 13,21 15,19", + "o": 10 + }, + { + "d": "M4,8 L4,22 M4,14 L5,11 7,9 9,8 12,8", + "o": 6 + }, + { + "d": "M14,11 L13,9 10,8 7,8 4,9 3,11 4,13 6,14 11,15 13,16 14,18 14,19 13,21 10,22 7,22 4,21 3,19", + "o": 9 + }, + { + "d": "M5,1 L5,18 6,21 8,22 10,22 M2,8 L9,8", + "o": 7 + }, + { + "d": "M4,8 L4,18 5,21 7,22 10,22 12,21 15,18 M15,8 L15,22", + "o": 10 + }, + { + "d": "M2,8 L8,22 M14,8 L8,22", + "o": 8 + }, + { + "d": "M3,8 L7,22 M11,8 L7,22 M11,8 L15,22 M19,8 L15,22", + "o": 11 + }, + { + "d": "M3,8 L14,22 M14,8 L3,22", + "o": 9 + }, + { + "d": "M2,8 L8,22 M14,8 L8,22 6,26 4,28 2,29 1,29", + "o": 8 + }, + { + "d": "M14,8 L3,22 M3,8 L14,8 M3,22 L14,22", + "o": 9 + }, + { + "d": "M9,-3 L7,-2 6,-1 5,1 5,3 6,5 7,6 8,8 8,10 6,12 M7,-2 L6,0 6,2 7,4 8,5 9,7 9,9 8,11 4,13 8,15 9,17 9,19 8,21 7,22 6,24 6,26 7,28 M6,14 L8,16 8,18 7,20 6,21 5,23 5,25 6,27 7,28 9,29", + "o": 7 + }, + { + "d": "M4,-3 L4,29", + "o": 4 + }, + { + "d": "M5,-3 L7,-2 8,-1 9,1 9,3 8,5 7,6 6,8 6,10 8,12 M7,-2 L8,0 8,2 7,4 6,5 5,7 5,9 6,11 10,13 6,15 5,17 5,19 6,21 7,22 8,24 8,26 7,28 M8,14 L6,16 6,18 7,20 8,21 9,23 9,25 8,27 7,28 5,29", + "o": 7 + }, + { + "d": "M3,16 L3,14 4,11 6,10 8,10 10,11 14,14 16,15 18,15 20,14 21,12 M3,14 L4,12 6,11 8,11 10,12 14,15 16,16 18,16 20,15 21,12 21,10", + "o": 12 + }, + { + "d": "M0,1 L0,22 1,22 1,1 2,1 2,22 3,22 3,1 4,1 4,22 5,22 5,1 6,1 6,22 7,22 7,1 8,1 8,22 9,22 9,1 10,1 10,22 11,22 11,1 12,1 12,22 13,22 13,1 14,1 14,22 15,22 15,1 16,1 16,22", + "o": 8 + } + ] + } + + +} diff --git a/stitchcode/objects.js b/stitchcode/objects.js index 0b4e4426..4bc54540 100644 --- a/stitchcode/objects.js +++ b/stitchcode/objects.js @@ -331,15 +331,21 @@ SpriteMorph.prototype.pointTowards = function (x, y) { this.setHeading(angle + 90); }; -SpriteMorph.prototype.drawText = function (text, scale) { +SpriteMorph.prototype.drawText = function (text, scale, fontnr) { var stage = this.parentThatIsA(StageMorph); var dest; if (!stage) {return; } - // Load the font JSON data + // implement Hershey fonts. + // Json data from: + // https://techninja.github.io/hersheytextjs/ + + var font = "futuram" + if (fontnr == 1) font = "scripts" + if (fontnr == 2) font = "futural" + if (stage.fonts) { - var font = "futuram"; for(var i in text) { var index = text.charCodeAt(i) - 33; var x = this.xPosition(); @@ -363,7 +369,7 @@ SpriteMorph.prototype.drawText = function (text, scale) { coord[0] = coord[0].replace('M','') var penState = this.isDown; this.isDown = false; - this.gotoXYBy(x + parseInt(coord[0]) * scale, y + (maxy - parseInt(coord[1])) * scale, 10 ) + this.gotoXY(x + parseInt(coord[0]) * scale, y + (maxy - parseInt(coord[1])) * scale,) this.isDown = penState; } else if (coord[0][0] == "L") { coord[0] = coord[0].replace('L',''); @@ -374,12 +380,12 @@ SpriteMorph.prototype.drawText = function (text, scale) { } var penState = this.isDown; this.isDown = false; - this.gotoXYBy(x + (maxx + 2) * scale, y, 10) + this.gotoXY(x + (stage.fonts[font].chars[index].o * 1.7) * scale, y) this.isDown = penState; } else { - var penState = this.isDown; + var penState = this.isDown this.isDown = false; - this.gotoXYBy(x + 10 * scale, y, 10) + this.gotoXY(x + 10 * scale, y) this.isDown = penState; } } @@ -510,13 +516,15 @@ StageMorph.prototype.init = function (globals) { this.initCamera(); this.fonts = null; + // implement Hershey fonts. + // Json data from: + // https://techninja.github.io/hersheytextjs/ function loadFont(callback) { var xobj = new XMLHttpRequest(); xobj.overrideMimeType("application/json"); - xobj.open('GET', 'stitchcode/hershey/futuram.json', true); // Replace 'my_data' with the path to your file + xobj.open('GET', 'stitchcode/hershey/fonts.json', true); xobj.onreadystatechange = function () { if (xobj.readyState == 4 && xobj.status == "200") { - // Required use of an anonymous callback as .open will NOT return a value but simply returns undefined in asynchronous mode callback(xobj.responseText); } }; @@ -525,7 +533,6 @@ StageMorph.prototype.init = function (globals) { if (!this.fonts) { loadFont(function(response) { - // Parse JSON string into object myself.fonts = JSON.parse(response); }); } @@ -1143,8 +1150,8 @@ SpriteMorph.prototype.initBlocks = function () { only: SpriteMorph, type: 'command', category: 'motion', - spec: 'draw text: %s scale: %n', - defaults: ["hello", 2] + spec: 'draw text: %s scale: %n font: %n', + defaults: ["hello", 2, 0] }; };