private TextLanguage makeTextLanguage(string language, List <string> dictionary, int languageWeight, int dictionaryWeight)
        {
            // Create new TextLanguage object
            LanguageDatabase languageDatabase = Engine.CreateLanguageDatabase();
            TextLanguage     Language         = languageDatabase.CreateTextLanguage();

            if (language != null)
            {
                // Copy all attributes from predefined language
                Language.CopyFrom(Engine.PredefinedLanguages.Find(language).TextLanguage);
                Language.InternalName = "SampleTextLanguage";
            }
            else
            {
                Language.CopyFrom(Engine.PredefinedLanguages.Find("English").TextLanguage);
            }

            // Bind new dictionary to first (and single) BaseLanguage object within TextLanguage
            //BaseLanguage baseLanguage = Language.BaseLanguages[0];
            BaseLanguage baseLanguage = Language.BaseLanguages[0];

            // Change internal dictionary name to user-defined
            baseLanguage.InternalName = "SampleBaseLanguage";

            //set custom doctionary for base language
            setDictionary(language, baseLanguage, dictionary, languageWeight, dictionaryWeight);

            return(Language);
        }
Exemplo n.º 2
0
    public void SetItemsTransport()
    {
        for (int i = 0; i < timeItems.Length; i++)
        {
            string sTime = timeItems[i].transform.GetChild(1 + i % 2).GetComponentInChildren <TextMeshProUGUI>().text;
            nowDay.time[i] = sTime;
        }
        int itemIndex = 0;

        for (int i = 0; i < 7; i++)
        {
            GameObject target = transportItems[itemIndex].gameObject;
            if (nowDay.activitiesOn[i])
            {
                TextLanguage tl = mainItems[i].GetComponentInChildren <TextLanguage>();
                target.GetComponentInChildren <TextLanguage>().SetTo(tl);
                itemIndex++;
                target.SetActive(true);
            }
        }
        //print("itemIndex: "+itemIndex.ToString());
        for (int i = itemIndex; i < 7; i++)
        {
            transportItems[i].gameObject.SetActive(false);
        }
    }
Exemplo n.º 3
0
    public void SetCarpetaEspecial()
    {
        inputfield.gameObject.SetActive(false);
        botonBorrar.SetActive(false);
        TextLanguage _txtLanguage = nombreCarpetaText.gameObject.AddComponent <TextLanguage>();

        _txtLanguage.SetText("SIN CARPETA", AppController.Idiomas.Español);
        _txtLanguage.SetText("WITHOUT FOLDER", AppController.Idiomas.Ingles);
    }
    public override IDictionary <string, object?> GetMeta(TextLanguage resource)
    {
        base.GetMeta(resource);

        return(new Dictionary <string, object?>
        {
            ["Notice"] = NoticeText
        });
    }
        public async Task Cannot_create_resource_for_existing_client_generated_ID()
        {
            // Arrange
            TextLanguage existingLanguage = _fakers.TextLanguage.Generate();

            existingLanguage.Id = Guid.NewGuid();

            TextLanguage languageToCreate = _fakers.TextLanguage.Generate();

            languageToCreate.Id = existingLanguage.Id;

            await _testContext.RunOnDatabaseAsync(async dbContext =>
            {
                dbContext.TextLanguages.Add(languageToCreate);
                await dbContext.SaveChangesAsync();
            });

            var requestBody = new
            {
                atomic__operations = new[]
                {
                    new
                    {
                        op   = "add",
                        data = new
                        {
                            type       = "textLanguages",
                            id         = languageToCreate.StringId,
                            attributes = new
                            {
                                isoCode = languageToCreate.IsoCode
                            }
                        }
                    }
                }
            };

            const string route = "/operations";

            // Act
            (HttpResponseMessage httpResponse, ErrorDocument responseDocument) = await _testContext.ExecutePostAtomicAsync <ErrorDocument>(route, requestBody);

            // Assert
            httpResponse.Should().HaveStatusCode(HttpStatusCode.Conflict);

            responseDocument.Errors.Should().HaveCount(1);

            Error error = responseDocument.Errors[0];

            error.StatusCode.Should().Be(HttpStatusCode.Conflict);
            error.Title.Should().Be("Another resource with the specified ID already exists.");
            error.Detail.Should().Be($"Another resource of type 'textLanguages' with ID '{languageToCreate.StringId}' already exists.");
            error.Source.Pointer.Should().Be("/atomic:operations[0]");
        }
