diff --git a/README.md b/README.md
index 7adc81c..7207178 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# WolfChart v1.1
+# WolfChart v1.2
by Ballantyne de Wolf and Offspring Digital
This is professional optometrist/optician/ophthalmologist tool for measuring visual acuity. I cannot be used safely by the general public.
@@ -12,5 +12,17 @@ Now that's out of the way, the objectives are:
a high street level web designer can achieve it. The task is to write valid svg and xml and change one line in the index.htm
+Ver1.2
+Help text updated
+Expanded Sloan and Snellen optotypes.
+New alphabets for
+ - BS4724.3
+ - SnellenU
+ - ETDRS
+ - SloanU
+Improved letter R in both Sloan and Snellen
+ - ISSUE need to apply opacity to svg, not elements of svg, so that characters can have overlapping elements
+Added text under HELP in guide-section: "Very quick guide: Calibrate and configure your chart using this help guide. Click or tap on white space to scroll the chart up and down, or use the up and down arrows on your keyboard. Click or tap on any letter to mask it. Click it again to unmask."
+
Ver1.1
Supports 4 optotypes with an alphabet each. Help text needs some work.
diff --git a/index.htm b/index.htm
index ece830c..c480eae 100644
--- a/index.htm
+++ b/index.htm
@@ -1,4 +1,4 @@
-
+
Mirrored/Direct: Select "Direct" if the chart is to be viewed directly, otherwise select "Mirrored" and the letters and lines will be reversed, but the labels not. If changing this setting, don't forget to set the Distance (see above) accordingly.
- Text colour: This field accepts any rgba colour value. The first three values are 0-255, representing levels of red, green and blue, where 0 is no colour and 255 is full colour. The fourth value is 0-1, representing opacity where 0 is fully transparent and 1 is fully opaque. Eg. 0,0,0,1 is black; 0,0,0,0.1 is 10% black; 255,0,0,1 is pure red.
+ Text colour: This field accepts any rgba colour value. Eg. 0,0,0,1 is black; 0,0,0,0.1 is 10% black; 255,0,0,1 is pure red.
@@ -1165,13 +1168,11 @@
Use these fields to specify keyboard shortcuts for operating the chart.
- Page Up/Page Dn: If your display is large enough (about 1m wide by about 1.5m tall at 6m), all 14 lines will display, otherwise the chart will divide itself into pages and you will need to scroll through them. Your keyboard up and down arrows will scroll, and here you can also set a Shift + key shortcut eg "u" for up.
-Mouse clicking or tapping on a touch screen can also do paging. Click or tap any whitespace in the top half of the display for page up, the bottom half for page down.
- Please note that clicking or tapping on a letter masks that letter. Clicking or tapping the masked letter again removes the mask.
-
+ Page Up/Page Dn: The chart displays upwards from the smallest chart line by default. If your display is large enough (about 1m wide by about 1.5m tall), all 10-14 lines will display, otherwise the chart will divide itself into pages and you will need to use Page Up or Dn to page through them.
+ Paging can also be done with a mouse - the whitespaces above and below the chartlines are page up and down buttons.
- Shuffle/Unshuffle:: Shuffle semi-randomises the letters normally shown on a chart line into a different order. You can shuffle as many times as you like. Unshuffle returns the letter order to the default. You can also use Shuffle to display more letters on the lines that are too long to fit all 5 letters on your display. Shuffle/Unshuffle won't work if you don't assign a shortcut.
+ Shuffle/Unshuffle:: Shuffle randomises the letters normally shown on a chart line into a different order. You can shuffle as many times as you like. Unshuffle returns the letter order to the default.
@@ -1226,7 +1227,12 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
-
+
+
-
+
-
+
-
+
@@ -1266,6 +1275,13 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
+
+
+
+
+
+
+
@@ -1289,6 +1305,9 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
+
+
+
@@ -1296,20 +1315,32 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1493,7 +1524,7 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
var setHeightFunction = this;
var dist = $('#iDistance').val();
switch (notation) {
- case "1"://metter
+ case "1"://metres
var ar = [0.5, 0.63, 0.79, 1, 1.26, 1.58, 2, 2.51, 3.16, 3.98, 5.01, 6.31, 7.94, 10];
//always input mm
if (numeratorType == "2") {
@@ -1555,17 +1586,17 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
convertFunction = this;
switch (alphabetType) {
//set character for each type
- case '1':
- arrayCharacter = ['Snellen_E,Snellen_H,Snellen_V,Snellen_D,Snellen_F', 'Snellen_U,Snellen_R,Snellen_Z,Snellen_V,Snellen_H', 'Snellen_D,Snellen_P,Snellen_N,Snellen_F,Snellen_R', 'Snellen_V,Snellen_U,Snellen_F,Snellen_R,Snellen_D', 'Snellen_E,Snellen_Z,Snellen_H,Snellen_P,Snellen_V', 'Snellen_H,Snellen_N,Snellen_D,Snellen_R,Snellen_U', 'Snellen_V,Snellen_P,Snellen_H,Snellen_D,Snellen_E', 'Snellen_P,Snellen_V,Snellen_E,Snellen_H,Snellen_R', 'Snellen_N,Snellen_U,Snellen_Z,Snellen_F,Snellen_E', 'Snellen_E,Snellen_H,Snellen_V,Snellen_D,Snellen_F', 'Snellen_U,Snellen_R,Snellen_Z,Snellen_V,Snellen_H', 'Snellen_D,Snellen_P,Snellen_N,Snellen_F,Snellen_R', 'Snellen_V,Snellen_U,Snellen_F,Snellen_R,Snellen_D', 'Snellen_E,Snellen_Z,Snellen_H,Snellen_P,Snellen_V']
+ case '1'://SnellenU
+ arrayCharacter = ['Snellen_N,Snellen_L,Snellen_A,Snellen_Y,Snellen_Z', 'Snellen_E,Snellen_F,Snellen_R,Snellen_D,Snellen_U', 'Snellen_T,Snellen_P,Snellen_V,Snellen_H,Snellen_X', 'Snellen_Y,Snellen_E,Snellen_L,Snellen_R,Snellen_T', 'Snellen_F,Snellen_X,Snellen_U,Snellen_D,Snellen_H', 'Snellen_A,Snellen_N,Snellen_P,Snellen_V,Snellen_Z', 'Snellen_H,Snellen_Z,Snellen_T,Snellen_Y,Snellen_D', 'Snellen_V,Snellen_F,Snellen_X,Snellen_N,Snellen_R', 'Snellen_A,Snellen_L,Snellen_P,Snellen_U,Snellen_E', 'Snellen_P,Snellen_U,Snellen_V,Snellen_F,Snellen_Y', 'Snellen_T,Snellen_A,Snellen_H,Snellen_E,Snellen_D', 'Snellen_L,Snellen_R,Snellen_N,Snellen_Z,Snellen_X', 'Snellen_D,Snellen_Y,Snellen_P,Snellen_L,Snellen_N', 'Snellen_Z,Snellen_A,Snellen_T,Snellen_F,Snellen_R']
break;
- case '2':
- arrayCharacter = ['Snellen_E,Snellen_H,Snellen_V,Snellen_D,Snellen_F', 'Snellen_U,Snellen_R,Snellen_Z,Snellen_V,Snellen_H', 'Snellen_D,Snellen_P,Snellen_N,Snellen_F,Snellen_R', 'Snellen_V,Snellen_U,Snellen_F,Snellen_R,Snellen_D', 'Snellen_E,Snellen_Z,Snellen_H,Snellen_P,Snellen_V', 'Snellen_H,Snellen_N,Snellen_D,Snellen_R,Snellen_U', 'Snellen_V,Snellen_P,Snellen_H,Snellen_D,Snellen_E', 'Snellen_P,Snellen_V,Snellen_E,Snellen_H,Snellen_R', 'Snellen_N,Snellen_U,Snellen_Z,Snellen_F,Snellen_E', 'Snellen_E,Snellen_H,Snellen_V,Snellen_D,Snellen_F', 'Snellen_U,Snellen_R,Snellen_Z,Snellen_V,Snellen_H', 'Snellen_D,Snellen_P,Snellen_N,Snellen_F,Snellen_R', 'Snellen_V,Snellen_U,Snellen_F,Snellen_R,Snellen_D', 'Snellen_E,Snellen_Z,Snellen_H,Snellen_P,Snellen_V']
+ case '2'://BS4274.3
+ arrayCharacter = ['Snellen_N,Snellen_R,Snellen_P,Snellen_D,Snellen_Z', 'Snellen_U,Snellen_V,Snellen_E,Snellen_H,Snellen_F', 'Snellen_V,Snellen_R,Snellen_H,Snellen_N,Snellen_D', 'Snellen_F,Snellen_P,Snellen_U,Snellen_Z,Snellen_E', 'Snellen_P,Snellen_E,Snellen_F,Snellen_H,Snellen_N', 'Snellen_U,Snellen_Z,Snellen_V,Snellen_R,Snellen_D', 'Snellen_H,Snellen_N,Snellen_R,Snellen_U,Snellen_Z', 'Snellen_E,Snellen_D,Snellen_F,Snellen_P,Snellen_V', 'Snellen_D,Snellen_Z,Snellen_E,Snellen_N,Snellen_R', 'Snellen_H,Snellen_F,Snellen_P,Snellen_V,Snellen_U', 'Snellen_P,Snellen_E,Snellen_H,Snellen_U,Snellen_D', 'Snellen_R,Snellen_Z,Snellen_F,Snellen_N,Snellen_V', 'Snellen_V,Snellen_F,Snellen_E,Snellen_N,Snellen_H', 'Snellen_U,Snellen_D,Snellen_P,Snellen_R,Snellen_Z']
break;
case '3':
- arrayCharacter = ['Sloan_H,Sloan_C,Sloan_Z,Sloan_S,Sloan_V', 'Sloan_C,Sloan_N,Sloan_D,Sloan_Z,Sloan_K', 'Sloan_V,Sloan_O,Sloan_K,Sloan_R,Sloan_N', 'Sloan_R,Sloan_H,Sloan_K,Sloan_N,Sloan_S', 'Sloan_D,Sloan_V,Sloan_O,Sloan_Z,Sloan_C', 'Sloan_H,Sloan_V,Sloan_C,Sloan_R,Sloan_K', 'Sloan_R,Sloan_O,Sloan_D,Sloan_S,Sloan_N', 'Sloan_H,Sloan_D,Sloan_V,Sloan_K,Sloan_C', 'Sloan_V,Sloan_R,Sloan_S,Sloan_O,Sloan_Z', 'Sloan_H,Sloan_C,Sloan_Z,Sloan_S,Sloan_V', 'Sloan_C,Sloan_N,Sloan_D,Sloan_Z,Sloan_K', 'Sloan_V,Sloan_O,Sloan_K,Sloan_R,Sloan_N', 'Sloan_R,Sloan_H,Sloan_K,Sloan_N,Sloan_S', 'Sloan_D,Sloan_V,Sloan_O,Sloan_Z,Sloan_C']
+ arrayCharacter = ['Sloan_Z,Sloan_V,Sloan_K,Sloan_E,Sloan_S', 'Sloan_H,Sloan_N,Sloan_D,Sloan_C,Sloan_O', 'Sloan_V,Sloan_C,Sloan_Z,Sloan_R,Sloan_H', 'Sloan_E,Sloan_S,Sloan_K,Sloan_O,Sloan_N', 'Sloan_D,Sloan_V,Sloan_R,Sloan_O,Sloan_C', 'Sloan_S,Sloan_Z,Sloan_H,Sloan_K,Sloan_E', 'Sloan_K,Sloan_E,Sloan_H,Sloan_R,Sloan_V', 'Sloan_D,Sloan_C,Sloan_N,Sloan_Z,Sloan_O', 'Sloan_C,Sloan_N,Sloan_O,Sloan_S,Sloan_Z', 'Sloan_V,Sloan_R,Sloan_D,Sloan_H,Sloan_K', 'Sloan_R,Sloan_O,Sloan_D,Sloan_K,Sloan_H', 'Sloan_S,Sloan_V,Sloan_C,Sloan_E,Sloan_Z', 'Sloan_Z,Sloan_S,Sloan_N,Sloan_E,Sloan_D', 'Sloan_R,Sloan_H,Sloan_K,Sloan_O,Sloan_V']
break;
case '4':
- arrayCharacter = ['Sloan_H,Sloan_C,Sloan_Z,Sloan_S,Sloan_V', 'Sloan_C,Sloan_N,Sloan_D,Sloan_Z,Sloan_K', 'Sloan_V,Sloan_O,Sloan_K,Sloan_R,Sloan_N', 'Sloan_R,Sloan_H,Sloan_K,Sloan_N,Sloan_S', 'Sloan_D,Sloan_V,Sloan_O,Sloan_Z,Sloan_C', 'Sloan_H,Sloan_V,Sloan_C,Sloan_R,Sloan_K', 'Sloan_R,Sloan_O,Sloan_D,Sloan_S,Sloan_N', 'Sloan_H,Sloan_D,Sloan_V,Sloan_K,Sloan_C', 'Sloan_V,Sloan_R,Sloan_S,Sloan_O,Sloan_Z', 'Sloan_H,Sloan_C,Sloan_Z,Sloan_S,Sloan_V', 'Sloan_C,Sloan_N,Sloan_D,Sloan_Z,Sloan_K', 'Sloan_V,Sloan_O,Sloan_K,Sloan_R,Sloan_N', 'Sloan_R,Sloan_H,Sloan_K,Sloan_N,Sloan_S', 'Sloan_D,Sloan_V,Sloan_O,Sloan_Z,Sloan_C']
+ arrayCharacter = ['Sloan_V,Sloan_N,Sloan_T,Sloan_C,Sloan_E', 'Sloan_P,Sloan_X,Sloan_R,Sloan_Z,Sloan_S', 'Sloan_D,Sloan_H,Sloan_O,Sloan_L,Sloan_K', 'Sloan_E,Sloan_T,Sloan_K,Sloan_O,Sloan_D', 'Sloan_C,Sloan_S,Sloan_N,Sloan_R,Sloan_H', 'Sloan_P,Sloan_L,Sloan_X,Sloan_Z,Sloan_V', 'Sloan_N,Sloan_K,Sloan_Z,Sloan_P,Sloan_O', 'Sloan_E,Sloan_V,Sloan_R,Sloan_X,Sloan_D', 'Sloan_T,Sloan_C,Sloan_S,Sloan_L,Sloan_H', 'Sloan_V,Sloan_H,Sloan_D,Sloan_X,Sloan_S', 'Sloan_R,Sloan_K,Sloan_O,Sloan_L,Sloan_E', 'Sloan_Z,Sloan_P,Sloan_C,Sloan_N,Sloan_T', 'Sloan_T,Sloan_E,Sloan_C,Sloan_V,Sloan_R', 'Sloan_H,Sloan_L,Sloan_D,Sloan_P,Sloan_N']
break;
case '5':
arrayCharacter = ['LandoltC_N,LandoltC_S,LandoltC_E,LandoltC_N,LandoltC_W', 'LandoltC_E,LandoltC_E,LandoltC_N,LandoltC_W,LandoltC_S', 'LandoltC_E,LandoltC_S,LandoltC_S,LandoltC_W,LandoltC_N', 'LandoltC_N,LandoltC_W,LandoltC_N,LandoltC_S,LandoltC_E', 'LandoltC_S,LandoltC_W,LandoltC_N,LandoltC_W,LandoltC_E', 'LandoltC_W,LandoltC_E,LandoltC_S,LandoltC_N,LandoltC_S', 'LandoltC_W,LandoltC_N,LandoltC_E,LandoltC_S,LandoltC_W', 'LandoltC_S,LandoltC_N,LandoltC_N,LandoltC_W,LandoltC_E', 'LandoltC_N,LandoltC_E,LandoltC_S,LandoltC_W,LandoltC_W', 'LandoltC_N,LandoltC_S,LandoltC_E,LandoltC_N,LandoltC_W', 'LandoltC_E,LandoltC_E,LandoltC_N,LandoltC_W,LandoltC_S', 'LandoltC_E,LandoltC_S,LandoltC_S,LandoltC_W,LandoltC_N', 'LandoltC_N,LandoltC_W,LandoltC_N,LandoltC_S,LandoltC_E', 'LandoltC_S,LandoltC_W,LandoltC_N,LandoltC_W,LandoltC_E']
@@ -1864,7 +1895,7 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
}
else if (distance != parseInt(distance, 10)) {
result = true;
- message = "Distance must be interged.";
+ message = "Distance must be interger.";
}
else if (distance < 3000) {
result = true;
@@ -2481,4 +2512,4 @@ Mouse clicking or tapping on a touch screen can also do paging. Click or tap any
});
-