From 84ea79b069758f405a52af06ba25a23609064b89 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 25 Mar 2024 02:54:21 +0900 Subject: [PATCH] justified typesetting wip --- PUA_allocation_chart.xlsx | Bin 15991 -> 16878 bytes demotext_unaligned.txt | 123 ++++++ .../torvald/terrarumsansbitmap/MovableType.kt | 303 ++++++++++++++ .../gdx/TerrarumSansBitmap.kt | 393 +++++++++++------- testing.PNG | Bin 50701 -> 131281 bytes testtext.txt | 79 ++-- 6 files changed, 695 insertions(+), 203 deletions(-) create mode 100755 demotext_unaligned.txt create mode 100644 src/net/torvald/terrarumsansbitmap/MovableType.kt diff --git a/PUA_allocation_chart.xlsx b/PUA_allocation_chart.xlsx index 1a3b8508696731fc2b1a4ecb25d04aac460377e8..ee7f92854c9946e6b560310312d0af6fd4237fb4 100755 GIT binary patch literal 16878 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 diff --git a/demotext_unaligned.txt b/demotext_unaligned.txt new file mode 100755 index 0000000..933429e --- /dev/null +++ b/demotext_unaligned.txt @@ -0,0 +1,123 @@ +􏿆The bitmap font for games developers who seek good font that has real multilingual support, for free (as in freedom and without cost)􀀀 + +There are many bitmap fonts on the internet. You care for the multilingual support, but alas! most of them do not support your language, vector fonts take too much time to load, and even then their legibility suffers because screw built-in antialias. + +You somehow found a multilingual one, and it makes your text as if they came straight from an old computer terminal, and you say: + +“Well, better than nothing… no, it’s ugly.” + +You speak Japanese and wish to support it, but then このクソなfont only good for displaying Japanese, it’s not even truly multilingual, and their English look uncanny and inconsistent. + +Eventually you just mix different fonts together, and the results were always mildly infuriating. + +No more suffering. This font has everything you need. + +􏾐while􀀀 (isVisible(􏺟BAD_FONTS􀀀)) { + ripAndTear(􏺟BAD_FONTS􀀀).where { 􏺟GUTS􀀀 }; +} + +How multilingual? Real multilingual! + + 􏻬Ианҵоуп ақьаад, нусхур аҩырала, ҩ ҽшьаҟакла, иҧшӡоу анапҩырала􀀀 + 􏻬գրիչս վայր դրի, վեր կացա և պատրաստվում էի, որ քնեմ, երբ հանկարծ դռանս զանգակը հնչեց􀀀 + 􏻬ՄՇԱԿԻՉ ԿԱՄ ԿԵՆՏՐՈՆԱԿԱՆ ՄՇԱԿԻՉ ՀԱՆԳՈՒՅՑԸ ՀԱՆԴԻՍԱՆՈՒՄ Է ՀԱՄԱԿԱՐԳՉԻ ՍԱՐՔԱՎՈՐՈՒՄՆԵՐԻՑ􀀀 + 􏻬Zəfər, jaketini də papağını da götür, bu axşam hava çox soyuq olacaq􀀀 + 􏻬আমি কাঁচ খেতে পারি, তাতে আমার কোনো ক্ষতি হয় না। 􀀀 + 􏻬󿿁Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче󿿀􀀀 + 􏻬ᎠᏍᎦᏯᎡᎦᎢᎾᎨᎢᎣᏍᏓᎤᎩᏍᏗᎥᎴᏓᎯᎲᎢᏔᎵᏕᎦᏟᏗᏖᎸᎳᏗᏗᎧᎵᎢᏘᎴᎩ ᏙᏱᏗᏜᏫᏗᏣᏚᎦᏫᏛᏄᏓᎦᏝᏃᎠᎾᏗᎭᏞᎦᎯᎦᏘᏓᏠᎨᏏᏕᏡᎬᏢᏓᏥᏩᏝᎡᎢᎪᎢ􀀀 + 􏻬ᎠᎦᏂᏗᎮᎢᎫᎩᎬᏩᎴᎢᎠᏆᏅᏛᎫᏊᎾᎥᎠᏁᏙᎲᏐᏈᎵᎤᎩᎸᏓᏭᎷᏤᎢᏏᏉᏯᏌᏊ ᎤᏂᏋᎢᏡᎬᎢᎰᏩᎬᏤᎵᏍᏗᏱᎩᎱᎱᎤᎩᎴᎢᏦᎢᎠᏂᏧᏣᏨᎦᏥᎪᎥᏌᏊᎤᎶᏒᎢᎢᏡᎬᎢ􀀀 + 􏻬ᎹᎦᎺᎵᏥᎻᎼᏏᎽᏗᏩᏂᎦᏘᎾᎿᎠᏁᎬᎢᏅᎩᎾᏂᎡᎢᏌᎶᎵᏎᎷᎠᏑᏍᏗᏪᎩ ᎠᎴ ᏬᏗᏲᏭᎾᏓᏍᏓᏴᏁᎢᎤᎦᏅᏮᏰᎵᏳᏂᎨᎢ􀀀 + 􏻬Příliš žluťoučký kůň úpěl ďábelské ódy􀀀 + 􏻬Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon􀀀 + 􏻬PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS􀀀 + 􏻬hƿæt ƿe ᵹardena inᵹear ꝺaᵹum þeoꝺ cynninᵹa þꞃym ᵹeꝼꞃumon􀀀 + 􏻬Victor jagt zwölf Boxkämpfer quer über den großen Sylter Deich GROẞEN GROẞE􀀀 + 􏻬ζαφείρι δέξου πάγκαλο, βαθῶν ψυχῆς τὸ σῆμα􀀀 + 􏻬ΔΙΑΦΥΛΆΞΤΕ ΓΕΝΙΚΆ ΤΗ ΖΩΉ ΣΑΣ ΑΠΌ ΒΑΘΕΙΆ ΨΥΧΙΚΆ ΤΡΑΎΜΑΤΑ􀀀 + 􏻬სწრაფი ყავისფერი მელა გადაახტა ზარმაც ძაღლს ᲘᲜᲢᲔᲚ ᲞᲔᲜᲢᲘᲣᲛᲘ ᲛᲘᲙᲠᲝᲞᲠᲝᲪᲔᲡᲝᲠᲘ􀀀 + 􏻬ऋषियों को सताने वाले दुष्ट राक्षसों के राजा रावण का सर्वनाश करने वाले विष्णुवतार भगवान श्रीराम अयोध्या के महाराज दशरथ के􀀀 + 􏻬Kæmi ný öxi hér, ykist þjófum nú bæði víl og ádrepa􀀀 + 􏻬Ċuaiġ bé ṁórṡáċ le dlúṫspád fíoꝛḟinn trí hata mo ḋea-ṗoꝛcáin ḃig􀀀 + 􏻬あめつちほしそら やまかはみねたに くもきりむろこけ ひといぬうへすゑ ゆわさるおふせよ えの𛀁をなれゐて􀀀 + 􏻬トリナクコヱス ユメサマセ ミヨアケワタル ヒンカシヲ ソライロハエテ オキツヘニ ホフネムレヰヌ モヤノウチ􀀀 + 􏻬田居に出で 菜摘むわれをぞ 君召すと 求食り追ひゆく 山城の 打酔へる子ら 藻葉干せよ え舟繋けぬ􀀀 + 􏻬정 참판 양반댁 규수 큰 교자 타고 혼례 치른 날 하얬다 도럄직한 퀡봹퉪헰ꥸᅦퟗꥸᅦퟗᄋힳᆫㅗㅜㅑㄷ􀀀 + 􏻬Četri psihi faķīri vēlu vakarā zāģēja guļbūvei durvis, fonā šņācot mežam􀀀 + 􏻬Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą􀀀 + 􏻬Ѕидарски пејзаж: шугав билмез со чудење џвака ќофте и кељ на туѓ цех􀀀 + 􏻬Щётканы фермд пийшин цувъя. Бөгж зогсч хэльюү􀀀 + 􏻬Pchnąć w tę łódź jeża lub ośm skrzyń fig􀀀 + 􏻬Înjurând pițigăiat, zoofobul comandă vexat whisky și tequila􀀀 + 􏻬Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства􀀀 + 􏻬अद्वैतामृवर्षिणीं भगवतीमष्टादशाध्यायिनीम् अम्ब त्वामनुसन्दधामि भगवद्गीते भवद्वेषिणीम् ॥􀀀 + 􏻬󿿂Ајшо, лепото и чежњо, за љубав срца мога дођи у Хаџиће на кафу󿿀􀀀 + 􏻬ᮙᮛᮔᮨᮂᮔ ᮓᮤᮘᮨᮛᮨ ᮃᮊᮜ᮪ ᮏᮩᮀ ᮠᮒᮨ ᮔᮥᮛᮔᮤ, ᮎᮙ᮪ᮕᮥᮁ-ᮌᮅᮜ᮪ ᮏᮩᮀ ᮞᮞᮙᮔ ᮃᮚ ᮓᮤᮔ ᮞᮥᮙᮔᮨᮒ᮪ ᮓᮥᮓᮥᮜᮥᮛᮔ᮪􀀀 + 􏻬Jovencillo emponzoñado de whisky: ¡qué figurota exhibe!􀀀 + 􏻬எழுத்து வடிவங்களுக்கு வார்த்தைகள் மற்றும் வாக்கியங்கள் போலவே தொனி, ஒலி பண்பு, தன்மை உண்டு􀀀 + 􏻬นายสังฆภัณฑ์ เฮงพิทักษ์ฝั่ง ผู้เฒ่าซึ่งมีอาชีพเป็นฅนขายฃวด ถูกตำรวจปฏิบัติการจับฟ้องศาล ฐานลักนาฬิกาคุณหญิงฉัตรชฎา ฌานสมาธิ􀀀 + 􏻬Pijamalı hasta yağız şoföre çabucak güvendi􀀀 + 􏻬Жебракують філософи при ґанку церкви в Гадячі, ще й шатро їхнє п’яне знаємо􀀀 + 􏻬Do bạch kim rất quý nên sẽ dùng để lắp vô xương􀀀 + 􏻬日堀油告観観藤村抄海評業庁経賃室弁市。太撮収改売週法所何都慣次現。価紙一無三洋日話転手治稿載末替付致治。􀀀 + 􏻬[pʰnɣɬɥi.m͡ŋχɫʍɨnaɸ.cθʊɫɯ.ɹɨɫʏ͡ɛx.ɯ͡ɣaxɲaɣɫ.ɸtʰɑɣɴ]􀀀 + 􏻬⠑⠥⠊⠵⠀⠟⠫⠒⠵⠀⠓⠗⠎⠉⠂⠀⠠⠊⠗⠘⠍⠓⠎⠀⠨⠣⠩⠐⠥⠍⠑⠱⠀⠈⠪⠀⠨⠷⠎⠢⠈⠧⠀⠈⠏⠒⠐⠕⠝⠀⠕⠌⠎⠀⠊⠿⠊⠪⠶⠚⠊􀀀 + +􏃯Features:􀀀 + + 􏿿Ever heard of « Guillemets »? You speak „Nederlands” or „Deutsch“? ”suomi”? 「日本語」しゃべる?或《中文》?􀀀 + +􎳌Multilingual brackets; these are the most basic things, right?􀀀 + + 􏋶99406 91902 59186 29182 45814 57862 34368 08240􀀀 + 􏋶31485 65379 04348 28952 42927 26157 42615 39526􀀀 + +􎳌Fixed-width numbers, because number-crunching matters􀀀 + + 􏼀ᚱ􏼐ᛂ􏼠ᚴ􏼰ᛋ􏽀ᛂ􏽐ᛋ􏽠ᛏ􏽰ᛋ􏾀ᚮ􏾐ᚾ􏾠ᛔ􏾰ᚢ􏿀ᛏ􏿐ᛚ􏿠ᚮ􏿰ᛋ􏻰᛬􏷰ᚱ􏳰ᛂ􏯰ᚴ􏫰ᛋ􏧰ᛋ􏣰ᚢ􏟰ᚼ􏛰ᚾ􏗰ᚢ􏓰ᛘ􏏰ᚢ􏋰ᛚ􏇰ᚾ􏃰ᛏ􏃱ᚮ􏃲᛬􏃳ᛏ􏃴ᚮ􏃵ᛋ􏃶ᛁ􏃷ᚮ􏃸ᚵ􏃹ᛂ􏃺ᚢ􏃻ᛏ􏃼ᚮ􏃽ᚱ􏃾ᛘ􏃿ᛔ􏃯ᚱ􏃟ᛂ􏃏ᚴ􏂿ᛋ􏂯ᛏ􏂟᛭􏂏ᛋ􏁿ᚢ􏁯ᚼ􏁟ᚾ􏁏ᚢ􏀿ᛋ􏀯ᛘ􏀟ᚮ􏀏ᛁ􏄏ᚵ􏈏ᚾ􏌏ᛁ􏐏ᛂ􏔏ᛏ􏘏ᚮ􏜏ᛑ􏠏᛭􏤏ᚵ􏨏ᛂ􏬏ᚢ􏰏ᛏ􏴏ᚮ􏸏ᚱ􀀀 + +􎳌Colour-code that supports 4096 colours via 4 bit RGB􀀀 + + 􏿿󿿁Щиглецът се яде само пържен в юфка без чушки и хвойна󿿀 (Bulgarian)􀀀 + 􏿿󿿂Љубазни фењерџија чађавог лица хоће да ми покаже штос󿿀 (Serbian)􀀀 + 􏿿Разъяренный чтец эгоистично бьёт пятью жердями шустрого фехтовальщика (Russian)􀀀 + +􎳌Control characters to support Bulgarian and Serbian letter shapes on the fly􀀀 + + 􏿿Press  to pay respects—or is it , or …􀀀 + +􎳌Custom symbols for video games􀀀 + + 􏿿Can you distinguish following dashes: - – — - – — – - ――――――――――― 48–63 48-63􀀀 + +􎳌For all those dash-pedants, we have en-dash, em-dash, and even horizontal bars!􀀀 + + 􏿿5¹⁹⁄₃₂ inch is 142.1 mm · (C₂F₄)ₙ is godly · Error = MoreCode²􀀀 + 􏿿NOTE: we don’t do fractions. 142¹⁄₁₀ mm is illegal!􀀀 + +􎳌Did you know Unicode supports arbitrary fractions? Actually I didn’t… as they abused super/subscripts!􀀀 + + 􏿿ᄋᆡ급 일 ᄭᅡᄃᆞᆰ에 영국 ᄒᆞ고 불난셔 ᄒᆞ고 ᄃᆡ단이 시비가 잇슬 모양 인ᄃᆡ􀀀 + 􏿿일본 농샹공부에셔 젼긔학 학ᄉᆞ 셋ᄉᆞᆯ 미국과 구라파로 보내셔 젼화 쓰ᄂᆞᆫ 법을 더ᄇᆡ호게 ᄒᆞ더라􀀀 + 􏿿일쳔 구ᄇᆡᆨ년에 불난셔 셔울 파리스에 만국 박남회를 버릴터 인ᄃᆡ 각국이 다 물화와 졔조품을 거긔 보낼터이더라􀀀 + +􎳌Rejoice, now we can render Old Korean in a correct way!􀀀 + +􏃯Supported Unicode Blocks:􀀀 + + Basic Latin Latin-1 Supplement Latin Extended-A Latin Extended-B IPA Extensions Spacing Modifier Letters + Combining Diacritical Marks Greek and Coptic􏿆ᴱ􀀀 Cyrillic􏿆ᴭ􀀀 Cyrillic Supplement􏿆ᴭ􀀀 Armenian Devanagari + Bengali􏿆ᶠⁱ􀀀 Tamil Thai Georgian􏿆ჼ􀀀 Hangul Jamo Cherokee􏿆⁷􀀀 Runic Sundanese Georgian Extended + Sundanese Supplement Phonetic Extensions Phonetic Extensions Supplement Latin Extended Additional + Greek Extended General Punctuations Superscripts and Subscripts Currency Symbols Letterlike Symbols + Braile Patterns Latin Extended-C CJK Symbols and Punctuation Hiragana Katakana + Hangul Compatibility Jamo Katakana Phonetic Extensions CJK Unified Ideographs Extension A􏿆¹²·¹􀀀 + CJK Unified Ideographs􏿆⁶􀀀 Latin Extended-D Hangul Jamo Extended-A Hangul Syllables + Hangul Jamo Extended-B Halfwidth and Fullwidth Forms Kana Supplement􏿆⁹􀀀 Enclosed Alphanumeric Supplement + + 􏿆ᴭ􀀀 No support for archæic letters 􏿆ᴱ􀀀 No support for Coptic + 􏿆ᶠⁱ􀀀  No support for ligatures 􏿆ჼ􀀀 Mkhedruli only + 􏿆⁶􀀀 􏿆⁷􀀀 􏿆⁹􀀀 􏿆¹²·¹􀀀 Up to the specified Unicode version + +GitHub’s issue page is open! You can report any 􏽕errors􀀀, or leave 􏽕suggestions􀀀. You can help this font to be more versatile. (for more languages, more frameworks) 􏽕Clone􀀀 this repo, make changes, and make a 􏽕pull request􀀀! I appreciate any and all supports. + +� 􎳌文字化け!􀀀 � \ No newline at end of file diff --git a/src/net/torvald/terrarumsansbitmap/MovableType.kt b/src/net/torvald/terrarumsansbitmap/MovableType.kt new file mode 100644 index 0000000..736a181 --- /dev/null +++ b/src/net/torvald/terrarumsansbitmap/MovableType.kt @@ -0,0 +1,303 @@ +package net.torvald.terrarumsansbitmap + +import com.badlogic.gdx.graphics.g2d.Batch +import com.badlogic.gdx.utils.Disposable +import net.torvald.terrarumsansbitmap.gdx.CodepointSequence +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap.Companion.getHash +import net.torvald.terrarumsansbitmap.gdx.TerrarumSansBitmap.Companion.TextCacheObj +import kotlin.math.ceil +import kotlin.math.pow +import kotlin.math.round + +/** + * Created by minjaesong on 2024-03-24. + */ +class MovableType( + val font: TerrarumSansBitmap, + val inputText: CodepointSequence, + val width: Int, + internal val isNull: Boolean = false +): Disposable { + + var height = 0; private set + internal val hash: Long = inputText.getHash() + private var disposed = false + private val lines = ArrayList>() + + override fun dispose() { + if (!disposed) { + disposed = true + lines.forEach { + it.forEach { + it.block.dispose() + } + } + } + } + + // perform typesetting + init { if (inputText.isNotEmpty() && !isNull) { + + if (width < 100) throw IllegalArgumentException("Width too narrow; width must be at least 100 pixels (got $width)") + + val inputCharSeqsTokenised = inputText.tokenise() + val inputWords = inputCharSeqsTokenised.map { + val seq = if (it.isEmpty()) + CodepointSequence(listOf(0x20)) + else + it + + seq.add(0, 0) + seq.add(0) + + font.createTextCache(CodepointSequence(seq)) + } + // list of [ word, word, \n, word, word, word, ... ] + + println("Length of input text: ${inputText.size}") + println("Token size: ${inputCharSeqsTokenised.size}") + println("Paper width: $width") + + var currentLine = ArrayList() + var wordCount = 0 + + fun dequeue() { + wordCount += 1 + } + + fun flush() { +// println("\n Anchors [$wordCount] =${" ".repeat(if (wordCount < 10) 3 else if (wordCount < 100) 2 else 1)}${currentLine.map { it.posX }.joinToString()}\n") + + // flush the line + lines.add(currentLine) + currentLine = ArrayList() + } + + fun justifyAndFlush(lineWidthNow: Int, thisWordObj: TextCacheObj, thisWord: TerrarumSansBitmap.Companion.ShittyGlyphLayout) { + val thislineEndsWithHangable = hangable.contains(currentLine.last().block.glyphLayout!!.textBuffer.penultimate()) + val nextWordEndsWithHangable = hangable.contains(thisWordObj.glyphLayout!!.textBuffer.penultimate()) + + val scoreForWidening = (width - (lineWidthNow - if (thislineEndsWithHangable) hangWidth else 0)).toFloat() + val thisWordWidth = thisWord.width - if (nextWordEndsWithHangable) hangWidth else 0 + val scoreForAddingWordThenTightening0 = lineWidthNow + spaceWidth + thisWordWidth - width + val scoreForAddingWordThenTightening = penaliseTightening(scoreForAddingWordThenTightening0) + + // if adding word and contracting is better (has LOWER score), add the word + if (scoreForAddingWordThenTightening < scoreForWidening) { + currentLine.add(Block(lineWidthNow + spaceWidth, thisWordObj)) + // remove this word from the list of future words + dequeue() + } + + val numberOfWords = currentLine.size + + // continue with the widening/contraction + val moveDeltas = IntArray(numberOfWords) + val finalScore = minOf(scoreForWidening, scoreForAddingWordThenTightening0.toFloat()) + if (numberOfWords > 1) { + val moveAmountsByWord = coalesceIndices(sortWordsByPriority(currentLine, round(finalScore).toInt())) + for (i in 1 until moveDeltas.size) { + moveDeltas[i] = moveDeltas[i - 1] + moveAmountsByWord.getOrElse(i) { 0 } + } + } + + + // widen: 1, tighten: -1 + val operation = if (scoreForWidening == 0f && scoreForAddingWordThenTightening == 0f) 0 + else if (scoreForWidening < scoreForAddingWordThenTightening) 1 + else -1 + + val widthOld = currentLine.last().let { it.posX + it.block.glyphLayout!!.width } + + val anchorsOld = currentLine.map { it.posX } + + // apply the operation + moveDeltas.forEachIndexed { index, it -> + val delta = operation * it + currentLine[index].posX += delta + } + + val anchorsNew = currentLine.map { it.posX } + + val widthNew = currentLine.last().let { it.posX + it.block.glyphLayout!!.width } + + val lineHeader = "Strategy [L ${lines.size}]: " + val lineHeader2 = " ".repeat(lineHeader.length) + println(lineHeader + (if (operation == 0) "Nop" else if (operation == 1) "Widen" else "Tighten") + + " (W $scoreForWidening, T $scoreForAddingWordThenTightening; $finalScore), " + + "width: $widthOld -> $widthNew, wordCount: $numberOfWords, " + + "thislineEndsWithHangable: $thislineEndsWithHangable, nextWordEndsWithHangable: $nextWordEndsWithHangable") + println(lineHeader2 + "moveDelta: ${moveDeltas.map { it * operation }} (${moveDeltas.size})") + println(lineHeader2 + "anchors old: $anchorsOld (${anchorsOld.size})") + println(lineHeader2 + "anchors new: $anchorsNew (${anchorsNew.size})") + println() + + // flush the line + flush() + } + + var thisWordObj = inputWords[wordCount] + var thisWord = thisWordObj.glyphLayout!! + var thisWordStr = thisWord.textBuffer // ALWAYS starts and ends with \0 + var lineWidthNow = if (currentLine.isEmpty()) -spaceWidth else currentLine.last().let { it.posX + it.block.glyphLayout!!.width } + while (wordCount < inputWords.size) { + thisWordObj = inputWords[wordCount] + thisWord = thisWordObj.glyphLayout!! + thisWordStr = thisWord.textBuffer // ALWAYS starts and ends with \0 + lineWidthNow = if (currentLine.isEmpty()) -spaceWidth else currentLine.last().let { it.posX + it.block.glyphLayout!!.width } + +// println("Processing word [$wordCount] ${thisWordStr.joinToString("") { Character.toString(it.toChar()) }} ; \t\t${thisWordStr.joinToString(" ") { it.toHex() }}") + + // if the word is \n + if (thisWordStr.size == 3 && thisWordStr[1] == 0x0A) { + println("Strategy [L ${lines.size}]: (line is shorter than the paper width)") + + // flush the line + flush() + + // remove the word from the list of future words + dequeue() + } + // decide if it should add last word and make newline, or make newline then add the word + // would adding the current word would cause line overflow? + else if (lineWidthNow + spaceWidth + thisWord.width >= width) { + justifyAndFlush(lineWidthNow, thisWordObj, thisWord) + } + // typeset the text normally + else { + currentLine.add(Block(lineWidthNow + spaceWidth, thisWordObj)) + + // remove the word from the list of future words + dequeue() + } + } // end while + + println("Strategy [L ${lines.size}]: (end of the text)") + flush() + + + height = lines.size + } } + + fun draw(batch: Batch, x: Int, y: Int, lineStart: Int = 0, linesToDraw: Int = -1, lineHeight: Int = 24) = + draw(batch, x.toFloat(), y.toFloat(), lineStart, linesToDraw, lineHeight) + + fun draw(batch: Batch, x: Float, y: Float, lineStart: Int = 0, linesToDraw: Int = 2147483647, lineHeight: Int = 24) { + if (isNull) return + + lines.subList(lineStart, minOf(lines.size, lineStart + linesToDraw)).forEachIndexed { lineNum, lineBlocks -> +// println("Line [${lineNum+1}] anchors: "+ lineBlocks.map { it.posX }.joinToString()) + + lineBlocks.forEach { + batch.draw(it.block.glyphLayout!!.linotype, x + it.posX - 16, y + lineNum * lineHeight) + } + +// font.draw(batch, "I", x, y + lineNum * lineHeight + 14) + } + } + + private data class Block(var posX: Int, val block: TextCacheObj) // a single word + + companion object { + private val periods = listOf(0x2E, 0x3A, 0x21, 0x3F, 0x2026, 0x3002).toHashSet() + private val quots = listOf(0x22, 0x27, 0xAB, 0xBB, 0x2018, 0x2019, 0x201A, 0x201B, 0x201C, 0x201D, 0x201E, 0x201F, 0x2039, 0x203A).toHashSet() + private val commas = listOf(0x2C, 0x3B, 0x3001).toHashSet() + private val hangable = listOf(0x2E, 0x2C).toHashSet() + private val spaceWidth = 5 + private val hangWidth = 6 + + private fun Int.toHex() = "U+${this.toString(16).padStart(4, '0').toUpperCase()}" + + /** + * @return indices of blocks in the `currentLine` + */ + private fun sortWordsByPriority(currentLine: List, length: Int): List { + // priority: + // 1. words ending with period/colon/!/?/ellipses + // 2. words ending or starting with quotation marks or <>s + // 3. words ending with comma or semicolon + // 4. words + + val ret = ArrayList() + + while (ret.size < length) { + // give "score" then sort by it to give both priority and randomisation + val sackOfIndices = (1 until currentLine.size).map { + val thisWord = currentLine[it].block.glyphLayout!!.textBuffer + +// println(" Index word [$it/$length]: ${thisWord.joinToString("") { Character.toString(it.toChar()) }} ; \t\t${thisWord.joinToString(" ") { it.toHex() }}") + + val thisWordEnd = thisWord[thisWord.lastIndex] + val thisWordFirst = thisWord[0] + + val priority = if (periods.contains(thisWordEnd)) + 1 + else if (quots.contains(thisWordEnd) or quots.contains(thisWordFirst)) + 2 + else if (commas.contains(thisWordEnd)) + 3 + else + 255 + + it to (Math.random() * 65535).toInt().or(priority.shl(16)) + }.sortedBy { it.second }.map { it.first } + + ret.addAll(sackOfIndices) + } + + if (ret.isEmpty()) return emptyList() + return ret.toList().subList(0, length) + } + + // return: [ job count for 0th word, job count for 1st word, job count for 2nd word, ... ] + private fun coalesceIndices(listOfJobs: List): IntArray { + if (listOfJobs.isEmpty()) return IntArray(0) + +// println(" sample: ${listOfJobs.joinToString()}") + + val ret = IntArray(listOfJobs.maxOrNull()!! + 1) + listOfJobs.forEach { + ret[it] += 1 + } + +// println(" ret: ${ret.joinToString()}") + + return ret + } + + private fun CodepointSequence.tokenise(): MutableList { + val tokens = mutableListOf() + var currentToken = mutableListOf() + + this.forEach { + if (it == 0x20 || it == 0x0A) { + tokens.add(CodepointSequence(currentToken)) + if (it != 0x20) + tokens.add(CodepointSequence(listOf(it))) + currentToken = mutableListOf() + } + else { + currentToken.add(it) + } + } + + // Add the last token if it's not empty + if (currentToken.isNotEmpty()) { + tokens.add(CodepointSequence(currentToken)) + } + + return tokens + } + + private fun java.util.ArrayList.penultimate(): E { + return this[this.size - 2] + } + + private fun penaliseTightening(score: Int): Float = if (score < 0f) + -(-score).toFloat().pow(1.05f) + else + score.toFloat().pow(1.05f) + } +} + diff --git a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt index 8fe2a63..baf05f1 100755 --- a/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt +++ b/src/net/torvald/terrarumsansbitmap/gdx/TerrarumSansBitmap.kt @@ -32,6 +32,7 @@ import com.badlogic.gdx.graphics.g2d.* import com.badlogic.gdx.utils.GdxRuntimeException import net.torvald.terrarumsansbitmap.DiacriticsAnchor import net.torvald.terrarumsansbitmap.GlyphProps +import net.torvald.terrarumsansbitmap.MovableType import java.io.BufferedOutputStream import java.io.FileOutputStream import java.util.* @@ -122,13 +123,14 @@ class TerrarumSansBitmap( private var textCacheCap = 0 private val textCache = HashMap(textCacheSize * 2) + private var typesetCacheCap = 0 + private val typesetCache = HashMap(textCacheSize) + /** * Insertion sorts the last element fo the textCache */ - private fun addToCache(text: CodepointSequence, linotype: Texture, width: Int) { - val cacheObj = TextCacheObj(text.getHash(), ShittyGlyphLayout(text, linotype, width)) - - if (textCacheCap < textCacheSize) { + private fun addToCache(cacheObj: TextCacheObj) { + if (textCacheCap < textCacheSize * 2) { textCache[cacheObj.hash] = cacheObj textCacheCap += 1 } @@ -141,10 +143,28 @@ class TerrarumSansBitmap( } } + private fun addToTypesetCache(cacheObj: MovableType) { + if (typesetCacheCap < textCacheSize) { + typesetCache[cacheObj.hash] = cacheObj + typesetCacheCap += 1 + } + else { + // randomly eliminate one + typesetCache.remove(typesetCache.keys.random())!!.dispose() + + // add new one + typesetCache[cacheObj.hash] = cacheObj + } + } + private fun getCache(hash: Long): TextCacheObj? { return textCache[hash] } + private fun getTypesetCache(hash: Long): MovableType? { + return typesetCache[hash] + } + private fun getColour(codePoint: Int): Int { // input: 0x10F_RGB, out: RGBA8888 if (colourBuffer.containsKey(codePoint)) @@ -244,6 +264,7 @@ class TerrarumSansBitmap( if (isVariable) buildWidthTable(pixmap, codeRange[index], if (isExtraWide) 32 else 16) buildWidthTableFixed() + buildWidthTableInternal() /*if (!noShadow) { @@ -333,141 +354,24 @@ class TerrarumSansBitmap( val charSeqNotBlank = codepoints.size > 0 // determine emptiness BEFORE you hack a null chars in val newCodepoints = codepoints - fun Int.flipY() = this * if (flipY) 1 else -1 - // always draw at integer position; this is bitmap font after all val x = Math.round(x) val y = Math.round(y + (lineHeight - 20 * scale) / 2) val charSeqHash = newCodepoints.getHash() - var renderCol = -1 // subject to change with the colour code - if (charSeqNotBlank) { - val cacheObj = getCache(charSeqHash) + var cacheObj = getCache(charSeqHash) if (cacheObj == null || flagFirstRun) { - textBuffer = newCodepoints - - val posmap = buildPosMap(textBuffer) - - flagFirstRun = false - - //dbgprn("text not in buffer: $charSeq") - - - //textBuffer.forEach { print("${it.toHex()} ") } - //dbgprn() - - -// resetHash(charSeq, x.toFloat(), y.toFloat()) - - val textWidth = posmap.width - val _pw = textWidth + (linotypePaddingX * 2) - val _ph = H + (linotypePaddingY * 2) - if (_pw < 0 || _ph < 0) throw RuntimeException("Illegal linotype dimension (w: $_pw, h: $_ph)") - val linotypePixmap = Pixmap(_pw, _ph, Pixmap.Format.RGBA8888) - - - var index = 0 - while (index <= textBuffer.lastIndex) { - try { - var c = textBuffer[index] - val sheetID = getSheetType(c) - - val (sheetX, sheetY) = - if (index == 0) getSheetwisePosition(0, c) - else getSheetwisePosition(textBuffer[index - 1], c) - val hash = getHash(c) // to be used with Bad Transmission Modifier - - if (isColourCode(c)) { - if (c == 0x100000) { - renderCol = -1 - } - else { - renderCol = getColour(c) - } - } - else if (sheetID == SHEET_HANGUL) { - // Flookahead for {I, P, F} - - val cNext = if (index + 1 < textBuffer.size) textBuffer[index + 1] else 0 - val cNextNext = if (index + 2 < textBuffer.size) textBuffer[index + 2] else 0 - - val hangulLength = if (isHangulJongseong(cNextNext) && isHangulJungseong(cNext)) - 3 - else if (isHangulJungseong(cNext)) - 2 - else - 1 - - val (indices, rows) = toHangulIndexAndRow(c, cNext, cNextNext) - - val (indexCho, indexJung, indexJong) = indices - val (choRow, jungRow, jongRow) = rows - val hangulSheet = sheets[SHEET_HANGUL] - - - - val choTex = hangulSheet.get(indexCho, choRow) - val jungTex = hangulSheet.get(indexJung, jungRow) - val jongTex = hangulSheet.get(indexJong, jongRow) - - linotypePixmap.drawPixmap(choTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) - linotypePixmap.drawPixmap(jungTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) - linotypePixmap.drawPixmap(jongTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) - - - index += hangulLength - 1 - - } - else { - try { - val posY = posmap.y[index].flipY() + - if (sheetID == SHEET_UNIHAN) // evil exceptions - offsetUnihan - else if (sheetID == SHEET_CUSTOM_SYM) - offsetCustomSym - else 0 - - val posX = posmap.x[index] - val texture = sheets[sheetID].get(sheetX, sheetY) - - linotypePixmap.drawPixmap(texture, posX + linotypePaddingX, posY + linotypePaddingY, renderCol) - - - } - catch (noSuchGlyph: ArrayIndexOutOfBoundsException) { - } - } - - - index++ - } - catch (e: NullPointerException) { - System.err.println("Shit hit the multithreaded fan") - e.printStackTrace() - break - } - } - - - makeShadow(linotypePixmap) - - tempLinotype = Texture(linotypePixmap) - tempLinotype.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest) - - // put things into cache - //textCache[charSeq] = ShittyGlyphLayout(textBuffer, linotype!!) - addToCache(textBuffer, tempLinotype, textWidth) - linotypePixmap.dispose() - } - else { - textBuffer = cacheObj.glyphLayout!!.textBuffer - tempLinotype = cacheObj.glyphLayout!!.linotype + cacheObj = createTextCache(newCodepoints) + addToCache(cacheObj) } + textBuffer = cacheObj.glyphLayout!!.textBuffer + tempLinotype = cacheObj.glyphLayout!!.linotype + batch.draw(tempLinotype, (x - linotypePaddingX).toFloat(), (y - linotypePaddingY).toFloat() + (if (flipY) (tempLinotype.height) else 0) * scale, @@ -479,6 +383,169 @@ class TerrarumSansBitmap( return null } + internal fun createTextCache(newCodepoints: CodepointSequence): TextCacheObj { + fun Int.flipY() = this * if (flipY) 1 else -1 + + var renderCol = -1 // subject to change with the colour code + + val textBuffer = newCodepoints + + val posmap = buildPosMap(textBuffer) + + flagFirstRun = false + + //dbgprn("text not in buffer: $charSeq") + + + //textBuffer.forEach { print("${it.toHex()} ") } + //dbgprn() + + +// resetHash(charSeq, x.toFloat(), y.toFloat()) + + val textWidth = posmap.width + val _pw = textWidth + (linotypePaddingX * 2) + val _ph = H + (linotypePaddingY * 2) + if (_pw < 0 || _ph < 0) throw RuntimeException("Illegal linotype dimension (w: $_pw, h: $_ph)") + val linotypePixmap = Pixmap(_pw, _ph, Pixmap.Format.RGBA8888) + + + var index = 0 + while (index <= textBuffer.lastIndex) { + try { + var c = textBuffer[index] + val sheetID = getSheetType(c) + + val (sheetX, sheetY) = + if (index == 0) getSheetwisePosition(0, c) + else getSheetwisePosition(textBuffer[index - 1], c) + val hash = getHash(c) // to be used with Bad Transmission Modifier + + if (isColourCode(c)) { + if (c == 0x100000) { + renderCol = -1 + } + else { + renderCol = getColour(c) + } + } + else if (sheetID == SHEET_HANGUL) { + // Flookahead for {I, P, F} + + val cNext = if (index + 1 < textBuffer.size) textBuffer[index + 1] else 0 + val cNextNext = if (index + 2 < textBuffer.size) textBuffer[index + 2] else 0 + + val hangulLength = if (isHangulJongseong(cNextNext) && isHangulJungseong(cNext)) + 3 + else if (isHangulJungseong(cNext)) + 2 + else + 1 + + val (indices, rows) = toHangulIndexAndRow(c, cNext, cNextNext) + + val (indexCho, indexJung, indexJong) = indices + val (choRow, jungRow, jongRow) = rows + val hangulSheet = sheets[SHEET_HANGUL] + + + + val choTex = hangulSheet.get(indexCho, choRow) + val jungTex = hangulSheet.get(indexJung, jungRow) + val jongTex = hangulSheet.get(indexJong, jongRow) + + linotypePixmap.drawPixmap(choTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) + linotypePixmap.drawPixmap(jungTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) + linotypePixmap.drawPixmap(jongTex, posmap.x[index] + linotypePaddingX, linotypePaddingY, renderCol) + + + index += hangulLength - 1 + + } + else { + try { + val posY = posmap.y[index].flipY() + + if (sheetID == SHEET_UNIHAN) // evil exceptions + offsetUnihan + else if (sheetID == SHEET_CUSTOM_SYM) + offsetCustomSym + else 0 + + val posX = posmap.x[index] + val texture = sheets[sheetID].get(sheetX, sheetY) + + linotypePixmap.drawPixmap(texture, posX + linotypePaddingX, posY + linotypePaddingY, renderCol) + + + } + catch (noSuchGlyph: ArrayIndexOutOfBoundsException) { + } + } + + + index++ + } + catch (e: NullPointerException) { + System.err.println("Shit hit the multithreaded fan") + e.printStackTrace() + break + } + } + + + makeShadow(linotypePixmap) + + val tempLinotype = Texture(linotypePixmap) + tempLinotype.setFilter(Texture.TextureFilter.Nearest, Texture.TextureFilter.Nearest) + + // make cache object + val cacheObj = TextCacheObj(textBuffer.getHash(), ShittyGlyphLayout(textBuffer, tempLinotype, textWidth)) + linotypePixmap.dispose() + + return cacheObj + } + + /** + * Typesets given string and returns the typesetted results, with which the desired text can be drawn on the screen. + * This method alone will NOT draw the text to the screen, use [MovableType.draw]. + */ + fun typesetParagraph(batch: Batch, charSeq: CharSequence, targetWidth: Int): MovableType = + typesetParagraphNormalised(batch, charSeq.toCodePoints(2), targetWidth.toFloat()) + /** + * Typesets given string and returns the typesetted results, with which the desired text can be drawn on the screen. + * This method alone will NOT draw the text to the screen, use [MovableType.draw]. + */ + fun typesetParagraph(batch: Batch, charSeq: CharSequence, targetWidth: Float): MovableType = + typesetParagraphNormalised(batch, charSeq.toCodePoints(2), targetWidth) + + + private val nullType = MovableType(this, "".toCodePoints(2), 0, true) + + /** + * Typesets given string and returns the typesetted results, with which the desired text can be drawn on the screen. + * This method alone will NOT draw the text to the screen, use [MovableType.draw]. + */ + fun typesetParagraphNormalised(batch: Batch, codepoints: CodepointSequence, targetWidth: Float): MovableType { + val charSeqNotBlank = codepoints.size > 0 // determine emptiness BEFORE you hack a null chars in + val newCodepoints = codepoints + + val charSeqHash = newCodepoints.getHash() + + if (charSeqNotBlank) { + var cacheObj = getTypesetCache(charSeqHash) + + if (cacheObj == null || flagFirstRun) { + cacheObj = MovableType(this, codepoints, targetWidth.toInt()) + addToTypesetCache(cacheObj) + } + + return cacheObj + } + else { + return nullType + } + } + override fun dispose() { super.dispose() @@ -681,7 +748,12 @@ class TerrarumSansBitmap( } - private val glyphLayout = GlyphLayout() + private fun buildWidthTableInternal() { + for (i in 0 until 16) { + glyphProps[MOVABLE_BLOCK_1 + i] = GlyphProps(i + 1) + glyphProps[MOVABLE_BLOCK_M1 + i] = GlyphProps(-i - 1) + } + } fun getWidth(text: String) = getWidthNormalised(text.toCodePoints()) fun getWidth(s: CodepointSequence) = getWidthNormalised(s.normalise()) @@ -946,7 +1018,10 @@ class TerrarumSansBitmap( } // basically an Unicode NFD with some additional flavours - private fun CodepointSequence.normalise(): CodepointSequence { + /** + * @param normaliseOption 1-full, 2-omit null filling + */ + private fun CodepointSequence.normalise(normaliseOption: Int = 1): CodepointSequence { val seq0 = CodepointSequence() val seq = CodepointSequence() val seq2 = CodepointSequence() @@ -1466,7 +1541,13 @@ class TerrarumSansBitmap( // println("seq5 = " + seq5.joinToString(" ") { it.toCh() }) - return seq5 + if (normaliseOption == 2) { + while (seq5.remove(0)) {} + return seq5 + } + else { + return seq5 + } } private fun dbgprnLig(i: Any) { if (false) println("[${this.javaClass.simpleName}] $i") } @@ -1511,11 +1592,17 @@ class TerrarumSansBitmap( * Note: CharSequence IS a String. java.lang.String implements CharSequence. * * Note to Programmer: DO NOT USE CHAR LITERALS, CODE EDITORS WILL CHANGE IT TO SOMETHING ELSE !! + * + * @param normaliseOption 0-don't, 1-full, 2-omit null filling */ - private fun CharSequence.toCodePoints(): CodepointSequence { + private fun CharSequence.toCodePoints(normaliseOption: Int = 1): CodepointSequence { val seq = CodepointSequence() this.forEach { seq.add(it.toInt()) } - return seq.normalise() + + return when (normaliseOption) { + 0 -> seq + else -> seq.normalise(normaliseOption) + } } private fun surrogatesToCodepoint(var0: Int, var1: Int): Int { @@ -1709,26 +1796,6 @@ class TerrarumSansBitmap( } - fun CodepointSequence.getHash(): Long { - val hashBasis = -3750763034362895579L - val hashPrime = 1099511628211L - var hashAccumulator = hashBasis - - try { - this.forEach { - hashAccumulator = hashAccumulator xor it.toLong() - hashAccumulator *= hashPrime - } - } - catch (e: NullPointerException) { - System.err.println("CodepointSequence is null?!") - e.printStackTrace() - } - - return hashAccumulator - } - - private fun CharSequence.crc32(): Int { val crc = CRC32() @@ -1968,6 +2035,25 @@ class TerrarumSansBitmap( companion object { + fun CodepointSequence.getHash(): Long { + val hashBasis = -3750763034362895579L + val hashPrime = 1099511628211L + var hashAccumulator = hashBasis + + try { + this.forEach { + hashAccumulator = hashAccumulator xor it.toLong() + hashAccumulator *= hashPrime + } + } + catch (e: NullPointerException) { + System.err.println("CodepointSequence is null?!") + e.printStackTrace() + } + + return hashAccumulator + } + private fun Boolean.toSign() = if (this) 1 else -1 /** @@ -2066,6 +2152,9 @@ class TerrarumSansBitmap( internal const val CHARSET_OVERRIDE_BG_BG = 0xFFFC1 internal const val CHARSET_OVERRIDE_SR_SR = 0xFFFC2 + internal const val MOVABLE_BLOCK_1 = 0xFFFF0 + internal const val MOVABLE_BLOCK_M1 = 0xFFFE0 + private val autoShiftDownOnLowercase = arrayOf( SHEET_DIACRITICAL_MARKS_VARW diff --git a/testing.PNG b/testing.PNG index 654a371986947573ed907c98ffbeeabd853f523a..791622b170799b9dcf293d076cba1cb9839c492f 100755 GIT binary patch literal 131281 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༃PPjcf7>no&G=7RzBsAe{8Rx)SX3$ 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 E05g(>PXGV_ literal 50701 zcmbSzXIPWzwsv&7j?N&0B5eyZBGriq2!XIik*FYulmMY92oXX+YJgB2_c&6MK?G?b zB4R+A2uXkdnHho5v#Eguh|*gUX`uwd_b_Mg^X>0C`&{Q--!I{PdCL2gwbp&FdzpCC z265!jsY4J5Pj(C?A@&2(p70sMD`3#b0FeD&Ao{^beE676eOzxy%iQqniOO~r-zC$&_y7bFU|9eLc%$&>6nNx&91ID`wfp~k@v82oWOo;PbekP7UG>~6A4q3s z+-kC0Mtjc+aNU^4qi}3oT%1(hk{iKlU>b`THeo?5+?vd?NBiWIfGwV7VThck+i~@~ z+4R@xJ41%CdOWrw5$aI6JFK{JTinv^qI5dn777~TAPAZHy|r>6B{ueu;~cv3n;I(R$;8W)lzjkx2KA&;#pTNXi(;-O}-YW#g^e3 zToQl2Rm{7l@N(v< z_S=>s>-@|4ESEqe7UfmeR!ZHS6ZgJ_!}kU~PRQUbIwMRL+J~z>yVe?*eN2QmqG`iw zD`R3~#(A-jvk;DJzWS_=?i^dcdv9r^3Z)?FkyfrAMj zf?_vao_Snfu%R_GXdqvRHMdO47-@*+K0DKEW~_o;Sx*z2)$gFI&~8}7JjOE6?W4t# zy3>3@po6eFeZthH8E@{-@9SrsUT8eeU|!_De6%1#r`(Kv4Mv{anp_@lvhbdmDNVnn!`h=zfH?HL zZ#zr3&()h^*{VS#wdQ08j4Q)P#og9z6%(_aeV7(JGom?i=IkFXs#}Y`-m1je#Y%&{ zk?`vJSd*W~V_(b=vebEC9%uQ&U+UzB-~{hTWc?VoD6*%cfZ#SouN_|(cF8Okurm)QU=9roXUACCSHtlZg6<+ohtRuhVX1$W`u1F^8N-&j z0M40=ndH$(6C{EYyWlP0y-QGDODGM}N3UYHXkm9Bj`htdxBO@;DGoPX)xF2w&Tn57 z4(nHVvGaUsA=XZ<=CIF<78=d%pRcW@B}Z0HUHPjhbvYc)^$J~dLKXS_H(OUEx* zJw02<3ogM5s;LPEez)RXsnqa`-BJIjX+b7Fq{M}!4vcm2%q3l2|9yj6*rsVl>u}Vg zvP4}np!vZ4f}xdRt@2%!Mt9?1czl1=3cu{)Ois)MOS+DFPuA?3qYzG)fFat!Q!{r6cyI!vDnnlbPirsZ3dCtDjnNAx)M~e*tWee>xheA~1oFJ)V+m2! z@ATTwu6i(~W$>*h4Z=7qZcwJ#hqAwDE8p4w`mq5~u^?>V_4m(6E1y9i#o1Z|w}Q?- z9RC%3?_Ztw9o1jI{$DvNKfQst`1o9pjji&xgG}U5j@1oKma;dz7u@6QNCaZj_C*4NAJF_)fGf@$CZt|a{1qrHN5!Cb)Q0da}HD2E(>R8XV*l7uG_-y z;JZ;y&2EF9+Z!EKel9(wkz3y6c=n8QQq;^1o>k|H<(gd8(LT-~jg=9s-s*E@bS{fA z9Xg#Tkb^`RxfK@?r{gOlGOYy5rAjETnSbr7I+7gJv-%ZIb2cFhJx*&>O79z^Z>%l1 zxmg7hSx9mCI(NL*u1=WA&d{JCA;TohfJxa!1A&e&e16nrZMe)?=-Sm+k`eSo{;i!; zN_&zid!k|?=+Rh+d)@Wep`-+jb4i z8U0Z@)H@PMv`+Eoob8U09ajv!uu(1b9otgTUJp-cpDXdk1;qy~VCaJBikQBQk!6oA zTNWYV2!#I%+r4RlU*`b-TxMP-1N_ucHInPDUxxkGsyJp|MPlhPovVl0d@&zaKfK_X<~Mk;(T*J#dBKcSxza3 zt;0`>0mhbD%D4%Wl3trNb-3smAS=l(O>$en7RDnv2L9@wwQFgIWG6-q8JZic%vS-E zBpz}vj*U6=WOAU9l0=ZJ>uN5e?jH9$qz^0_V#8e(S5JGL+1b@?=9?)h!wSN#gE8EY z1(_XR6e%r zg(N_Ln|2;0_0x$5Aiwc0fLoTxM*k7N@$b@PQd=rqL^I3e4{#wl_vXwI?_hYk2Xd%g)H~eCT{y zW}8paJ-W9I{{r};p#IoYt}^8XwQY6NdZ;4l*TNf}C3fg#s}(7Gf<6TgeR}&$+&E3+ zacLZ8(aUFPl35+j=@;E&^ojMOlRO-3aP-9}Vp+#mkoUU4>aeGZ4eOYz^}o8RJTA2# zt7!U(nM7_itx-AcpBmdRvl+kG9A+rB4j$&xYV@312_COX1&uh#yzVdRq4f;+pWVfm zArS2&W9z}s5^v@s;6GVuEcxB(iw-N2-&^(MA_Z%Iqzxk~5Gj3je`JrMCO9^lc>*I5 zEF`+2?>Wupma{Cd8JxRxBiF{)}t!cZ?)1`=e*FtJueBr$tT&r`BT}?$_>xPC27|fzIRVL|2i4ThS)kb;7g7#+InvDDAkn zGxAknr^&U$b8A(ORs9@dUWjq%0A)yzy+O#kE*i_khS#`jvWGVACHJl$gnX30Oo6NH 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

  • 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 diff --git a/testtext.txt b/testtext.txt index 13b4e76..ddfaf8e 100755 --- a/testtext.txt +++ b/testtext.txt @@ -1,55 +1,32 @@ -क क्क क्च क्त क्त्य क्त्र क्त्व क्थ क्न क्प क्प्र क्म क्य क्र क्ल क्व क्श क्ष क्ष्र क्ष्ण क्ष्म क्ष्म्य क्ष्य क्ष्व क्स -ख ख्य -ग ग्ग ग्ज ग्ज्य ग्ण ग्द ग्ध ग्ध्व ग्न ग्न्य ग्ब ग्भ ग्भ्य ग्म ग्य ग्र ग्र्य ग्ल ग्व -घ घ्न घ्र घ्व -ङ ङ्क ङ्क्त ङ्क्ष ङ्क्ष्व ङ्ख ङ्ख्य ङ्ग ङ्ग्य ङ्ग्र ङ्घ ङ्घ्र ङ्न ङ्म -च च्च च्च्य च्छ च्छ्र च्छ्व च्य -ज ज्ज ज्ज्ञ ज्ज्य ज्ज्व ज्ञ ज्म ज्य ज्र ज्व -ञ ञ्च ञ्छ ञ्ज ञ्ज्ञ ञ्श ञ्श्र ञ्श्व -ट ट्क ट्ट ट्प ट्य ट्श ट्स -ठ ठ्य -ड ड्ग ड्भ ड्य ड्र ड्व -ढ ढ्य -ण ण्ट ण्ठ ण्ड ण्ड्य ण्ड्र ण्ण ण्म ण्य ण्व -त त्क त्क्र त्क्व त्क्ष त्ख त्त त्त्य त्त्र त्त्व त्थ त्न त्न्य त्प त्प्र त्फ त्म त्म्य त्य त्र त्र्य त्व त्व्य त्स त्स्त त्स्त्र त्स्थ त्स्न त्स्म त्स्य त्स्र त्स्व -थ थ्य थ्व -द द्ग द्ग्र द्द द्द्य द्द्र द्द्व द्ध द्ध्य द्ध्र द्ध्व द्न द्ब द्ब्र द्भ द्भ्य द्भ्र द्म द्य द्र द्र्य द्व द्व्य द्व्र -ध ध्न ध्म ध्य ध्र ध्व ध्ह -न न्क न्क्र न्क्ल न्क्ष न्ख न्ग न्घ न्त न्त्य न्त्र न्त्र्य न्त्व न्त्स्य न्थ न्द न्द्य न्द्र न्द्व न्ध न्ध्य न्ध्र न्न न्न्य न्न्व न्प न्प्र न्फ न्ब न्ब्र न्भ न्भ्र - न्म न्य न्र न्व न्व्य न्स न्स्थ न्स्म न्स्व न्ह -प प्त प्त्व प्न प्म प्य प्र प्ल प्स प्स्य -ब ब्ज ब्द ब्ध ब्ध्व ब्य ब्र ब्व -भ भ्ण भ्य भ्र भ्व -म म्ण म्न म्प म्ब म्ब्य म्भ म्य म्र म्ल -य य्य य्व -र र्क र्क्ष्य र्ख र्ग र्ग्य र्ग्र र्घ र्घ्य र्ङ्ग र्च र्च्छ र्च्य र्छ र्ज र्ज्ञ र्ज्य र्ज्व र्ण र्ण्य र्त र्त्त र्त्म र्त्य र्त्र र्त्व र्त्स र्त्स्न्य र्थ र्थ्य र्द - र्द्ध र्द्य र्द्र र्द्व र्ध र्ध्न र्ध्म र्ध्य र्ध्र र्ध्व र्न र्न्य र्प र्ब र्ब्र र्भ र्भ्य र्भ्र र्म र्म्य र्य र्ल र्व र्व्य र्श र्श्व र्ष र्ष्ट र्ष्ण र्ष्य र्ह र्ह्य र्ह्र -ल ल्क ल्क्य ल्ग ल्प ल्ब ल्म ल्य ल्ल ल्व -व व्य व्र -श श्च श्च्य श्छ श्न श्प श्म श्य श्र श्ल श्व श्व्य श्न्र श्व्र श्च्र -ष ष्क ष्क्र ष्ट ष्ट्य ष्ट्र ष्ट्व ष्ठ ष्ठ्य ष्ण ष्ण्य ष्प ष्प्र ष्म ष्य ष्व -स स्क स्त स्त्य स्त्र स्त्र्य स्त्व स्थ स्थ्य स्न स्प स्फ स्म स्म्य स्य स्र स्व स्स्व -ह ह्ण ह्न ह्म ह्य ह्र ह्ल ह्व +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae auctor eu augue ut lectus arcu bibendum. Pulvinar pellentesque habitant morbi tristique senectus et netus. Turpis nunc eget lorem dolor sed viverra ipsum. Duis ultricies lacus sed turpis tincidunt id. Facilisi morbi tempus iaculis urna id volutpat lacus laoreet non. Viverra adipiscing at in tellus integer feugiat scelerisque varius morbi. Viverra vitae congue eu consequat ac felis donec et odio. Quis viverra nibh cras pulvinar. Diam donec adipiscing tristique risus nec feugiat. Ut tristique et egestas quis ipsum suspendisse ultrices. Turpis cursus in hac habitasse. Eget duis at tellus at urna. Eget sit amet tellus cras adipiscing enim eu. Sit amet tellus cras adipiscing enim eu turpis egestas. -विकिपीडिया सभी विषयों पर प्रामाणिक और उपयोग, परिवर्तन -व पुनर्वितरण के लिए स्वतन्त्र ज्ञानकोश बनाने का एक बहुभाषीय -प्रकल्प है। यह यथासम्भव निष्पक्ष दृष्टिकोण वाली सूचना प्रसारित -करने के लिए कृतसंकल्प है। सर्वप्रथम अंग्रेज़ी विकिपीडिया -जनवरी 2001 में आरम्भ किया गया था, और हिन्दी -विकिपीडिया का शुभारम्भ जुलाई 2003 में हुआ। सहायता पृष्ठ -पर जाएं और प्रयोगस्थल में प्रयोग करके देखें कि आप स्वयं -किसी लेख को कैसे परिवर्तित कर सकते हैं। +Aliquam faucibus purus in massa tempor. Eget nullam non nisi est sit amet. Eu ultrices vitae auctor eu augue ut lectus. Tortor at auctor urna nunc. Quam lacus suspendisse faucibus interdum posuere lorem ipsum. Euismod in pellentesque massa placerat. Velit dignissim sodales ut eu sem integer. Lacus vel facilisis volutpat est velit egestas dui id. Urna nec tincidunt praesent semper feugiat. Duis at tellus at urna condimentum mattis. Mi proin sed libero enim sed faucibus. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus. Ac tincidunt vitae semper quis lectus nulla. Et netus et malesuada fames ac turpis egestas sed tempus. Odio ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Pellentesque massa placerat duis ultricies lacus sed. Venenatis a condimentum vitae sapien pellentesque habitant morbi tristique senectus. Sit amet consectetur adipiscing elit pellentesque. -र्ज्यह -परिवर्तन -र्ग्यह -अर्ग्यिह -अर्त्स्न्यौह -अर्त्स्न्यिह कृकॄ +Vel eros donec ac odio tempor. Suspendisse in est ante in nibh mauris cursus. Urna cursus eget nunc scelerisque viverra mauris in. Cursus sit amet dictum sit. Quis imperdiet massa tincidunt nunc pulvinar sapien et ligula ullamcorper. Aenean vel elit scelerisque mauris pellentesque. Mauris in aliquam sem fringilla ut morbi. Nulla aliquet enim tortor at auctor. Pellentesque habitant morbi tristique senectus et. Cras pulvinar mattis nunc sed blandit libero volutpat. Eget velit aliquet sagittis id consectetur purus ut. At volutpat diam ut venenatis tellus in. In tellus integer feugiat scelerisque varius. Dapibus ultrices in iaculis nunc sed augue lacus viverra. Varius quam quisque id diam. -ड्ग ड्भ ङ्ग ङ्घ ङ्म छ्व ट्ट ट्ठ ट्व ठ्ठ ठ्व ड्ड ड्ढ ड्व ढ्ढ ढ्व ष्ठ्र द्र्य -ड्ग्र ड्भ्र ङ्ग्र ङ्घ्र ङ्म्र छ्व्र ट्ट्र ट्ठ्र ट्व्र ठ्ठ्र ठ्व्र ड्ड्र ड्ढ्र ड्व्र ढ्ढ्र ढ्व्र +Ut aliquam purus sit amet luctus venenatis lectus magna. Nunc aliquet bibendum enim facilisis gravida neque convallis a cras. Dictum at tempor commodo ullamcorper a lacus vestibulum sed. Mi proin sed libero enim sed faucibus turpis. Vel turpis nunc eget lorem dolor sed viverra ipsum nunc. Est sit amet facilisis magna. Ultricies tristique nulla aliquet enim. Orci sagittis eu volutpat odio facilisis. Aliquet nec ullamcorper sit amet. Massa placerat duis ultricies lacus sed turpis tincidunt id. Morbi tristique senectus et netus et. Quam id leo in vitae turpis massa sed elementum tempus. Proin sagittis nisl rhoncus mattis rhoncus urna neque viverra justo. Tincidunt eget nullam non nisi est sit amet. -श्क श्ख श्ग श्घ श्ङ श्च श्छ श्ज श्झ श्ञ श्ट श्ठ श्ड श्ढ श्ण श्त श्थ श्द श्ध श्न श्प श्फ श्ब श्भ श्म श्य श्र श्ल श्व श्श श्ष श्स श्ह श्ळ श्क्ष श्ज्ञ -र्यर्‍यर‍्य र्‍कर्‍प ऱ्कऱ्प -ऱ्प र्‍प ऱ्‍प \ No newline at end of file +Feugiat in ante metus dictum at tempor commodo. Maecenas accumsan lacus vel facilisis volutpat. Dignissim cras tincidunt lobortis feugiat vivamus. Ante in nibh mauris cursus mattis molestie a iaculis. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla. Leo integer malesuada nunc vel risus. Tellus id interdum velit laoreet id donec ultrices tincidunt. Et tortor consequat id porta nibh venenatis cras sed. Consectetur libero id faucibus nisl tincidunt eget nullam non nisi. Dapibus ultrices in iaculis nunc sed augue lacus viverra vitae. Enim praesent elementum facilisis leo vel fringilla. Lorem ipsum dolor sit amet consectetur adipiscing elit. Mollis aliquam ut porttitor leo. + +하수는 두 산 틈에서 나와 돌과 부딪쳐 싸우며, 그 놀란 파도와 성난 물머리와 우는 여울과 노한 물결과 슬픈 곡조와 원망하는 소리가 굽이쳐 돌면서, 우는 듯, 소리치는 듯, 바쁘게 호령하는 듯, 항상 장성을 깨뜨릴 형세가 있어, 전차 만승과 전기 만대나 전포 만가와 전고 만좌로써는 그 무너뜨리고 내뿜는 소리를 족히 형용할 수 없을 것이다. 모래 위에 큰 돌은 홀연히 떨어져 섰고, 강 언덕에 버드나무는 어둡고 컴컴하여 물지킴과 하수 귀신이 다투어 나와서 사람을 놀리는 듯한데, 좌우의 교리가 붙들려고 애쓰는 듯싶었다. 혹은 말하기를, “여기는 옛 전쟁터이므로 강물이 저같이 우는 것이다.” 하지만 이는 그런 것이 아니니, 강물 소리는 듣기 여하에 달렸을 것이다. + +산중의 내 집 문 앞에는 큰 시내가 있어 매양 여름철이 되어 큰 비가 한번 지나가면, 시냇물이 갑자기 불어서 항상 차기와 포고의 소리를 듣게 되어 드디어 귀에 젖어 버렸다. 내가 일찍이 문을 닫고 누워서 소리 종류를 비교해 보니, 깊은 소나무가 퉁소 소리를 내는 것은 듣는 이가 청아한 탓이요, 산이 찢어지고 언덕이 무너지는 듯한 것은 듣는 이가 분노한 탓이요, 뭇 개구리가 다투어 우는 것은 듣는 이가 교만한 탓이요, 천둥과 우레가 급한 것은 듣는 이가 놀란 탓이요, 찻물이 끓는 듯이 문무가 겸한 것은 듣는 이가 취미로운 탓이요, 거문고가 궁우에 맞는 것은 듣는 이가 슬픈 탓이요, 종이창에 바람이 우는 것은 듣는 이가 의심나는 탓이니, 모두 바르게 듣지 못하고 특히 흉중에 먹은 뜻을 가지고 귀에 들리는 대로 소리를 만든 것이다. + +지금 나는 밤중에 한 강을 아홉 번 건넜다. 강은 새외로부터 나와서 장성을 뚫고 유하와 조하 · 황화 · 진천 등의 모든 물과 합쳐 밀운성 밑을 거쳐 백하가 되었다. 나는 어제 배로 백하를 건넜는데, 이것은 하류였다. 내가 막 요동 땅에 들어왔을 때는 바야흐로 한여름이라, 뜨거운 볕 밑을 가노 라니 홀연 큰 강이 앞에 당하였다. 또한 물결이 산같이 일어나 끝을 볼 수 없으니, 이것은 대개 천리 밖에서 폭우가 온 것이다. 물을 건널 때는 사람들이 모두 머리를 우러러 하늘을 보는데, 나는 생각하기에 사람들이 머리를 들고 쳐다보는 것은 하늘에 묵도하는 것인 줄 알았더니, 나중에 알고 보니 물을 건너는 사람들이 물이 돌아 탕탕히 흐르는 것을 보면 자기 몸은 물이 거슬러 올라가는 것 같고 눈은 강물과 함께 따라 내려가는 것 같아서 갑자기 현기가 나면서 물에 빠지는 것이기 때문에, 그들이 머리를 들어 우러러보는 것은 하늘에 비는 것이 아니라 물을 피하여 보지 않으려 함이었다. 또한 어느 겨를에 잠깐 동안의 목숨을 위하여 기도할 수 있겠는가. + +그 위험함이 이와 같으니, 물 소리를 들어보지 못하고 모두 말하기를, “요동 들은 평평하고 넓기 때문에 물 소리가 크게 울지 않는 것이다.” 하지만 이것은 물을 알지 못하는 것이다. 요하가 울지 않는 것이 아니라 특히 밤에 건너 보지 않은 때문이니, 낮에는 눈으로 물을 볼 수 있으므로 눈이 오로지 위험한 데만 보면서 무서움을 느껴 도리어 눈이 있는 것을 걱정하는 판인데, 어찌 또 들리는 소리가 있겠는가. 지금 나는 밤중에 물을 건너는지라 눈으로 위험한 것을 볼 수 없으니, 위험은 오로지 듣는 데만 있어 바야흐로 귀로 무서움을 느끼니 걱정을 이기지 못하는 것이다. + +나는 이제야 도를 알았도다. 마음이 어두운 자는 이목이 누가 되지 않고, 이 목만을 믿는 자는 보고 듣는 것을 더욱 밝혀서 병이 되는 것이다. 이제 내 마부가 발을 말굽을 밟혀서 뒷차에 실리었으므로, 나는 드디어 혼자 고삐를 늦추어 강에 띄우고, 무릎을 구부려 발을 모으고 안장 위에 앉았으니, 한번 떨어지면 강이나 물로 땅을 삼고 물로 옷을 삼으며 물로 몸을 삼고 물로 성정을 삼으니, 이제야 내 마음은 한번 떨어질 것을 판단한 터이므로 내 귓속에 강물 소리가 없어지고, 무릇 아홉 번 건너는데도 걱정이 없어 의자 위에서 좌와하고 기거하는 것 같았다. 옛날 우는 강을 건너는데, 황룡이 배를 등으로 져서 지극히 위험했으나 사생의 판단이 먼저 마음 속에 밝고 보니, 용이거나 지렁이거나, 크거나 작거나 족히 관계될 바 없었다. 소리와 빛은 외물이니 외물이 항상 이목에 누가 되어 사람으로 하여금 똑바로 보고 듣는 것을 잃게 하는 것이 이 같거든, 하물며 인생이 세상을 지나는 데 그 험하고 위태로운 것이 강물보다 심하고, 보고 듣는 것이 문득 병이 되는 것임에랴. + +数学において体 K 上定義されたアーベル多様体 A がCM-タイプ(CM-type)であるとは、自己準同型環 End(A) の中で十分に大きな部分可換環を持つことをいう。この用語は虚数乗法 (complex multiplication) 論から来ていて、虚数乗法論は19世紀に楕円曲線の研究のため開発された。20世紀の代数的整数論と代数幾何学の主要な成果のひとつに、アーベル多様体の次元 d > 1 の理論の正しい定式化が発見されたことがある。この問題は、多変数複素函数論を使うことが非常に困難であるため、非常に抽象的である。 + +フォーマルな定義は、有理数体 Q と End(A) のテンソル積 + End_Q(A) + +はZ上、次元2dの可換部分環を含んでいることである。d = 1 のとき、このことは二次体以外にはありえなく、End(A)は虚二次体の整環(英語版)(order)である。d>1に対しては、総実体の虚二次拡大であるCM体の場合が比較すべきに対象である。A が単純アーベル多様体ではないかもしれない(例えば、楕円曲線のカルテシアン積)ことを反映する他の他の場合もある。CM-タイプのアーベル多様体の別の名称は、十分に多くの虚数乗法を持つアーベル多様体である。 + +Kが複素数体であれば、任意のCM-タイプの A は、実は、数体である定義体(英語版)(field of definition)を持っている。自己準同型環の可能なタイプは、対合(ロサチの対合(英語版)(Rosati involution))をもつ環として既に分類されていて、CM-タイプのアーベル多様体の分類を導き出す。楕円曲線と同じような方法でCM-タイプの多様体を構成するには、C^dの中の格子 Λ から始め、アーベル多様体のリーマンの関係式を考えに入れる必要がある。 + +CM-タイプ(CM-type)は、単位元における A の正則接空間上の、EndQ(A)の(極大)可換部分環Lの作用を記述したものである。単純な種類のスペクトル理論が適用され、Lが固有ベクトルの基底を通して作用することを示すことができる。言い換えると、LはAの正則ベクトル場の上の対角行列を通した作用を持っている。L 自体が複数の体の積ではなく数体であるという単純な場合には、CM-タイプはLの複素埋め込み(complex embedding)のリストである。複素共役をペアとして、2d個の複素埋め込みがあり、CM-タイプは各々のペアのから一つを選択する。そのようなCM-タイプの全てが実現されることが知られている。 + +志村五郎と谷山豊の基本的結果は、CM-タイプとヘッケのL-函数のことばで、A のハッセ・ヴェイユのL-函数を計算することができ、これから導出された無限部分を持つ。これらが、楕円曲線の場合のマックス・ドイリング(英語版)(Max Deuring)の結果を一般化する。 \ No newline at end of file