Exemplo n.º 6
0
        public async Task Returns_top_level_meta_in_update_resource_with_side_effects()
        {
            // Arrange
            TextLanguage existingLanguage = _fakers.TextLanguage.Generate();

            await _testContext.RunOnDatabaseAsync(async dbContext =>
            {
                dbContext.TextLanguages.Add(existingLanguage);
                await dbContext.SaveChangesAsync();
            });

            var requestBody = new
            {
                atomic__operations = new[]
                {
                    new
                    {
                        op   = "update",
                        data = new
                        {
                            type       = "textLanguages",
                            id         = existingLanguage.StringId,
                            attributes = new
                            {
                            }
                        }
                    }
                }
            };

            const string route = "/operations";

            // Act
            (HttpResponseMessage httpResponse, AtomicOperationsDocument responseDocument) =
                await _testContext.ExecutePostAtomicAsync <AtomicOperationsDocument>(route, requestBody);

            // Assert
            httpResponse.Should().HaveStatusCode(HttpStatusCode.OK);

            responseDocument.Meta.Should().HaveCount(3);
            responseDocument.Meta["license"].Should().Be("MIT");
            responseDocument.Meta["projectUrl"].Should().Be("https://github.com/json-api-dotnet/JsonApiDotNetCore/");

            string[] versionArray = ((IEnumerable <JToken>)responseDocument.Meta["versions"]).Select(token => token.ToString()).ToArray();

            versionArray.Should().HaveCount(4);
            versionArray.Should().Contain("v4.0.0");
            versionArray.Should().Contain("v3.1.0");
            versionArray.Should().Contain("v2.5.2");
            versionArray.Should().Contain("v1.3.1");
        }
Exemplo n.º 7
0
        protected override void Seed(ThaContext context)
        {
            // Seed code goes here...
            var dkLan = new Language {
                Country = "Denmark", ISO = "DK"
            };
            var usLan = new Language {
                Country = "USA", ISO = "US"
            };
            var enLan = new Language {
                Country = "Britain", ISO = "EN"
            };

            context.Languages.Add(dkLan);
            context.Languages.Add(usLan);
            context.Languages.Add(enLan);

            var firstTextDK = new TextLanguage {
                Language    = dkLan,
                Description = "Smølfer er blå",
                Title       = "Smølferne"
            };
            var firstTextUS = new TextLanguage {
                Language    = usLan,
                Description = "Smurfs are Blue",
                Title       = "Smurfs"
            };
            var firstTextEN = new TextLanguage {
                Language    = enLan,
                Description = "Smurfs are Blue, and a Cup of TEA",
                Title       = "Smurfs, and a Cup of TEA"
            };

            var smurfText = new Text()
            {
                Languages = new List <TextLanguage> {
                    firstTextDK, firstTextUS, firstTextEN
                }
            };

            context.Texts.Add(smurfText);

            context.GlobalGoals.Add(new GlobalGoal()
            {
                Translation = smurfText
            });

            context.SaveChanges();
            base.Seed(context);
        }
        public async Task Can_create_resource_with_client_generated_guid_ID_having_side_effects()
        {
            // Arrange
            TextLanguage newLanguage = _fakers.TextLanguage.Generate();

            newLanguage.Id = Guid.NewGuid();

            var requestBody = new
            {
                atomic__operations = new[]
                {
                    new
                    {
                        op   = "add",
                        data = new
                        {
                            type       = "textLanguages",
                            id         = newLanguage.StringId,
                            attributes = new
                            {
                                isoCode = newLanguage.IsoCode
                            }
                        }
                    }
                }
            };

            const string route = "/operations";

            // Act
            (HttpResponseMessage httpResponse, AtomicOperationsDocument responseDocument) =
                await _testContext.ExecutePostAtomicAsync <AtomicOperationsDocument>(route, requestBody);

            // Assert
            httpResponse.Should().HaveStatusCode(HttpStatusCode.OK);

            responseDocument.Results.Should().HaveCount(1);
            responseDocument.Results[0].SingleData.Should().NotBeNull();
            responseDocument.Results[0].SingleData.Type.Should().Be("textLanguages");
            responseDocument.Results[0].SingleData.Attributes["isoCode"].Should().Be(newLanguage.IsoCode);
            responseDocument.Results[0].SingleData.Attributes.Should().NotContainKey("concurrencyToken");
            responseDocument.Results[0].SingleData.Relationships.Should().NotBeEmpty();

            await _testContext.RunOnDatabaseAsync(async dbContext =>
            {
                TextLanguage languageInDatabase = await dbContext.TextLanguages.FirstWithIdAsync(newLanguage.Id);

                languageInDatabase.IsoCode.Should().Be(newLanguage.IsoCode);
            });
        }
