# To be included in select-words # Last edited on 2004-02-16 11:46:55 by stolfi # Word selection and normalization for the consonant-only Quran in # JSAR. function reclassify(section, curSec, curLin, type, wd, sura,nvs,rev) { # Valid sections are "tot.1", "mec.1", "mad.1". # Take only verse text, # Exclude verse 0 ("bismillah" heading). if (curSec !~ /^{b}{s[0-9]+}{v[1-9][0-9]*}$/) { return "n"; } sura = gensub(/^{b}{s([0-9]+)}{v[0-9]+}$/, "\\1", "g", curSec) + 0; nvs = sura_nvs[sura]; rev = sura_rev[sura]; # Select only largest suras of the correct section if (nvs < 50) { return "n"; } if ((section == "tot.1") || (section == rev)) { return type; } else { return "n"; } } function normalize(section, type, wd) { return wd; } function define_patterns() { split("", sura_rev); split("", sura_nvs); sura_nvs[ 2 ] = 286 ; sura_rev[ 2 ] = "mad.1"; sura_nvs[ 3 ] = 200 ; sura_rev[ 3 ] = "mad.1"; sura_nvs[ 4 ] = 176 ; sura_rev[ 4 ] = "mad.1"; sura_nvs[ 9 ] = 129 ; sura_rev[ 9 ] = "mad.1"; sura_nvs[ 5 ] = 120 ; sura_rev[ 5 ] = "mad.1"; sura_nvs[ 22 ] = 78 ; sura_rev[ 22 ] = "mad.1"; sura_nvs[ 55 ] = 78 ; sura_rev[ 55 ] = "mad.1"; sura_nvs[ 8 ] = 75 ; sura_rev[ 8 ] = "mad.1"; sura_nvs[ 33 ] = 73 ; sura_rev[ 33 ] = "mad.1"; sura_nvs[ 24 ] = 64 ; sura_rev[ 24 ] = "mad.1"; sura_nvs[ 13 ] = 43 ; sura_rev[ 13 ] = "mad.1"; sura_nvs[ 47 ] = 38 ; sura_rev[ 47 ] = "mad.1"; sura_nvs[ 76 ] = 31 ; sura_rev[ 76 ] = "mad.1"; sura_nvs[ 48 ] = 29 ; sura_rev[ 48 ] = "mad.1"; sura_nvs[ 57 ] = 29 ; sura_rev[ 57 ] = "mad.1"; sura_nvs[ 59 ] = 24 ; sura_rev[ 59 ] = "mad.1"; sura_nvs[ 58 ] = 22 ; sura_rev[ 58 ] = "mad.1"; sura_nvs[ 49 ] = 18 ; sura_rev[ 49 ] = "mad.1"; sura_nvs[ 64 ] = 18 ; sura_rev[ 64 ] = "mad.1"; sura_nvs[ 61 ] = 14 ; sura_rev[ 61 ] = "mad.1"; sura_nvs[ 60 ] = 13 ; sura_rev[ 60 ] = "mad.1"; sura_nvs[ 65 ] = 12 ; sura_rev[ 65 ] = "mad.1"; sura_nvs[ 66 ] = 12 ; sura_rev[ 66 ] = "mad.1"; sura_nvs[ 62 ] = 11 ; sura_rev[ 62 ] = "mad.1"; sura_nvs[ 63 ] = 11 ; sura_rev[ 63 ] = "mad.1"; sura_nvs[ 98 ] = 8 ; sura_rev[ 98 ] = "mad.1"; sura_nvs[ 99 ] = 8 ; sura_rev[ 99 ] = "mad.1"; sura_nvs[ 110 ] = 3 ; sura_rev[ 110 ] = "mad.1"; sura_nvs[ 26 ] = 227 ; sura_rev[ 26 ] = "mec.1"; sura_nvs[ 7 ] = 206 ; sura_rev[ 7 ] = "mec.1"; sura_nvs[ 37 ] = 182 ; sura_rev[ 37 ] = "mec.1"; sura_nvs[ 6 ] = 165 ; sura_rev[ 6 ] = "mec.1"; sura_nvs[ 20 ] = 135 ; sura_rev[ 20 ] = "mec.1"; sura_nvs[ 16 ] = 128 ; sura_rev[ 16 ] = "mec.1"; sura_nvs[ 11 ] = 123 ; sura_rev[ 11 ] = "mec.1"; sura_nvs[ 23 ] = 118 ; sura_rev[ 23 ] = "mec.1"; sura_nvs[ 21 ] = 112 ; sura_rev[ 21 ] = "mec.1"; sura_nvs[ 12 ] = 111 ; sura_rev[ 12 ] = "mec.1"; sura_nvs[ 17 ] = 111 ; sura_rev[ 17 ] = "mec.1"; sura_nvs[ 18 ] = 110 ; sura_rev[ 18 ] = "mec.1"; sura_nvs[ 10 ] = 109 ; sura_rev[ 10 ] = "mec.1"; sura_nvs[ 15 ] = 99 ; sura_rev[ 15 ] = "mec.1"; sura_nvs[ 19 ] = 98 ; sura_rev[ 19 ] = "mec.1"; sura_nvs[ 56 ] = 96 ; sura_rev[ 56 ] = "mec.1"; sura_nvs[ 27 ] = 93 ; sura_rev[ 27 ] = "mec.1"; sura_nvs[ 43 ] = 89 ; sura_rev[ 43 ] = "mec.1"; sura_nvs[ 28 ] = 88 ; sura_rev[ 28 ] = "mec.1"; sura_nvs[ 38 ] = 88 ; sura_rev[ 38 ] = "mec.1"; sura_nvs[ 40 ] = 85 ; sura_rev[ 40 ] = "mec.1"; sura_nvs[ 36 ] = 83 ; sura_rev[ 36 ] = "mec.1"; sura_nvs[ 25 ] = 77 ; sura_rev[ 25 ] = "mec.1"; sura_nvs[ 39 ] = 75 ; sura_rev[ 39 ] = "mec.1"; sura_nvs[ 29 ] = 69 ; sura_rev[ 29 ] = "mec.1"; sura_nvs[ 53 ] = 62 ; sura_rev[ 53 ] = "mec.1"; sura_nvs[ 104 ] = 62 ; sura_rev[ 104 ] = "mec.1"; sura_nvs[ 30 ] = 60 ; sura_rev[ 30 ] = "mec.1"; sura_nvs[ 51 ] = 60 ; sura_rev[ 51 ] = "mec.1"; sura_nvs[ 44 ] = 59 ; sura_rev[ 44 ] = "mec.1"; sura_nvs[ 74 ] = 56 ; sura_rev[ 74 ] = "mec.1"; sura_nvs[ 54 ] = 55 ; sura_rev[ 54 ] = "mec.1"; sura_nvs[ 34 ] = 54 ; sura_rev[ 34 ] = "mec.1"; sura_nvs[ 41 ] = 54 ; sura_rev[ 41 ] = "mec.1"; sura_nvs[ 42 ] = 53 ; sura_rev[ 42 ] = "mec.1"; sura_nvs[ 14 ] = 52 ; sura_rev[ 14 ] = "mec.1"; sura_nvs[ 68 ] = 52 ; sura_rev[ 68 ] = "mec.1"; sura_nvs[ 69 ] = 52 ; sura_rev[ 69 ] = "mec.1"; sura_nvs[ 77 ] = 50 ; sura_rev[ 77 ] = "mec.1"; sura_nvs[ 52 ] = 49 ; sura_rev[ 52 ] = "mec.1"; sura_nvs[ 79 ] = 46 ; sura_rev[ 79 ] = "mec.1"; sura_nvs[ 35 ] = 45 ; sura_rev[ 35 ] = "mec.1"; sura_nvs[ 50 ] = 45 ; sura_rev[ 50 ] = "mec.1"; sura_nvs[ 70 ] = 44 ; sura_rev[ 70 ] = "mec.1"; sura_nvs[ 80 ] = 42 ; sura_rev[ 80 ] = "mec.1"; sura_nvs[ 75 ] = 40 ; sura_rev[ 75 ] = "mec.1"; sura_nvs[ 78 ] = 40 ; sura_rev[ 78 ] = "mec.1"; sura_nvs[ 45 ] = 37 ; sura_rev[ 45 ] = "mec.1"; sura_nvs[ 83 ] = 36 ; sura_rev[ 83 ] = "mec.1"; sura_nvs[ 46 ] = 35 ; sura_rev[ 46 ] = "mec.1"; sura_nvs[ 31 ] = 34 ; sura_rev[ 31 ] = "mec.1"; sura_nvs[ 32 ] = 30 ; sura_rev[ 32 ] = "mec.1"; sura_nvs[ 67 ] = 30 ; sura_rev[ 67 ] = "mec.1"; sura_nvs[ 89 ] = 30 ; sura_rev[ 89 ] = "mec.1"; sura_nvs[ 81 ] = 29 ; sura_rev[ 81 ] = "mec.1"; sura_nvs[ 71 ] = 28 ; sura_rev[ 71 ] = "mec.1"; sura_nvs[ 72 ] = 28 ; sura_rev[ 72 ] = "mec.1"; sura_nvs[ 88 ] = 26 ; sura_rev[ 88 ] = "mec.1"; sura_nvs[ 84 ] = 25 ; sura_rev[ 84 ] = "mec.1"; sura_nvs[ 85 ] = 22 ; sura_rev[ 85 ] = "mec.1"; sura_nvs[ 92 ] = 21 ; sura_rev[ 92 ] = "mec.1"; sura_nvs[ 73 ] = 20 ; sura_rev[ 73 ] = "mec.1"; sura_nvs[ 90 ] = 20 ; sura_rev[ 90 ] = "mec.1"; sura_nvs[ 82 ] = 19 ; sura_rev[ 82 ] = "mec.1"; sura_nvs[ 87 ] = 19 ; sura_rev[ 87 ] = "mec.1"; sura_nvs[ 96 ] = 19 ; sura_rev[ 96 ] = "mec.1"; sura_nvs[ 86 ] = 17 ; sura_rev[ 86 ] = "mec.1"; sura_nvs[ 91 ] = 15 ; sura_rev[ 91 ] = "mec.1"; sura_nvs[ 93 ] = 11 ; sura_rev[ 93 ] = "mec.1"; sura_nvs[ 100 ] = 11 ; sura_rev[ 100 ] = "mec.1"; sura_nvs[ 101 ] = 11 ; sura_rev[ 101 ] = "mec.1"; sura_nvs[ 94 ] = 8 ; sura_rev[ 94 ] = "mec.1"; sura_nvs[ 95 ] = 8 ; sura_rev[ 95 ] = "mec.1"; sura_nvs[ 102 ] = 8 ; sura_rev[ 102 ] = "mec.1"; sura_nvs[ 1 ] = 7 ; sura_rev[ 1 ] = "mec.1"; sura_nvs[ 107 ] = 7 ; sura_rev[ 107 ] = "mec.1"; sura_nvs[ 109 ] = 6 ; sura_rev[ 109 ] = "mec.1"; sura_nvs[ 114 ] = 6 ; sura_rev[ 114 ] = "mec.1"; sura_nvs[ 97 ] = 5 ; sura_rev[ 97 ] = "mec.1"; sura_nvs[ 105 ] = 5 ; sura_rev[ 105 ] = "mec.1"; sura_nvs[ 111 ] = 5 ; sura_rev[ 111 ] = "mec.1"; sura_nvs[ 113 ] = 5 ; sura_rev[ 113 ] = "mec.1"; sura_nvs[ 106 ] = 4 ; sura_rev[ 106 ] = "mec.1"; sura_nvs[ 112 ] = 4 ; sura_rev[ 112 ] = "mec.1"; sura_nvs[ 103 ] = 3 ; sura_rev[ 103 ] = "mec.1"; sura_nvs[ 108 ] = 3 ; sura_rev[ 108 ] = "mec.1"; }