<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: .net vb use &amp;quot;BigFont&amp;quot; ansian-language plz help me. in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7768623#M28166</link>
    <description>&lt;P&gt;&amp;lt;CommandMethod("ChangeFontFiles")&amp;gt; _&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Public Sub ChangeFontFiles()&lt;BR /&gt;&amp;nbsp; &amp;nbsp; '' Get the current document and database&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acCurDb As Database = acDoc.Database&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Start a transaction&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Open the current text style for write&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acTextStyleTblRec As TextStyleTableRecord&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec = acTrans.GetObject(acCurDb.Textstyle,&amp;nbsp;OpenMode.ForWrite)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Change the font files used for both Big and Regular fonts&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec.BigFontFileName = "C:\AutoCAD\Fonts\bigfont.shx"&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec.FileName = "C:\AutoCAD\Fonts\italic.shx"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Save the changes and dispose of the transaction&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTrans.Commit()&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;End Using&lt;BR /&gt;End Sub&lt;/P&gt;</description>
    <pubDate>Sun, 11 Feb 2018 06:25:44 GMT</pubDate>
    <dc:creator>mirwing76</dc:creator>
    <dc:date>2018-02-11T06:25:44Z</dc:date>
    <item>
      <title>.net vb use "BigFont" ansian-language plz help me.</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7680927#M28165</link>
      <description>&lt;P&gt;I want to use "bigFont". The code below does not work as you like. I would appreciate your help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sub Test()&lt;BR /&gt;' 테스트 sub&lt;BR /&gt;Dim AcadDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;Dim acadDb As Database = AcadDoc.Database&lt;BR /&gt;Dim acadEd As Editor = AcadDoc.Editor&lt;/P&gt;&lt;P&gt;Dim txtStyle As TextStyleTableRecord = New TextStyleTableRecord()&lt;BR /&gt;txtStyle.Name = "MyStyle"&lt;BR /&gt;txtStyle.Font = New Autodesk.AutoCAD.GraphicsInterface.FontDescriptor("romans", False, False, 0, 0)&lt;BR /&gt;txtStyle.BigFontFileName = "ghs"&lt;BR /&gt;txtStyle.TextSize = 1.0&lt;BR /&gt;Try&lt;/P&gt;&lt;P&gt;Using trans As Transaction = acadDb.TransactionManager.StartTransaction()&lt;BR /&gt;Dim TAB As TextStyleTable = acadDb.TextStyleTableId.GetObject(Autodesk.AutoCAD.DatabaseServices.OpenMode.ForWrite)&lt;BR /&gt;TAB.Add(txtStyle)&lt;BR /&gt;trans.AddNewlyCreatedDBObject(txtStyle, True)&lt;BR /&gt;acadDb.Textstyle = txtStyle.Id&lt;BR /&gt;trans.Commit()&lt;BR /&gt;End Using&lt;/P&gt;&lt;P&gt;Catch ex As mapException&lt;/P&gt;&lt;P&gt;End Try&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jan 2018 02:18:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7680927#M28165</guid>
      <dc:creator>mirwing76</dc:creator>
      <dc:date>2018-01-11T02:18:29Z</dc:date>
    </item>
    <item>
      <title>Re: .net vb use "BigFont" ansian-language plz help me.</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7768623#M28166</link>
      <description>&lt;P&gt;&amp;lt;CommandMethod("ChangeFontFiles")&amp;gt; _&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Public Sub ChangeFontFiles()&lt;BR /&gt;&amp;nbsp; &amp;nbsp; '' Get the current document and database&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acCurDb As Database = acDoc.Database&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Start a transaction&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Open the current text style for write&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Dim acTextStyleTblRec As TextStyleTableRecord&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec = acTrans.GetObject(acCurDb.Textstyle,&amp;nbsp;OpenMode.ForWrite)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Change the font files used for both Big and Regular fonts&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec.BigFontFileName = "C:\AutoCAD\Fonts\bigfont.shx"&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTextStyleTblRec.FileName = "C:\AutoCAD\Fonts\italic.shx"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;'' Save the changes and dispose of the transaction&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;acTrans.Commit()&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;End Using&lt;BR /&gt;End Sub&lt;/P&gt;</description>
      <pubDate>Sun, 11 Feb 2018 06:25:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7768623#M28166</guid>
      <dc:creator>mirwing76</dc:creator>
      <dc:date>2018-02-11T06:25:44Z</dc:date>
    </item>
    <item>
      <title>Re: .net vb use "BigFont" ansian-language plz help me.</title>
      <link>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7773789#M28167</link>
      <description>&lt;P&gt;I think youre problem might be the Font Search Path, the (Big)Filename must be the name, with or without extension, of the pathname.&lt;/P&gt;