Exemplo n.º 9
0
    public TextLanguage GetCurrentDialogueText()
    {
        LanguageTag currentLanguage = LanguageManager.Instance.currentLanguage;

        foreach (TextLanguage dialogueText in dialogueTexts)
        {
            if (dialogueText.language == currentLanguage)
            {
                currentDialogueText = dialogueText;
                break;
            }
        }

        return(currentDialogueText);
    }
Exemplo n.º 10
0
    public string GetCurrentText()
    {
        LanguageTag currentLanguage = LanguageManager.Instance.currentLanguage;

        foreach (TextLanguage text in texts)
        {
            if (text.language == currentLanguage)
            {
                currentDialogueText = text;
                break;
            }
        }

        return(currentDialogueText.sentences[0]);
    }
Exemplo n.º 11
0
    public void SetMenu(List <string> opciones, string categoria, AppController.Idiomas idioma)
    {
        CanvasController.instance.retrocesoPausado = true;

        for (int i = 0; i < opciones.Count; i++)
        {
            GameObject go = Instantiate(opcionPrefab, parentTransformOpciones, false);
            go.SetActive(true);
            TextLanguage textLanguage = go.GetComponentInChildren <TextLanguage>();
            textLanguage.SetText(opciones[i], idioma);
        }

        nombreCategoria.text = categoria;

        CanvasController.instance.botonDespliegueMenu.SetActive(false);
    }
        private void SetRecognitionParameters(string language, PageProcessingParams pageProcessingParams, List <string> dictionary, int languageWeight, int dictionaryWeight)
        {
            RecognizerParams recognizingParams = pageProcessingParams.RecognizerParams ?? engine.CreateRecognizerParams();

            pageProcessingParams.RecognizerParams = recognizingParams;
            if (dictionary != null)
            {
                TextLanguage textLanguage = makeTextLanguage(language, dictionary, languageWeight, dictionaryWeight);
                recognizingParams.TextLanguage = textLanguage;
            }
            else
            {
                recognizingParams.WritingStyle = GetWritingSyle(language);
                recognizingParams.SetPredefinedTextLanguage(language);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Reads the HTML file filename and sets its filtered
        /// contents into the cloud.
        /// Returns true, if successful.
        /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        public bool ReadHTMLFile(string filename, TextLanguage language)
        {
            SortedList <string, TagCloud.TagCloudControl.StringItem> sc = new SortedList <string, TagCloud.TagCloudControl.StringItem>();

            ClearAllItems();
            if (TagCloud.TXTHandling.ReadHTMLFile(out sc, filename, language))
            {
                // insert the read items into the StringCollection
                AddItem(sc);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 14
0
    public void SetMenu(List <string> opcionesEspañol, List <string> opcionesIngles, string nombreCategoria_, InputPrefabEspecial input)
    {
        Debug.Log("OPCIONES: " + opcionesEspañol.Count);
        CanvasController.instance.retrocesoPausado = true;

        for (int i = 0; i < opcionesEspañol.Count; i++)
        {
            GameObject go = Instantiate(opcionPrefab, parentTransformOpciones, false);
            go.SetActive(true);
            TextLanguage textLanguage = go.GetComponentInChildren <TextLanguage>();
            textLanguage.SetText(opcionesEspañol[i], AppController.Idiomas.Español);
            textLanguage.SetText(opcionesIngles[i], AppController.Idiomas.Ingles);
        }

        nombreCategoria.text = nombreCategoria_;

        inputEspecial = input;
    }
Exemplo n.º 15
0
    public void SetItemsEnd()
    {
        for (int i = 0; i < transportItems.Length; i++)
        {
            string sTransport = transportItems[i].transform.GetChild(1 + i % 2).GetComponentInChildren <TextMeshProUGUI>().text;
            //to do change language on dropdown
            nowDay.transportGreek[i]   = sTransport;
            nowDay.transportEnglish[i] = sTransport;
        }
        int itemIndex = 0;

        for (int i = 0; i < 7; i++)
        {
            GameObject target = endItems[itemIndex].gameObject;
            if (nowDay.activitiesOn[i])
            {
                string       messageGreek   = "";
                string       messageEnglish = "";
                TextLanguage tl;
                tl              = mainItems[i].GetComponentInChildren <TextLanguage>();
                messageGreek   += tl.textGreek;
                messageEnglish += tl.textEnglish;
                string withCoffeeGreek  = nowDay.coffee[itemIndex] ? " - με καφέ" : "";
                string withCoffeeEngish = nowDay.coffee[itemIndex] ? " - with coffee" : "";
                messageGreek   += withCoffeeGreek;
                messageEnglish += withCoffeeEngish;
                messageGreek   += " - " + nowDay.time[itemIndex];
                messageEnglish += " - " + nowDay.time[itemIndex];
                messageGreek   += " - " + nowDay.transportGreek[itemIndex];
                messageEnglish += " - " + nowDay.transportEnglish[itemIndex];
                TextLanguage targetTL = target.GetComponentInChildren <TextLanguage>();
                targetTL.textGreek   = messageGreek;
                targetTL.textEnglish = messageEnglish;
                targetTL.SetLanguage();
                itemIndex++;
                target.SetActive(true);
            }
        }
        //print("itemIndex: "+itemIndex.ToString());
        for (int i = itemIndex; i < 7; i++)
        {
            endItems[i].gameObject.SetActive(false);
        }
    }
    public void Setup(TextLanguage cTitleTL, int cAmount, string cPrice)
    {
        sample = false;
        //Items.Add(this);
        titleTL.textGreek   = cTitleTL.textGreek;
        titleTL.textEnglish = cTitleTL.textEnglish;
        titleTL.SetLanguage();
        //titleText.text = TextLanguageManager.language;

        amount          = cAmount;
        amountText.text = "X" + amount.ToString();
        string[] s1 = cPrice.Split(' ');
        priceOne = 0;
        float.TryParse(s1[1].Substring(0, s1[1].Length - 1), NumberStyles.Float, CultureInfo.InvariantCulture, out priceOne);
        priceOneText.text = priceOne.ToString("F2") + "€";
        price             = amount * priceOne;
        priceText.text    = price.ToString("F2") + "€";
        gameObject.SetActive(true);
    }
Exemplo n.º 17
0
        static void Main(string[] args)
        {
            var context = new ThaContext();
            var global  = context.GlobalGoals
                          .Include(gg => gg.Translation.Languages)
                          .FirstOrDefault(gg => gg.Id == 1);
            var ggText = global.Translation.Languages
                         .FirstOrDefault(l => l.LanguageISO == "US");

            Console.WriteLine("descr: " + ggText.Description);
            Console.WriteLine("title: " + ggText.Title);

            var title       = "Lækkert lækkert sted";
            var description = "Der var sovs";
            var ISO         = "DK";

            var contextSave = new ThaContext();
            var lang        = contextSave.Languages
                              .FirstOrDefault(l => l.ISO == ISO);
            var textLanguage = new TextLanguage()
            {
                Language    = lang,
                Title       = title,
                Description = description
            };
            var dkGlobalGoal = new GlobalGoal()
            {
                Translation = new Text()
                {
                    Languages = new List <TextLanguage>()
                    {
                        textLanguage
                    }
                }
            };

            contextSave.GlobalGoals.Add(dkGlobalGoal);

            contextSave.SaveChanges();

            Console.WriteLine("Waiting!!!!");
            Console.ReadLine();
        }
Exemplo n.º 18
0
        public async Task Returns_resource_meta_in_update_resource_with_side_effects()
        {
            // Arrange
            TextLanguage existingLanguage = _fakers.TextLanguage.Generate();

            await _testContext.RunOnDatabaseAsync(async dbContext =>
            {
                dbContext.TextLanguages.Add(existingLanguage);
                await dbContext.SaveChangesAsync();
            });

            var requestBody = new
            {
                atomic__operations = new[]
                {
                    new
                    {
                        op   = "update",
                        data = new
                        {
                            type       = "textLanguages",
                            id         = existingLanguage.StringId,
                            attributes = new
                            {
                            }
                        }
                    }
                }
            };

            const string route = "/operations";

            // Act
            (HttpResponseMessage httpResponse, AtomicOperationsDocument responseDocument) =
                await _testContext.ExecutePostAtomicAsync <AtomicOperationsDocument>(route, requestBody);

            // Assert
            httpResponse.Should().HaveStatusCode(HttpStatusCode.OK);

            responseDocument.Results.Should().HaveCount(1);
            responseDocument.Results[0].SingleData.Meta.Should().HaveCount(1);
            responseDocument.Results[0].SingleData.Meta["Notice"].Should().Be(TextLanguageMetaDefinition.NoticeText);
        }
Exemplo n.º 19
0
    public void SetItemsTime()
    {
        int itemIndex = 0;

        for (int i = 0; i < 7; i++)
        {
            GameObject target = timeItems[itemIndex].gameObject;
            if (nowDay.activitiesOn[i])
            {
                TextLanguage tl = mainItems[i].GetComponentInChildren <TextLanguage>();
                target.GetComponentInChildren <TextLanguage>().SetTo(tl);
                itemIndex++;
                target.SetActive(true);
            }
        }
        //print("itemIndex: "+itemIndex.ToString());
        for (int i = itemIndex; i < 7; i++)
        {
            timeItems[i].gameObject.SetActive(false);
        }
    }
Exemplo n.º 20
0
    public void CarregaXML()
    {
        Debug.Log("CarregaXML Inicio");

        texts.Clear();

        TextAsset   languageXML = (TextAsset)Resources.Load("Languages/language_" + language);
        XmlDocument xmlDoc      = new XmlDocument();

        xmlDoc.LoadXml(languageXML.text);
        XmlNodeList textsList = xmlDoc.GetElementsByTagName("text");

        foreach (XmlNode node in textsList)
        {
            XmlNodeList textContent = node.ChildNodes;
            textLanguageObj = new TextLanguage();

            foreach (XmlNode item in textContent)
            {
                if (item.Name == "id")
                {
                    textLanguageObj.Id = item.InnerText;
                }

                if (item.Name == "content")
                {
                    textLanguageObj.Content = item.InnerText;
                }
            }
            texts.Add(textLanguageObj);
        }

        Debug.Log("CarregaXML Fim");
        if (Application.loadedLevelName != "Menu")
        {
            Invoke("CarregarTelaMenu", 2f);
        }
    }
Exemplo n.º 21
0
    public void OpenDay(CalenderDay day)
    {
        nowDay = day;

        OpenPanel(0);

        Toggle2[] toggles = dayCanvas.GetComponentsInChildren <Toggle2>(true) as Toggle2[];
        foreach (Toggle2 toggle in toggles)
        {
            toggle.Set(false);
        }

        activityEnabled = new bool[7];
        for (int i = 0; i < activityEnabled.Length; i++)
        {
            if (nowDay.isCompleted && nowDay.activities.Count > i)
            {
                activityEnabled[i] = true;
            }
            else
            {
                activityEnabled[i] = false;
            }
        }

        string newTextEnglish = ((Weekday)day.weekday).ToString() + " " + day.day + " March";
        string newTextGreek   = ((WeekdayGreek)day.weekday).ToString() + " " + day.day + " Μαρτίου";

        TextLanguage tl = cw1DayTitleText.GetComponent <TextLanguage>();

        tl.textGreek   = newTextGreek;
        tl.textEnglish = newTextEnglish;
        tl.SetLanguage();

        dayCanvas.SetActive(true);
    }
Exemplo n.º 22
0
 public void SetTo(TextLanguage other)
 {
     textGreek   = other.textGreek;
     textEnglish = other.textEnglish;
     SetLanguage();
 }
        public async Task Update_resource_with_side_effects_returns_absolute_links()
        {
            // Arrange
            TextLanguage  existingLanguage = _fakers.TextLanguage.Generate();
            RecordCompany existingCompany  = _fakers.RecordCompany.Generate();

            await _testContext.RunOnDatabaseAsync(async dbContext =>
            {
                dbContext.AddRange(existingLanguage, existingCompany);
                await dbContext.SaveChangesAsync();
            });

            var requestBody = new
            {
                atomic__operations = new object[]
                {
                    new
                    {
                        op   = "update",
                        data = new
                        {
                            type       = "textLanguages",
                            id         = existingLanguage.StringId,
                            attributes = new
                            {
                            }
                        }
                    },
                    new
                    {
                        op   = "update",
                        data = new
                        {
                            type       = "recordCompanies",
                            id         = existingCompany.StringId,
                            attributes = new
                            {
                            }
                        }
                    }
                }
            };

            const string route = "/operations";

            // Act
            (HttpResponseMessage httpResponse, AtomicOperationsDocument responseDocument) =
                await _testContext.ExecutePostAtomicAsync <AtomicOperationsDocument>(route, requestBody);

            // Assert
            httpResponse.Should().HaveStatusCode(HttpStatusCode.OK);

            responseDocument.Results.Should().HaveCount(2);

            string languageLink = HostPrefix + "/textLanguages/" + existingLanguage.StringId;

            ResourceObject singleData1 = responseDocument.Results[0].SingleData;

            singleData1.Should().NotBeNull();
            singleData1.Links.Should().NotBeNull();
            singleData1.Links.Self.Should().Be(languageLink);
            singleData1.Relationships.Should().NotBeEmpty();
            singleData1.Relationships["lyrics"].Links.Should().NotBeNull();
            singleData1.Relationships["lyrics"].Links.Self.Should().Be(languageLink + "/relationships/lyrics");
            singleData1.Relationships["lyrics"].Links.Related.Should().Be(languageLink + "/lyrics");

            string companyLink = HostPrefix + "/recordCompanies/" + existingCompany.StringId;

            ResourceObject singleData2 = responseDocument.Results[1].SingleData;

            singleData2.Should().NotBeNull();
            singleData2.Links.Should().NotBeNull();
            singleData2.Links.Self.Should().Be(companyLink);
            singleData2.Relationships.Should().NotBeEmpty();
            singleData2.Relationships["tracks"].Links.Should().NotBeNull();
            singleData2.Relationships["tracks"].Links.Self.Should().Be(companyLink + "/relationships/tracks");
            singleData2.Relationships["tracks"].Links.Related.Should().Be(companyLink + "/tracks");
        }
Exemplo n.º 24
0
        private void SeperateOneDbText(DocumentModifier docMdf, DBText txt, BlockTableRecord btr)
        {
            var txtStr = txt.TextString;

            if (txtStr.Length == 0)
            {
                return;
            }
            // if (txtStr.Length == 1) return;
            // 单行文字中至少有一个字符

            bool         lasteIsEng      = (int)txtStr[0] < 127;
            TextLanguage curTextLanguage = new TextLanguage(isEng: lasteIsEng);
            var          sepTexts        = new List <TextLanguage> {
                curTextLanguage
            };                                                         // 分割好的文字

            for (int i = 0; i < txtStr.Length; i++)
            {
                char c = txtStr[i];
                // 如果是空格,则保持其前面的中英文类型
                if (char.IsWhiteSpace(c))
                {
                    curTextLanguage.Append(c);
                }
                // 1、用ASCII码判断:在 ASCII码表中,英文的范围是0 - 127,而汉字则是大于127。
                else if ((int)c > 127) // 说明是中文
                {
                    if (lasteIsEng)
                    {
                        curTextLanguage = new TextLanguage(false);
                        sepTexts.Add(curTextLanguage);
                        //
                    }
                    curTextLanguage.Append(c);
                    lasteIsEng = false;
                }
                else // 说明是英文
                {
                    if (!lasteIsEng)
                    {
                        curTextLanguage = new TextLanguage(true);
                        sepTexts.Add(curTextLanguage);
                        //
                    }
                    curTextLanguage.Append(c);
                    lasteIsEng = true;
                }
            }
            // ------------- 对分割好的文字进行处理
            double selfMoveY;
            double nextMoveX;
            var    firstT = sepTexts[0];

            if (sepTexts.Count == 1)
            {
                // 只修改字高,不修改定位
                txt.UpgradeOpen();
                txt.Height = GetStringHeight(firstT._isEng, out nextMoveX, out selfMoveY);
                txt.DowngradeOpen();
            }
            else if (sepTexts.Count > 1)
            {
                DBText  leftTxt = txt;
                DBText  rightTxt;
                Point3d oriLeftBottom = leftTxt.Position; // 全部文本的最左下角点

                // 先处理第一批字符
                leftTxt.UpgradeOpen();
                leftTxt.TextString = firstT.Text;

                // 将对齐方式转换为默认的左对齐
                leftTxt.SetAlignment();
                //
                leftTxt.Height   = GetStringHeight(firstT._isEng, out nextMoveX, out selfMoveY);
                leftTxt.Position = new Point3d(oriLeftBottom.X, oriLeftBottom.Y + selfMoveY, oriLeftBottom.Z);

                // GetStringWidth(firstT._isEng, firstT.Text.Length, originalHeight, widthFactor);
                leftTxt.DowngradeOpen();
                //
                var     leftWidth = 0.0; // GetTextWidth(leftTxt); // 左侧文本的左下角点到全部文本最左下角点的距离
                var     rota      = leftTxt.Rotation;
                var     thisMoveX = nextMoveX;
                Point3d startPosition;;  // 字符末端的坐标
                // 处理后面的字符串
                for (int i = 1; i < sepTexts.Count; i++)
                {
                    var tl = sepTexts[i];
                    rightTxt            = leftTxt.GetTransformedCopy(Matrix3d.Identity) as DBText;
                    rightTxt.TextString = tl.Text;
                    rightTxt.Height     = GetStringHeight(tl._isEng, out nextMoveX, out selfMoveY);
                    startPosition       = GetStartPosition(oriLeftBottom, ref leftWidth, leftTxt, rota, thisMoveX, selfMoveY);
                    rightTxt.Position   = startPosition;
                    //
                    thisMoveX = nextMoveX;
                    leftTxt   = rightTxt;
                    // GetStringWidth(tl._isEng, tl.Text.Length, originalHeight, widthFactor);
                    // 添加到数据库中
                    btr.AppendEntity(rightTxt);
                    docMdf.acTransaction.AddNewlyCreatedDBObject(rightTxt, true);
                }
            }
        }