Skip to content

Commit

Permalink
original data compacted; JSON format
Browse files Browse the repository at this point in the history
  • Loading branch information
gugray committed Jan 19, 2017
1 parent 91f54c6 commit a872d9b
Show file tree
Hide file tree
Showing 23 changed files with 25,346 additions and 34,739 deletions.
9,511 changes: 9,511 additions & 0 deletions library/data/mmah.json

Large diffs are not rendered by default.

15,656 changes: 15,656 additions & 0 deletions library/data/orig.json

Large diffs are not rendered by default.

File renamed without changes.
3 changes: 2 additions & 1 deletion library/src/analyzedCharacter.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
/// <reference path="analyzedStroke.js" />
/// <reference path="subStroke.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.AnalyzedCharacter = (function (rawStrokes) {
"use strict";

// Magic constants used in decomposition of a stroke into substrokes
var MIN_SEGMENT_LENGTH = 12.5;
var MAX_LOCAL_LENGTH_RATIO = 1.1;
Expand Down
3 changes: 2 additions & 1 deletion library/src/analyzedStroke.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />
/// <reference path="subStroke.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.AnalyzedStroke = (function(points, pivotIndexes, subStrokes) {
"use strict";

this.points = points;
this.pivotIndexes = pivotIndexes;
this.subStrokes = subStrokes;
Expand Down
3 changes: 2 additions & 1 deletion library/src/characterMatch.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.CharacterMatch = (function (character, score) {
"use strict";

this.character = character;
this.score = score;
});
Expand Down
3 changes: 2 additions & 1 deletion library/src/cubicCurve2D.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.CubicCurve2D = (function (x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2) {
"use strict";

var _x1 = x1;
var _y1 = y1;
var _ctrlX1 = ctrlx1;
Expand Down
2 changes: 1 addition & 1 deletion library/src/decodeCompact.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var HanziLookup = HanziLookup || {};

HanziLookup.DecodeCompact = (function (base64) {
HanziLookup.decodeCompact = (function (base64) {
"use strict";

var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
Expand Down
3 changes: 2 additions & 1 deletion library/src/drawingBoard.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.DrawingBoard = (function (elmHost, strokeFinished) {
"use strict";

var _elmHost = elmHost;
var _strokeFinised = strokeFinished;
var _canvas;
Expand Down
24 changes: 24 additions & 0 deletions library/src/init.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
var HanziLookup = HanziLookup || {};

HanziLookup.data = {};

HanziLookup.init = (function (dataName, url, ready) {
"use strict";

var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onreadystatechange = function () {
if (this.readyState !== 4) return;
if (this.status === 200) {
dataReceived(dataName, xhr.responseText);
ready(true);
}
else ready(false);
};
xhr.send();

function dataReceived(dataName, responseText) {
HanziLookup.data[dataName] = JSON.parse(responseText);
HanziLookup.data[dataName].substrokes = HanziLookup.decodeCompact(HanziLookup.data[dataName].substrokes);
}
});
3 changes: 2 additions & 1 deletion library/src/matchCollector.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />
/// <reference path="analyzedCharacter.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.MatchCollector = (function (limit) {
"use strict";

var _count = 0;
var _matches = [];

Expand Down
10 changes: 5 additions & 5 deletions library/src/matcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
/// <reference path="characterMatch.js" />
/// <reference path="matchCollector.js" />

"use strict";
var HanziLookup = HanziLookup || {};

// Magic constants
Expand All @@ -15,11 +14,12 @@ HanziLookup.SKIP_PENALTY_MULTIPLIER = 1.75; // penalty mulitplier for skipping a
HanziLookup.CORRECT_NUM_STROKES_BONUS = 0.1; // max multiplier bonus if characters has the correct number of strokes
HanziLookup.CORRECT_NUM_STROKES_CAP = 10; // characters with more strokes than this will not be multiplied

HanziLookup.Matcher = (function (repo, sbin, looseness) {
// Magic value!
HanziLookup.Matcher = (function (dataName, looseness) {
"use strict";

var _looseness = looseness || HanziLookup.DEFAULT_LOOSENESS;
var _repo = repo;
var _sbin = sbin;
var _repo = HanziLookup.data[dataName].chars;
var _sbin = HanziLookup.data[dataName].substrokes;
var _scoreMatrix = buildScoreMatrix();
var _charsChecked;
var _subStrokesCompared;
Expand Down
3 changes: 2 additions & 1 deletion library/src/strokeInputOverlay.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.StrokeInputOverlay = (function(top, right, bottom, left, xStrokes, yStrokes, zStrokes) {
"use strict";

this.top = top;
this.right = right;
this.bottom = bottom;
Expand Down
3 changes: 2 additions & 1 deletion library/src/subStroke.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/// <reference path="../lib/jquery-3.1.1.min.js" />

"use strict";
var HanziLookup = HanziLookup || {};

HanziLookup.SubStroke = (function(direction, length, centerX, centerY) {
"use strict";

this.direction = direction;
this.length = length;
this.centerX = centerX;
Expand Down
46 changes: 11 additions & 35 deletions library/src/app.js → library/src/testbed.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
/// <reference path="strokeInputOverlay.js" />
/// <reference path="subStroke.js" />

"use strict";
var HanziLookup = HanziLookup || {};

var HanziLookupApp = (function() {
"use strict";

var _drawingBoard;
var _scriptsToLoad = -1;

Expand All @@ -28,23 +29,13 @@ var HanziLookupApp = (function() {
});

function initJSLoader() {
_scriptsToLoad = 2;
// var script1 = document.createElement('script');
// script1.src = "./src/x-hl-strokes.js";
// script1.onload = function (e) { onScriptLoaded(); }
// document.head.appendChild(script1);
_scriptsToLoad = 3;
var script2 = document.createElement('script');
script2.src = "./src/x-mmah-medians.js";
script2.src = "./data/x-mmah-medians.js";
script2.onload = function (e) { onScriptLoaded(); }
document.head.appendChild(script2);
// var script3 = document.createElement('script');
// script3.src = "./src/x-mmah-strokes.js";
// script3.onload = function (e) { onScriptLoaded(); }
// document.head.appendChild(script3);
var script4 = document.createElement('script');
script4.src = "./src/x-mmah-compact.js";
script4.onload = function (e) { onCompactLoaded(); }
document.head.appendChild(script4);
HanziLookup.init("orig", "./data/orig.json", onScriptLoaded);
HanziLookup.init("mmah", "./data/mmah.json", onScriptLoaded);
}

function onCompactLoaded() {
Expand Down Expand Up @@ -196,25 +187,9 @@ var HanziLookupApp = (function() {
}

function lookup(analyzedChar) {
// Compact MMAH
// Original
var tsStart = new Date().getTime();
var matcher = new HanziLookup.Matcher(HanziLookup.CompactTableMMAH, HanziLookup.CompactDataMMAH);
var matches = matcher.match(analyzedChar, 15);
var elapsed = new Date().getTime() - tsStart;
updateResultChars($(".mmahLookupChars"), matches);
var cnt = matcher.getCounters();
$(".lookupTimerMMAH").text(elapsed + "ms");
$(".charCountMMAH").text(cnt.chars);
$(".charTimeMMAH").text((elapsed / cnt.chars).toFixed(3));
$(".ssCountMMAH").text(cnt.subStrokes);
$(".ssTimeMMAH").text((elapsed / cnt.subStrokes * 1000).toFixed(3));

return;
// -----

// Vanilla HanziLookup
var tsStart = new Date().getTime();
var matcher = new HanziLookup.Matcher(HanziLookup.StrokeDataHL);
var matcher = new HanziLookup.Matcher("orig");
var matches = matcher.match(analyzedChar, 15);
var elapsed = new Date().getTime() - tsStart;
updateResultChars($(".hanziLookupChars"), matches);
Expand All @@ -224,9 +199,10 @@ var HanziLookupApp = (function() {
$(".charTimeHL").text((elapsed / cnt.chars).toFixed(3));
$(".ssCountHL").text(cnt.subStrokes);
$(".ssTimeHL").text((elapsed / cnt.subStrokes * 1000).toFixed(3));
// MMAH data

// MMAH
tsStart = new Date().getTime();
matcher = new HanziLookup.Matcher(HanziLookup.StrokeDataMMAH);
matcher = new HanziLookup.Matcher("mmah");
matches = matcher.match(analyzedChar, 15);
elapsed = new Date().getTime() - tsStart;
updateResultChars($(".mmahLookupChars"), matches);
Expand Down
Loading

0 comments on commit a872d9b

Please sign in to comment.