Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mojik

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mojik - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

.npmignore

47

mojik.js
/*!
* Mojik v0.1.2 https://github.com/terkel/mojik
* Mojik v0.1.3 https://github.com/terkel/mojik
* @author Takeru Suzuki http://terkel.jp/

@@ -109,7 +109,7 @@ * @license MIT http://opensource.org/licenses/MIT

var reTagDivider = new RegExp(reTagStr + "|[^<>]+", "gi");
var reObun = new RegExp("[" + Mojik.characters.western + "]+", "g");
var reObunAhead = new RegExp("[" + Mojik.characters.western + "]+$");
var reObunBehind = new RegExp("^[" + Mojik.characters.western + "]+");
var reIgnoreTag = new RegExp("^<(" + Mojik.ignoreTag + ")[ >]", "i");
var reYakumonoStr =
var reWestern = new RegExp("[" + Mojik.characters.western + "]+", "g");
var reWesternAhead = new RegExp("[" + Mojik.characters.western + "]+$");
var reWesternBehind = new RegExp("^[" + Mojik.characters.western + "]+");
var reJaPuncStr =
Mojik.characters.japaneseOpeningBrackets +

@@ -121,6 +121,6 @@ Mojik.characters.japaneseClosingBrackets +

Mojik.characters.japaneseFullWidthSpace;
var reYakumonoAhead = new RegExp("[" + reYakumonoStr + "]$");
var reYakumonoBehind = new RegExp("^[" + reYakumonoStr + "]");
var reOpenKakko = new RegExp("[" + Mojik.characters.japaneseOpeningBrackets + "]", "g");
var puncPairs = [
var reJaPuncAhead = new RegExp("[" + reJaPuncStr + "]$");
var reJaPuncBehind = new RegExp("^[" + reJaPuncStr + "]");
var reJaOpeningBracket = new RegExp("[" + Mojik.characters.japaneseOpeningBrackets + "]", "g");
var jaPuncPairs = [
[Mojik.characters.japaneseClosingBrackets,

@@ -162,4 +162,3 @@ Mojik.characters.japaneseOpeningBrackets +

var nonTagSlices = [];
var node;
var textSlices = [];
var openingBracketList;

@@ -204,6 +203,6 @@ var westernList;

// テキストスライスを保存
nonTagSlices.push(slices[i]);
textSlices.push(slices[i]);
// 欧文を検出
slices[i] = slices[i].replace(reObun, function (match, offset) {
slices[i] = slices[i].replace(reWestern, function (match, offset) {

@@ -214,3 +213,3 @@ // 数字

// 要素の先頭
var isAtParagraphHead = offset === 0 && (i === 0 || nonTagSlices.length === 1);
var isAtParagraphHead = offset === 0 && (i === 0 || textSlices.length === 1);

@@ -229,8 +228,8 @@ var k;

// スライス中の2文字目以降で和文約物に後続
(offset > 0 && reYakumonoAhead.test(slices[i].substring(0, offset))) ||
(offset > 0 && reJaPuncAhead.test(slices[i].substring(0, offset))) ||
// スライスの先頭で、先行する直近のテキストスライスが和文約物か欧文で終わる
(offset === 0 && nonTagSlices.length > 1 && (
reYakumonoAhead.test(nonTagSlices[nonTagSlices.length - 2]) ||
reObunAhead.test(nonTagSlices[nonTagSlices.length - 2])
(offset === 0 && textSlices.length > 1 && (
reJaPuncAhead.test(textSlices[textSlices.length - 2]) ||
reWesternAhead.test(textSlices[textSlices.length - 2])
));

@@ -245,3 +244,3 @@

// 後続する直近のテキストスライスが和文約物で始まる
reYakumonoBehind.test(slices[i].substring(offset + match.length));
reJaPuncBehind.test(slices[i].substring(offset + match.length));

@@ -270,3 +269,3 @@ // 右スペースを除去 2

// タグをまたいで後続する直近のテキストスライスが和文約物か欧文で始まる
if (reYakumonoBehind.test(slices[k]) || reObunBehind.test(slices[k])) {
if (reJaPuncBehind.test(slices[k]) || reWesternBehind.test(slices[k])) {
hasNoSpaceAfter = true;

@@ -291,3 +290,3 @@ }

// 和文始め括弧を検出
tmp = slices[i].replace(reOpenKakko, function (match, offset) {
tmp = slices[i].replace(reJaOpeningBracket, function (match, offset) {
var isAtParagraphHead;

@@ -297,3 +296,3 @@ var isLead;

var matchBefore =
offset === 0? (new RegExp("[" + Mojik.characters.japaneseOpeningBrackets + "]$")).exec(nonTagSlices[nonTagSlices.length - 2]):
offset === 0? (new RegExp("[" + Mojik.characters.japaneseOpeningBrackets + "]$")).exec(textSlices[textSlices.length - 2]):
offset > 0? (new RegExp("[" + Mojik.characters.japaneseOpeningBrackets + "]")).exec(slices[i].charAt(offset - 1)):

@@ -310,3 +309,3 @@ null;

// 要素の先頭
else if (offset === 0 && (i === 0 || nonTagSlices.length === 1)) {
else if (offset === 0 && (i === 0 || textSlices.length === 1)) {
return "<span class=\"" + htmlClass.leadOpeningBracket +

@@ -327,3 +326,3 @@ " " + htmlClass.leadOpeningBracket_atParagraphHead +

// 連続する和文約物を検出
puncPairs.forEach(function (pair) {
jaPuncPairs.forEach(function (pair) {
var reAhead = new RegExp("[" + pair[0] + "]", "g");

@@ -330,0 +329,0 @@ var reBehind = new RegExp("^(?:" + reTagStr + ")*([" + pair[1] + "])");

{
"name": "mojik",
"version": "0.1.2",
"description": "Typesetting for Japanese web typography",
"version": "0.1.3",
"description": "Take control of Japanese typesetting on the web",
"main": "mojik.js",

@@ -6,0 +6,0 @@ "scripts": {

# Mojik
<b>Mojik</b>は、ウェブにおける和文の文字組みの「アキ」をコントロールするためのJavaScriptライブラリです。指定した要素のテキストを探索して、以下のパターンでのアキのコントロールを可能にします。
<b>Mojik</b>は、ウェブにおける和文の文字組みをコントロールするためのJavaScriptライブラリです。現在のところ、以下のパターンでの「アキ」の調整ができます。
- 連続する約物(括弧や句読点など)の間のアキ
- 行頭の始め括弧の前のアキ
- 連続する約物のアキ
- 行頭の始め括弧のアキ
- 和欧間のアキ

@@ -21,3 +21,3 @@

`Mojik.compose()`メソッドを呼び出します。引数には文字組を適用したい要素のCSSセレクターを渡します。
`Mojik.compose()`メソッドを呼び出します。引数には、文字組みを適用したい段落や見出しなどのCSSセレクターを渡します。

@@ -28,3 +28,3 @@ <script>

各アキ量は`mojik.css`で調整します。
各アキ量はCSSで調整します。

@@ -31,0 +31,0 @@ ```

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc