예제 #1
0
        public void ReadHonbunHtmlFromPath(string path)
        {
            _paralst?.Clear();
            var parser = new HKSimpleParser();

            parser.ParseFromPath(path);
            _paralst = parser.ResultParaList;
        }
예제 #2
0
        /// <summary>
        /// 本文をURLから読み込み(未使用)
        /// </summary>
        /// <returns>The honbun html from URL.</returns>
        /// <param name="path"></param>
        public void ReadFromText(string hbn)
        {
            //var ser = new BookService2(new BookRepository());
            //string hbn = await ser.GetBookFromUrl(new System.Uri(url));
            _paralst?.Clear();
            var parser = new HKSimpleParser();

            parser.ParseFromText(hbn);
            _paralst = parser.ResultParaList;
        }
예제 #3
0
        public void ReadHonbunHtmlFromUrl(string url)
        {
            var    ser = new BookService2(new BookRepository());
            string hbn = ser.GetBook(url);

            _paralst?.Clear();
            var parser = new HKSimpleParser();

            parser.ParseFromText(hbn);
            _paralst = parser.ResultParaList;
        }
예제 #4
0
        public void ParserFile()
        {
            var path = AppDomain
                       .CurrentDomain
                       .BaseDirectory
                       .Combine("data")
                       .Combine("kokoro.htm");

            Assert.AreEqual(true, System.IO.File.Exists(path), "ファイルがない");

            var p = new HKSimpleParser();

            p.ParseFromPath(path);

            var lst = p.ResultParaList;

            Assert.AreEqual(2908, lst.Count);
        }
예제 #5
0
        public void ParserText()
        {
            var buf = $"<p>如実に<RUBY>形<RT>けい</RT></RUBY><RUBY>骸<RT>がい</RT></RUBY>の中に</p>" +
                      "<p>精神的不満、<RUBY>煩<RT>はん</RT></RUBY><RUBY>悶<RT>もん</RT></RUBY>は人間</p>";
            var p = new HKSimpleParser();

            p.ParseFromText(buf);

            var lst = p.ResultParaList;

            Assert.AreEqual(2, lst.Count);
            Assert.AreEqual("如実に", lst[0].Texts[0].Text);
            Assert.AreEqual("形", lst[0].Texts[1].Text);
            Assert.AreEqual("けい", lst[0].Texts[1].Ruby);
            Assert.AreEqual("骸", lst[0].Texts[2].Text);
            Assert.AreEqual("がい", lst[0].Texts[2].Ruby);
            Assert.AreEqual("精神的不満、", lst[1].Texts[0].Text);
        }
예제 #6
0
        public static List <HKWaxLine> createTestWaxLineList(string buf, float width, float height,
                                                             float fntsz, float gyokan)
        {
            var p = new HKSimpleParser();

            p.ParseFromText(buf);

            var paralst = p.ResultParaList;

            Console.WriteLine($"createTestWaxLineList paralist.count={paralst.Count}");

            var comp = new HKComposer();

            comp.FontSize   = fntsz;  // 15;   //文字サイズ
            comp.GyokanSize = gyokan; //7.5        //行間 行送=FontSize+Gyokan
            comp.Init(width, height);
            var lnlst = new List <HKWaxLine>();

            comp.Compose(paralst, ref lnlst);
            Console.Write(comp.Log);

            return(lnlst);
        }