From 4401b7377f92eb8766578244acbae7b7cdfeceb8 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 19 May 2024 00:45:45 +0900 Subject: [PATCH] new macro parindent --- assets/mods/basegame/books/btex.xml | 1 + assets/mods/basegame/books/btex_ko.xml | 1 + lib/TerrarumSansBitmap.jar | 4 ++-- src/net/torvald/btex/BTeXParser.kt | 6 +++++- src/net/torvald/terrarum/tests/BTeXTest.kt | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/assets/mods/basegame/books/btex.xml b/assets/mods/basegame/books/btex.xml index 6d582cb8f..1e3a91087 100644 --- a/assets/mods/basegame/books/btex.xml +++ b/assets/mods/basegame/books/btex.xml @@ -234,6 +234,7 @@
  • thechapter — Chapter heading. Default: %1$s
  • chaptertype — Default style of the chapter tag. Default: 1
  • chapteronnewpage — Controls if a chapter must start on a new page. Put non-zero value to enable this behaviour. Default: 0
  • +
  • parindent — Controls the indentation size of the paragraphs. Default: 16
  • The argument key %1$s will be replaced into a number, Roman numerals, etc. diff --git a/assets/mods/basegame/books/btex_ko.xml b/assets/mods/basegame/books/btex_ko.xml index ac4526f59..cbbd96695 100644 --- a/assets/mods/basegame/books/btex_ko.xml +++ b/assets/mods/basegame/books/btex_ko.xml @@ -217,6 +217,7 @@

  • thechapter — 장 제목 번호. 기본값: %1$s
  • chaptertypechapter 태그의 기본 스타일. 기본값: 1
  • chapteronnewpage — 새 페이지에서 장이 시작되게 하기. 활성화하려면 0이 아닌 임의의 값을 넣을 것. 기본값: 0
  • +
  • parindent — 문단의 들여쓰기 크기를 조절함. 기본값: 16
  • 매개변수인 %1$s는 각 제목의 type 속성에 따라 적절한 숫자로 치환된다.

    diff --git a/lib/TerrarumSansBitmap.jar b/lib/TerrarumSansBitmap.jar index 6e4e4afe8..553627f16 100644 --- a/lib/TerrarumSansBitmap.jar +++ b/lib/TerrarumSansBitmap.jar @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d432622f0d985325d7cc63321040032d72fcd3ac32f724d0a78b8f7de8bce782 -size 207366 +oid sha256:d75125eff82a33a69b6bc7c73dc6289b4e3db0725ead99dbd49cc7a8582c7563 +size 207410 diff --git a/src/net/torvald/btex/BTeXParser.kt b/src/net/torvald/btex/BTeXParser.kt index e5c605175..1e7a23a18 100644 --- a/src/net/torvald/btex/BTeXParser.kt +++ b/src/net/torvald/btex/BTeXParser.kt @@ -133,6 +133,7 @@ object BTeXParser { "thechapter" to "%1\$s", "chaptertype" to "1", "chapteronnewpage" to "0", + "parindent" to "16" ) private fun invokeMacro(name: String, vararg args: String): String { @@ -1398,11 +1399,14 @@ object BTeXParser { val penultTag = tagHistory.getOrNull(tagHistory.lastIndex - 1) val thePar = paragraphBuffer.toString().trim() + val indentSize = macrodefs["parindent"]!!.toInt() + val indent = if (indentSize > 0) spacingBlockToString(indentSize) else "" + val text = // DON't indent on centering context if (tagStack.contains("CENTER") || tagStack.contains("FULLPAGEBOX")) thePar // indent the second+ pars (or don't indent first par after cpt/sect, anonbreak and br) - else if (siblingIndex > 1 && penultTag != "ANONBREAK" && penultTag != "BR") "\uDBBF\uDFDF$thePar" + else if (siblingIndex > 1 && penultTag != "ANONBREAK" && penultTag != "BR") "$indent$thePar" // if the very first tag within the MANUSCRIPT is par (i.e. no chapter), create a "virtual" chapter else if (penultTag == "MANUSCRIPT") "\n\n$thePar" // else, print the text normally diff --git a/src/net/torvald/terrarum/tests/BTeXTest.kt b/src/net/torvald/terrarum/tests/BTeXTest.kt index f443a5874..a7051b9f7 100644 --- a/src/net/torvald/terrarum/tests/BTeXTest.kt +++ b/src/net/torvald/terrarum/tests/BTeXTest.kt @@ -4,7 +4,6 @@ import com.badlogic.gdx.ApplicationAdapter import com.badlogic.gdx.Gdx import com.badlogic.gdx.Input import com.badlogic.gdx.InputAdapter -import com.badlogic.gdx.InputProcessor import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration import com.badlogic.gdx.graphics.Color @@ -39,6 +38,7 @@ class BTeXTest : ApplicationAdapter() { // val filePath = "literature/en/daniel_defoe_robinson_crusoe.xml" // val filePath = "literature/ruRU/anton_chekhov_palata_no_6.xml" // val filePath = "literature/koKR/yisang_nalgae.xml" +// val filePath = "literature/koKR/yisang_geonchukmuhanyukmyeongakche.xml" private lateinit var document: BTeXDocument