&lt;P&gt;acTextStyleTblRec.BigFontFileName = "BigFont.shx" but "C:\AutoCAD\Fonts" must be in the search path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;See several samples below (sorry C# only)&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BigFonts.png" style="width: 705px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/462459iEE3D749B57BF3FEE/image-size/large?v=v2&amp;amp;px=999" role="button" title="BigFonts.png" alt="BigFonts.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;       [CommandMethod("TestBigFont")]
        public static void TestBigFont()
        {
            Document doc = null;
            Editor ed = null;
            Database db = null;
            try
            {
                doc = AcadApp.DocumentManager.MdiActiveDocument;
                ed = doc.Editor;
                db = doc.Database;

                using (var tr = db.TransactionManager.StartTransaction())
                {
                    var tsTbl = (TextStyleTable)tr.GetObject(db.TextStyleTableId, OpenMode.ForRead);

                    //List existing text styles
                    foreach(var tsId in tsTbl)
                    {
                        var ts = (TextStyleTableRecord)tr.GetObject(tsId, OpenMode.ForRead);
                        ed.WriteMessage($"\n textstyle={ts.Name}, {ts.BigFontFileName}");
                     }

                    //Note: C:\..\fonts must be in SearchPath
                    var fontpath = @"D:\Apldata\Meridian\Fonts";
                    var acadSearchPath = (string)AcadApp.GetSystemVariable("ACADPREFIX");
                    var fontSearchPath = acadSearchPath.Split(';')
                             .Where(d =&amp;gt; d.Contains(fontpath, StringComparison.OrdinalIgnoreCase))
                             .FirstOrDefault();
                    if (string.IsNullOrWhiteSpace(fontSearchPath))
                    {
                        //throw new System.Exception($"Font Path missing: {fontFldName}");
                        var acadPref = (dynamic)AcadApp.Preferences;
                        var acadPrefSupportPaths = ((string)acadPref.Files.SupportPath).Split(';').ToList();
                        acadPrefSupportPaths.Add(fontpath);
                        acadPref.Files.SupportPath = string.Join(";", acadPrefSupportPaths);
                    }

                    //find bigFont SHX: "AutoCAD-86 bigfont 1.0"
                    var bigFontPathnames = new List&amp;lt;string&amp;gt;();
                    foreach(var fontPathname in Directory.EnumerateFiles(fontSearchPath, "*.shx"))
                    {
                        if (File.ReadLines(fontPathname).FirstOrDefault().Contains("bigfont",StringComparison.OrdinalIgnoreCase))
                        {
                            bigFontPathnames.Add(fontPathname);
                        }
                    }

                    //Create new BigFont TextStyle, using the last bigfont file found.
                    var tsName = "BigAzian";
                    if (bigFontPathnames.Count &amp;gt; 0 &amp;amp;&amp;amp; !tsTbl.Has("BigAzian"))
                    {
                        var bigAzian = new TextStyleTableRecord
                        {
                            Name = tsName,
                            FileName = "romans",
                            BigFontFileName = Path.GetFileNameWithoutExtension(bigFontPathnames.Last()),
                            FlagBits = 2 + 4,   //2==backwards, 4=upside-down
                            IsVertical = true,
                        };
                        tsTbl.UpgradeOpen();
                        tsTbl.Add(bigAzian);
                        tr.AddNewlyCreatedDBObject(bigAzian, true);
                    }

                    //Create MText using the new BigFont TextStyle
                    var mt = new MText();
                    mt.Location = new Point3d(100, 150, 0);
                    mt.Contents = "Hello World!";
                    mt.TextHeight = 5;
                    if (tsTbl.Has(tsName))
                    {
                        mt.TextStyleId = tsTbl[tsName];
                    }
                    var btr = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
                    btr.AppendEntity(mt);
                    tr.AddNewlyCreatedDBObject(mt, true);



                    //change existing TextStyle to BigFont
                    var bigFontFilename = "BigFont.shx";
                    var fontFilename = "Italic.shx";
                    if (!File.Exists(Path.Combine(fontSearchPath, bigFontFilename)))
                    {
                        throw new System.Exception($"Not found: {bigFontFilename} @:{fontSearchPath}");
                    }
                    if (!File.Exists(Path.Combine(fontSearchPath, fontFilename)))
                    {
                        throw new System.Exception($"Not found: {fontFilename} @:{fontSearchPath}");
                    }
                    var curTs = (TextStyleTableRecord)tr.GetObject(db.Textstyle, OpenMode.ForWrite);
                    curTs.BigFontFileName = Path.GetFileNameWithoutExtension(bigFontFilename);
                    curTs.FileName = Path.GetFileNameWithoutExtension(fontFilename);
                    curTs.IsVertical = true;


                    //Create MText using existing TextStyle(BigFont)
                    var mt2 = new MText();
                    mt2.Location = new Point3d(130, 150, 0);
                    mt2.Contents = "Hello World!";
                    mt2.TextHeight = 5;
                    if (tsTbl.Has(tsName))
                    {
                        mt2.TextStyleId = db.Textstyle;
                    }
                    btr.AppendEntity(mt2);
                    tr.AddNewlyCreatedDBObject(mt2, true);

                    tr.Commit();
                }

                
                dynamic acadApp = AcadApp.AcadApplication;
                acadApp.ZoomExtents();
                //Zoom out 10%
                using (ViewTableRecord view = ed.GetCurrentView())
                {
                    view.Width *= 1.1;
                    view.Height *= 1.1;
                    ed.SetCurrentView(view);
                }
            }
            catch (System.Exception ex)
            {
                ed?.WriteMessage($"\n{ex.Message}");
            }
        }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Feb 2018 12:29:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/net-vb-use-quot-bigfont-quot-ansian-language-plz-help-me/m-p/7773789#M28167</guid>
      <dc:creator>SENL1362</dc:creator>
      <dc:date>2018-02-13T12:29:16Z</dc:date>
    </item>
  </channel>
</rss>

