nl_tokens: 全角ひらがなをヘボン式ローマ字で半角英文字に変換します。
pl_tokens: function toHebon ( s ) { var hebon = '' ; var lastHebon = '' ; var lastChar = '' ; var i = 0 ; while ( i < s . length ) { var hr = getHebon ( s , i ) ; if ( hr . c == 'っ')  { // 'っち' var nextHr = getHebon ( s , i + 1 ) ; if ( nextHr . h != null ) { if ( nextHr . h . indexOf ( 'CH' ) == 0 ) { hr . h = 'T' ; } else { hr . h = nextHr . h . substring ( 0 , 1 ) ; } } } else if ( hr . c == 'ん')  { // B,M,P の前の 'ん' は 'M' とする。 var nextHr = getHebon ( s , i + 1 ) ; if ( nextHr . h != null && 'BMP' . indexOf ( nextHr . h . charAt ( 0 ) ) != - 1 ) { hr . h = 'M' ; } else { hr . h = 'N' ; } } else if ( hr . c == 'ー')  { // 長音は無視 hr . h = '' ; } if ( hr . h != null ) { // 変換できる文字の場合 if ( lastHebon != null ) { // 連続する母音の除去 var htest = lastHebon + hr . h ; if ( htest . <mask> > 2 ) { htest = htest . substring ( htest . length - 2 ) ; } if ( aaSet [ htest ] ) { hr . h = '' ; } } hebon += hr . h ; } else { // 変換できない文字の場合 hebon += hr . c ; } lastHebon = hr . h ; lastChar = hr . c ; i += hr . c . length ; } return hebon ; }