Ejemplo n.º 1
0
        public static IList <IHKWaxPage> createTestCalcDevice(string buf,
                                                              float fntsz, float gyokan,
                                                              float view_w, float view_h,
                                                              float mg_lft, float mg_rgt, float mg_top)
        {
            List <HKWaxLine> lnlst = WaxComposerTest.createTestWaxLineList(buf, view_w, view_h, fntsz, gyokan);

            //HKPageCreate page = new HKPageCreate();
            IList <IHKWaxPage> pglst = new List <IHKWaxPage>();

            HKPageCreate.CreatePageList(view_w, fntsz, lnlst, ref pglst);

            HKDevice dev = new HKDevice();

            dev.setup(fntsz, view_w + mg_lft + mg_rgt, view_h, mg_lft, mg_top, mg_rgt, 0);
            dev.calcToDevice(ref pglst);
            return(pglst);
        }
Ejemplo n.º 2
0
        public void CreatePageList()
        {
            var buf =
                "<p>あああああ<ruby>い" +
                "いいいい<rt>ううう</rt></ruby>ええ" +
                "えええ</p>" +
                "<p>おおおおお</p>" +
                "<p>あああああ<ruby>いいいいい<rt>ううう</rt></ruby>えええええ</p>" +
                "<p>おおおおお</p>" +
                "<p>あああああ<ruby>いいいいい<rt>ううう</rt></ruby>えええええ</p>" +
                "<p>おおおおお</p>" +
                "<p>あああああ<ruby>いいいいい<rt>ううう</rt></ruby>えええええ</p>" +
                "<p>おおおおお</p>" +
                "<p>あああああ<ruby>いいいいい<rt>ううう</rt></ruby>えええええ</p>" +
                "<p>おおおおお</p>"
            ;
            float            view_w = 90;
            float            view_h = 90; //余白を除いた描画領域   ==> 6文字/1行
            float            fntsz  = 15;
            float            gyokan = 6f; //15 + 21+21+21  ==> 4行/ページ
            List <HKWaxLine> lnlst  = WaxComposerTest.createTestWaxLineList(buf, view_w, view_h, fntsz, gyokan);

            //HKPageCreate rep = new HKPageCreate();
            var pglst = new List <IHKWaxPage>();

            HKPageCreate.CreatePageList(view_w, fntsz, lnlst, ref pglst);

            //Assert.AreEqual(4, pglst.Count);
            Assert.AreEqual(4, pglst[0].Lines.Count, "1ページ目行数");
            Assert.AreEqual(0, pglst[0].Lines[0].X);
            Assert.AreEqual("あああああい", pglst[0].Lines[0].getText(), "1ページ目1行目");
            Assert.AreEqual(fntsz + gyokan, pglst[0].Lines[1].PageX);
            Assert.AreEqual("いいいいええ", pglst[0].Lines[1].getText());
            Assert.AreEqual("えええ", pglst[0].Lines[2].getText());
            Assert.AreEqual("おおおおお", pglst[0].Lines[3].getText());
            Assert.AreEqual(0, pglst[1].Lines[0].PageX, "2ページ目の1文字目X"); //DAME!!
            Assert.AreEqual("あああああい", pglst[1].Lines[0].getText(), "2ページ目1行目");
            //最終頁最終行
            Assert.AreEqual("おおおおお", pglst.Last().Lines.Last().getText());
        }