private void CreateGlobals(string style)
        {
            if (!ExcludeCommon)
            {
                AppendLine("labels-global:");
                _indent++;
                AppendLine("    - &text_visible         true");
                AppendLine("    - &debug_visible        true");
                _indent--;

                AppendLine("global:");
                _indent++;

                //AppendLine("default_order: function() { return feature.sort_key || 0; }");

                // AppendLine("language: en");

                AppendLine("default_text_source: |");
                _indent++;
                AppendLine("function() {");
                _indent++;
                //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;");
                AppendLine(
                    "if (feature.ref && feature.name_en ) { return feature.ref +\" \" + feature.name_en; } else if (feature.name_en) { return feature.name_en; } else { return feature.ref; }");
                _indent--;
                AppendLine("}");
                _indent--;

                AppendLine("name_source: |");
                _indent++;
                AppendLine("function() {");
                _indent++;
                //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;");
                AppendLine("{ return feature.name_en; }");
                _indent--;
                AppendLine("}");
                _indent--;

                AppendLine("ref_source: |");
                _indent++;
                AppendLine("function() {");
                _indent++;
                //AppendLine("return (global.language && feature['name_' + global.language]) || feature.name;");
                AppendLine(
                    "if (feature.ref) { return feature.ref; } else if (feature.name) { return feature.name; } else { return \"No Ref\"; }");
                _indent--;
                AppendLine("}");
                _indent--;

                _indent = 0;

                AppendLine("styles:");
                _indent++;
                AppendLine(RailLinesDash + ":");
                _indent++;
                AppendLine("base: lines");
                AppendLine("texcoords: true");
                AppendLine("shaders:");
                _indent++;
                AppendLine("defines:");
                _indent++;
                AppendLine("DASH_SIZE: .9");
                AppendLine("DASH_SCALE: .6");
                _indent--;
                AppendLine("blocks:");
                _indent++;
                AppendLine("filter: |");
                _indent++;
                AppendLine("if (step(DASH_SIZE, fract(v_texcoord.y * DASH_SCALE)) == 0.)");
                AppendLine("{");
                AppendLine("discard;");
                AppendLine("}");
                _indent = 0;
                _indent++;
                AppendLine(CustomLinesDash + ":");
                _indent++;
                AppendLine("base: lines");
                AppendLine("dash: [2,2]");

                _indent = 0;
                _indent++;
                AppendLine("icons:");
                _indent++;
                AppendLine("base: points");
                AppendLine("texture: pois");
                AppendLine("interactive: true");
                //AppendLine("blend_order: 1");

                _indent = 0;
                _indent++;
                AppendLine("lines-blended:");
                _indent++;
                AppendLine("base: lines");
                AppendLine("blend: inlay");

                _indent = 0;
                _indent++;
                AppendLine("polys-blended:");
                _indent++;
                AppendLine("base: polygons");
                AppendLine("blend: inlay");

                _indent = 0;

                AppendLine("cameras:");
                _indent++;
                AppendLine("perspective:");
                _indent++;
                AppendLine("type: perspective");
                AppendLine("vanishing_point: [0, -500]");
                _indent = 0;
            }

            /*AppendLine("lights:");
             * _indent++;
             * AppendLine("directional1:");
             * _indent++;
             * AppendLine("type: directional");
             * AppendLine("direction: [.1, .5, -1]");
             * AppendLine("diffuse: .7");
             * AppendLine("ambient: .5");
             * _indent = 0;*/

            if (IncludeSprites)
            {
                string variant = ""; // @2x

                AppendLine("textures:");
                _indent++;
                AppendLine("pois:");
                _indent++;
                AppendLine($"url: images/{style}{variant}.png");
                AppendLine("filtering: mipmap");
                AppendLine("sprites:");
                _indent++;

                var sprites = SpriteConverter.GetSprites($"{AppDomain.CurrentDomain.BaseDirectory}\\Styles\\{style}\\sprite\\{style}{variant}.json");
                foreach (var sprite in sprites)
                {
                    AppendLine($"{sprite.Name}: [{sprite.X},{sprite.Y},{sprite.Width},{sprite.Height}]");
                }

                _indent = 0;
            }
        }