Comparing version 0.4.0 to 0.5.0
@@ -54,2 +54,17 @@ var bulkReplace = require("bulk-replace"); | ||
var katakanaDigraphs = { | ||
"アー": "Ā", "イー": "Ī", "ウー": "Ū", "エー": "Ē", "オー": "Ō", | ||
"カー": "KĀ", "キー": "KĪ", "クー": "KŪ", "ケー": "KĒ", "コー": "KŌ", | ||
"サー": "SĀ", "シー": "SHĪ", "スー": "SŪ", "セー": "SĒ", "ソー": "SŌ", | ||
"ター": "TĀ", "チー": "CHĪ", "ツー": "TSŪ", "テー": "TĒ", "トー": "TŌ", | ||
"ナー": "NĀ", "ニー": "NĪ", "ヌー": "NŪ", "ネー": "NĒ", "ノー": "NŌ", | ||
"ハー": "HĀ", "ヒー": "HĪ", "フー": "FŪ", "ヘー": "HĒ", "ホー": "HŌ", | ||
"マー": "MĀ", "ミー": "MĪ", "ムー": "MŪ", "メー": "MĒ", "モー": "MŌ", | ||
"ヤー": "YĀ", "ユー": "YŪ", "ヨー": "YŌ", | ||
"ラー": "RĀ", "リー": "RĪ", "ルー": "RŪ", "レー": "RĒ", "ロー": "RŌ", | ||
"ワー": "WĀ", "ヰー": "WĪ", "ヱー": "WĒ", "ヲー": "WŌ", "ンー": "N", | ||
"ガー": "GĀ", "ギー": "GĪ", "グー": "GŪ", "ゲー": "GĒ", "ゴー": "GŌ", | ||
"ザー": "ZĀ", "ジー": "JĪ", "ズー": "ZŪ", "ゼー": "ZĒ", "ゾー": "ZŌ", | ||
"ダー": "DĀ", "ヂー": "DJĪ", "ヅー": "DZŪ", "デー": "DĒ", "ドー": "DŌ", | ||
"バー": "BĀ", "ビー": "BĪ", "ブー": "BŪ", "ベー": "BĒ", "ボー": "BŌ", | ||
"パー": "PĀ", "ピー": "PĪ", "プー": "PŪ", "ペー": "PĒ", "ポー": "PŌ", | ||
"キャ": "KYA", "キュ": "KYU", "キョ": "KYO", | ||
@@ -68,2 +83,16 @@ "シャ": "SHA", "シュ": "SHU", "ショ": "SHO", | ||
var katakanaTrigraphs = { | ||
"キャー": "KYĀ", "キュー": "KYŪ", "キョー": "KYŌ", | ||
"シャー": "SHĀ", "シュー": "SHŪ", "ショー": "SHŌ", | ||
"チャー": "CHĀ", "チュー": "CHŪ", "チョー": "CHŌ", | ||
"ニャー": "NYĀ", "ニュー": "NYŪ", "ニョー": "NYŌ", | ||
"ヒャー": "HYĀ", "ヒュー": "HYŪ", "ヒョー": "HYŌ", | ||
"ミャー": "MYĀ", "ミュー": "MYŪ", "ミョー": "MYŌ", | ||
"リャー": "RYĀ", "リュー": "RYŪ", "リョー": "RYŌ", | ||
"ギャー": "GYĀ", "ギュー": "GYŪ", "ギョー": "GYŌ", | ||
"ジャー": "JĀ", "ジュー": "JŪ", "ジョー": "JŌ", | ||
"ビャー": "BYĀ", "ビュー": "BYŪ", "ビョー": "BYŌ", | ||
"ピャー": "PYĀ", "ピュー": "PYŪ", "ピョー": "PYŌ" | ||
}; | ||
// Used to convert old Nihon-Shiki style romaji into the modern Hepburn form. | ||
@@ -135,2 +164,9 @@ // Source: http://nayuki.eigenstate.org/page/variations-on-japanese-romanization | ||
Object.keys(katakanaTrigraphs).forEach(function(key) { | ||
var value = katakanaTrigraphs[key]; | ||
if (!(value in katakanaMap)) { | ||
katakanaMap[value] = key; | ||
} | ||
}); | ||
var katakanaRegex = new RegExp(Object.keys(katakanaMap).sort(function(a, b) { | ||
@@ -156,4 +192,10 @@ return b.length - a.length; | ||
// Ignore use of choonpu | ||
return str.replace(/[ー]/g, ""); | ||
// Correct use of choonpu | ||
str = str.replace(/Aー/g, "Ā"); | ||
str = str.replace(/Iー/g, "Ī"); | ||
str = str.replace(/Uー/g, "Ū"); | ||
str = str.replace(/Eー/g, "Ē"); | ||
str = str.replace(/Oー/g, "Ō"); | ||
return str; | ||
}; | ||
@@ -160,0 +202,0 @@ |
{ | ||
"name": "hepburn", | ||
"version": "0.4.0", | ||
"version": "0.5.0", | ||
"main": "./lib/hepburn", | ||
@@ -17,3 +17,3 @@ "description": "Convert Japanese Hiragana and Katakana script to, and from, Romaji using Hepburn romanisation", | ||
"scripts": { | ||
"test": "node tests/all" | ||
"test": "node tests/all && node tests/macrons" | ||
}, | ||
@@ -30,3 +30,4 @@ "keywords": [ | ||
"John Resig <jeresig@gmail.com>", | ||
"Ron Korving <rkorving@wizcorp.jp>" | ||
"Ron Korving <rkorving@wizcorp.jp>", | ||
"Brian Gesiak <modocache@gmail.com>" | ||
], | ||
@@ -33,0 +34,0 @@ "license": "Apache 2.0", |
@@ -42,2 +42,3 @@ # Hepburn | ||
var katakana = hepburn.toKatakana("KATAKANA"); | ||
var tokyo = hepburn.toKatakana("TŌKYŌ"); | ||
``` | ||
@@ -47,3 +48,3 @@ | ||
In this example `katakana` will have the value `カタカナ`. | ||
In this example `katakana` will have the value `カタカナ` and `tokyo` will have the value `トーキョー`. | ||
@@ -75,3 +76,3 @@ ### cleanRomaji(string) | ||
Copyright 2013 Lovell Fuller, John Resig and Ron Korving | ||
Copyright 2013, 2014 Lovell Fuller, John Resig, Ron Korving and Brian Gesiak | ||
@@ -78,0 +79,0 @@ Licensed under the Apache License, Version 2.0 (the "License"); |
@@ -6,3 +6,2 @@ var assert = require("assert"); | ||
"カタカナ": "KATAKANA", | ||
"チャーシュー": "CHASHU", | ||
"マッモト": "MAMMOTO" | ||
@@ -9,0 +8,0 @@ }; |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
28242
7
782
85
0