diff --git a/.gitignore b/.gitignore index 7e6cfd6136..f8f9741bb1 100644 --- a/.gitignore +++ b/.gitignore @@ -112,24 +112,3 @@ tests/*/publish/ # Android project.properties - -# Ignore large binary files -external/curl -external/freetype2 -external/glfw3 -external/jpeg -external/linux-specific -external/lua/lua/prebuilt/ios -external/lua/luajit/prebuilt -external/png -external/sqlite3 -external/tiff -external/webp -external/websockets -external/win32-specific -external/winrt-specific -external/wp8-specific -templates/lua-template-runtime/runtime -tests/cpp-tests/Resources -tests/lua-tests/res -/cocos2d-x-deps-v3-1.zip diff --git a/tests/cpp-tests/Resources/.gitignore b/tests/cpp-tests/Resources/.gitignore new file mode 100755 index 0000000000..1d65afe366 --- /dev/null +++ b/tests/cpp-tests/Resources/.gitignore @@ -0,0 +1,2 @@ +#Do now ignore Marmalade icf files +!*.icf diff --git a/tests/cpp-tests/Resources/CocosBuilderExample.ccbproj b/tests/cpp-tests/Resources/CocosBuilderExample.ccbproj new file mode 100755 index 0000000000..c47ec34ace --- /dev/null +++ b/tests/cpp-tests/Resources/CocosBuilderExample.ccbproj @@ -0,0 +1,72 @@ + + + + + deviceOrientationLandscapeLeft + + deviceOrientationLandscapeRight + + deviceOrientationPortrait + + deviceOrientationUpsideDown + + exporter + ccbi + fileType + CocosBuilderProject + fileVersion + 1 + flattenPaths + + generatedSpriteSheets + + javascriptBased + + javascriptMainCCB + + onlyPublishCCBs + + publishDirectory + . + publishDirectoryAndroid + + publishDirectoryHTML5 + + publishEnabledAndroid + + publishEnabledHTML5 + + publishEnablediPhone + + publishResolutionHTML5_height + 640 + publishResolutionHTML5_scale + 2 + publishResolutionHTML5_width + 960 + publishResolution_ + + publishResolution_hd + + publishResolution_ipad + + publishResolution_ipadhd + + publishResolution_large + + publishResolution_medium + + publishResolution_small + + publishResolution_xlarge + + publishResolution_xsmall + + publishToZipFile + + resourceAutoScaleFactor + 4 + resourcePaths + + + diff --git a/tests/cpp-tests/Resources/CocosBuilderExample.ccbresourcelog b/tests/cpp-tests/Resources/CocosBuilderExample.ccbresourcelog new file mode 100755 index 0000000000..9f6795b5a0 --- /dev/null +++ b/tests/cpp-tests/Resources/CocosBuilderExample.ccbresourcelog @@ -0,0 +1,416 @@ +animations/animations-2.plist +animations/animations.plist +animations/dragon_animation.png +animations/ghosts.plist +animations/ghosts.png +animations/grossini-aliases.plist +animations/grossini-aliases.png +animations/grossini.plist +animations/grossini.png +animations/grossini_blue.plist +animations/grossini_blue.png +animations/grossini_family.plist +animations/grossini_family.png +animations/grossini_gray.plist +animations/grossini_gray.png +ccb/animated-grossini.plist +ccb/animated-grossini.png +ccb/btn-a-0.png +ccb/btn-a-1.png +ccb/btn-a-2.png +ccb/btn-b-0.png +ccb/btn-b-1.png +ccb/btn-b-2.png +ccb/btn-back-0.png +ccb/btn-back-1.png +ccb/btn-test-0.png +ccb/btn-test-1.png +ccb/btn-test-2.png +ccb/burst.png +ccb/ccb/TestAnimations.ccbi +ccb/ccb/TestAnimationsSub.ccbi +ccb/ccb/TestButtons.ccbi +ccb/ccb/TestHeader.ccbi +ccb/ccb/TestLabels.ccbi +ccb/ccb/TestMenus.ccbi +ccb/ccb/TestParticleSystems.ccbi +ccb/ccb/TestScrollViews.ccbi +ccb/ccb/TestScrollViewsContentA.ccbi +ccb/ccb/TestSprites.ccbi +ccb/comic andy.ttf +ccb/flower.jpg +ccb/grossini-generic.plist +ccb/grossini-generic.png +ccb/HelloCocosBuilder.ccbi +ccb/jungle-left.png +ccb/jungle-right.png +ccb/jungle.png +ccb/logo-icon.png +ccb/logo.png +ccb/markerfelt24shadow.fnt +ccb/markerfelt24shadow.png +ccb/particle-fire.png +ccb/particle-smoke.png +ccb/particle-snow.png +ccb/particle-stars.png +ccb/scale-9-demo.png +extensions/background.png +extensions/button.png +extensions/buttonBackground.png +extensions/buttonHighlighted.png +extensions/CCControlColourPickerSpriteSheet.plist +extensions/CCControlColourPickerSpriteSheet.png +extensions/green_edit.png +extensions/orange_edit.png +extensions/potentiometerButton.png +extensions/potentiometerProgress.png +extensions/potentiometerTrack.png +extensions/ribbon.png +extensions/sliderProgress.png +extensions/sliderProgress2.png +extensions/sliderThumb.png +extensions/sliderTrack.png +extensions/sliderTrack2.png +extensions/stepper-minus.png +extensions/stepper-plus.png +extensions/switch-mask.png +extensions/switch-off.png +extensions/switch-on.png +extensions/switch-thumb.png +extensions/yellow_edit.png +fonts/A Damn Mess.ttf +fonts/Abberancy.ttf +fonts/Abduction.ttf +fonts/American Typewriter.ttf +fonts/arial-unicode-26.fnt +fonts/arial-unicode-26.png +fonts/arial.ttf +fonts/arial16.fnt +fonts/arial16.png +fonts/bitmapFontChinese.fnt +fonts/bitmapFontChinese.png +fonts/bitmapFontTest.fnt +fonts/bitmapFontTest.png +fonts/bitmapFontTest2.fnt +fonts/bitmapFontTest2.png +fonts/bitmapFontTest3.fnt +fonts/bitmapFontTest3.png +fonts/bitmapFontTest4.fnt +fonts/bitmapFontTest4.png +fonts/bitmapFontTest5.fnt +fonts/bitmapFontTest5.png +fonts/Courier New.ttf +fonts/font-issue1343-hd.fnt +fonts/font-issue1343-hd.png +fonts/font-issue1343.fnt +fonts/font-issue1343.png +fonts/futura-48.fnt +fonts/futura-48.png +fonts/geneva-32.fnt +fonts/helvetica-32.fnt +fonts/helvetica-geneva-32.png +fonts/konqa32.fnt +fonts/konqa32.png +fonts/labelatlas.png +fonts/larabie-16.plist +fonts/larabie-16.png +fonts/Marker Felt.ttf +fonts/markerFelt.fnt +fonts/markerFelt.png +fonts/Paint Boy.ttf +fonts/Schwarzwald Regular.ttf +fonts/Scissor Cuts.ttf +fonts/tahoma.ttf +fonts/Thonburi.ttf +fonts/ThonburiBold.ttf +fonts/tuffy_bold_italic-charmap.plist +fonts/tuffy_bold_italic-charmap.png +fonts/west_england-64.fnt +fonts/west_england-64.png +fps_images.png +hd/animations/dragon_animation.png +hd/ccb/burst.png +hd/extensions/background.png +hd/extensions/button.png +hd/extensions/buttonHighlighted.png +hd/extensions/CCControlColourPickerSpriteSheet.plist +hd/extensions/CCControlColourPickerSpriteSheet.png +hd/extensions/potentiometerButton.png +hd/extensions/potentiometerProgress.png +hd/extensions/potentiometerTrack.png +hd/extensions/ribbon.png +hd/extensions/sliderProgress.png +hd/extensions/sliderProgress2.png +hd/extensions/sliderThumb.png +hd/extensions/sliderTrack.png +hd/extensions/sliderTrack2.png +hd/extensions/stepper-minus.png +hd/extensions/stepper-plus.png +hd/fonts/font-issue1343.fnt +hd/fonts/font-issue1343.png +hd/fonts/konqa32.fnt +hd/fonts/konqa32.png +hd/fonts/labelatlas.png +hd/fonts/larabie-16.plist +hd/fonts/larabie-16.png +hd/fonts/markerFelt.fnt +hd/fonts/markerFelt.png +hd/fonts/tuffy_bold_italic-charmap.plist +hd/fonts/tuffy_bold_italic-charmap.png +hd/fps_images.png +hd/Images/arrows.png +hd/Images/arrowsBar.png +hd/Images/b1.png +hd/Images/b2.png +hd/Images/background1.jpg +hd/Images/background1.png +hd/Images/background2.jpg +hd/Images/background2.png +hd/Images/background3.png +hd/Images/ball.png +hd/Images/blocks.png +hd/Images/bugs/circle.plist +hd/Images/bugs/circle.png +hd/Images/bugs/picture.png +hd/Images/bugs/test_issue_1179.png +hd/Images/close.png +hd/Images/f1.png +hd/Images/f2.png +hd/Images/grossini.png +hd/Images/grossini_dance_atlas.png +hd/Images/grossinis_sister1.png +hd/Images/grossinis_sister2.png +hd/Images/Icon.png +hd/Images/only_in_hd.pvr.ccz +hd/Images/paddle.png +hd/Images/particles.png +hd/Images/r1.png +hd/Images/r2.png +hd/TileMaps/tiles.png +hd/TileMaps/tmw_desert_spacing.png +Hello.png +Images/arrows.png +Images/arrowsBar.png +Images/atlastest.png +Images/b1.png +Images/b2.png +Images/background.png +Images/background1.jpg +Images/background1.png +Images/background2.jpg +Images/background2.png +Images/background3.jpg +Images/background3.png +Images/ball.png +Images/bitmapFontTest3.fnt +Images/bitmapFontTest3.png +Images/blocks.png +Images/btn-about-normal.png +Images/btn-about-selected.png +Images/btn-highscores-normal.png +Images/btn-highscores-selected.png +Images/btn-play-normal.png +Images/btn-play-selected.png +Images/bugs/bug886.jpg +Images/bugs/bug886.png +Images/bugs/circle.plist +Images/bugs/circle.png +Images/bugs/corner.png +Images/bugs/edge.png +Images/bugs/fill.png +Images/bugs/picture.png +Images/bugs/RetinaDisplay.jpg +Images/close.png +Images/Comet.png +Images/f1.png +Images/f2.png +Images/fire-grayscale.png +Images/fire.png +Images/Fog.png +Images/grossini.png +Images/grossini_128x256_mipmap.pvr +Images/grossini_dance_01.png +Images/grossini_dance_02.png +Images/grossini_dance_03.png +Images/grossini_dance_04.png +Images/grossini_dance_05.png +Images/grossini_dance_06.png +Images/grossini_dance_07.png +Images/grossini_dance_08.png +Images/grossini_dance_09.png +Images/grossini_dance_10.png +Images/grossini_dance_11.png +Images/grossini_dance_12.png +Images/grossini_dance_13.png +Images/grossini_dance_14.png +Images/grossini_dance_atlas-mono.png +Images/grossini_dance_atlas.png +Images/grossini_dance_atlas_nomipmap.png +Images/grossini_pvr_rgba4444.pvr +Images/grossini_pvr_rgba8888.pvr +Images/grossinis_sister1-testalpha.png +Images/grossinis_sister1-testalpha.ppng +Images/grossinis_sister1.png +Images/grossinis_sister2.png +Images/HelloWorld.png +Images/Icon.png +Images/labelatlas.png +Images/landscape-1024x1024.png +Images/logo-mipmap.pvr +Images/logo-nomipmap.pvr +Images/menuitemsprite.png +Images/paddle.png +Images/particles.png +Images/pattern1.png +Images/Pea.png +Images/piece.png +Images/PlanetCute-1024x1024.png +Images/powered.png +Images/r1.png +Images/r2.png +Images/SendScoreButton.png +Images/SendScoreButtonPressed.png +Images/snow.png +Images/SpinningPeas.png +Images/SpookyPeas.png +Images/sprites_test/sprite-0-0.png +Images/sprites_test/sprite-0-1.png +Images/sprites_test/sprite-0-2.png +Images/sprites_test/sprite-0-3.png +Images/sprites_test/sprite-0-4.png +Images/sprites_test/sprite-0-5.png +Images/sprites_test/sprite-0-6.png +Images/sprites_test/sprite-0-7.png +Images/sprites_test/sprite-1-0.png +Images/sprites_test/sprite-1-1.png +Images/sprites_test/sprite-1-2.png +Images/sprites_test/sprite-1-3.png +Images/sprites_test/sprite-1-4.png +Images/sprites_test/sprite-1-5.png +Images/sprites_test/sprite-1-6.png +Images/sprites_test/sprite-1-7.png +Images/sprites_test/sprite-2-0.png +Images/sprites_test/sprite-2-1.png +Images/sprites_test/sprite-2-2.png +Images/sprites_test/sprite-2-3.png +Images/sprites_test/sprite-2-4.png +Images/sprites_test/sprite-2-5.png +Images/sprites_test/sprite-2-6.png +Images/sprites_test/sprite-2-7.png +Images/sprites_test/sprite-3-0.png +Images/sprites_test/sprite-3-1.png +Images/sprites_test/sprite-3-2.png +Images/sprites_test/sprite-3-3.png +Images/sprites_test/sprite-3-4.png +Images/sprites_test/sprite-3-5.png +Images/sprites_test/sprite-3-6.png +Images/sprites_test/sprite-3-7.png +Images/sprites_test/sprite-4-0.png +Images/sprites_test/sprite-4-1.png +Images/sprites_test/sprite-4-2.png +Images/sprites_test/sprite-4-3.png +Images/sprites_test/sprite-4-4.png +Images/sprites_test/sprite-4-5.png +Images/sprites_test/sprite-4-6.png +Images/sprites_test/sprite-4-7.png +Images/sprites_test/sprite-5-0.png +Images/sprites_test/sprite-5-1.png +Images/sprites_test/sprite-5-2.png +Images/sprites_test/sprite-5-3.png +Images/sprites_test/sprite-5-4.png +Images/sprites_test/sprite-5-5.png +Images/sprites_test/sprite-5-6.png +Images/sprites_test/sprite-5-7.png +Images/sprites_test/sprite-6-0.png +Images/sprites_test/sprite-6-1.png +Images/sprites_test/sprite-6-2.png +Images/sprites_test/sprite-6-3.png +Images/sprites_test/sprite-6-4.png +Images/sprites_test/sprite-6-5.png +Images/sprites_test/sprite-6-6.png +Images/sprites_test/sprite-6-7.png +Images/sprites_test/sprite-7-0.png +Images/sprites_test/sprite-7-1.png +Images/sprites_test/sprite-7-2.png +Images/sprites_test/sprite-7-3.png +Images/sprites_test/sprite-7-4.png +Images/sprites_test/sprite-7-5.png +Images/sprites_test/sprite-7-6.png +Images/sprites_test/sprite-7-7.png +Images/spritesheet1.png +Images/stars-grayscale.png +Images/stars.png +Images/stars2-grayscale.png +Images/stars2.png +Images/streak.png +Images/test-rgba1.png +Images/test_1021x1024.png +Images/test_1021x1024_a8.pvr +Images/test_1021x1024_rgb888.pvr +Images/test_1021x1024_rgba4444.pvr +Images/test_1021x1024_rgba8888.pvr +Images/test_blend.png +Images/test_image-bad_encoding.pvr +Images/test_image.png +Images/test_image.pvr +Images/test_image_a8.pvr +Images/test_image_ai88.pvr +Images/test_image_bgra8888.pvr +Images/test_image_i8.pvr +Images/test_image_pvrtc2bpp.pvr +Images/test_image_pvrtc4bpp.pvr +Images/test_image_rgb565.pvr +Images/test_image_rgb888.pvr +Images/test_image_rgba4444.pvr +Images/test_image_rgba4444.pvr.ccz +Images/test_image_rgba4444_mipmap.pvr +Images/test_image_rgba5551.pvr +Images/test_image_rgba8888.pvr +Images/texture1024x1024.png +Images/texture2048x2048.png +Images/texture512x512.png +Images/white-512x512.png +ipad/ccb/burst.png +ipad/ccb/jungle-left.png +ipad/ccb/jungle-right.png +ipad/extensions/background.png +ipad/extensions/CCControlColourPickerSpriteSheet.plist +ipad/extensions/CCControlColourPickerSpriteSheet.png +ipad/extensions/potentiometerButton.png +ipad/extensions/potentiometerProgress.png +ipad/extensions/potentiometerTrack.png +ipadhd/extensions/potentiometerButton.png +ipadhd/extensions/potentiometerProgress.png +ipadhd/extensions/potentiometerTrack.png +ipadhd/extensions/stepper-minus.png +ipadhd/extensions/stepper-plus.png +ipadhd/fps_images.png +Particles/BoilingFoam.plist +Particles/BurstPipe.plist +Particles/Comet.plist +Particles/debian.plist +Particles/ExplodingRing.plist +Particles/Flower.plist +Particles/Galaxy.plist +Particles/LavaFlow.plist +Particles/Phoenix.plist +Particles/SmallSun.plist +Particles/SpinningPeas.plist +Particles/Spiral.plist +Particles/SpookyPeas.plist +Particles/TestPremultipliedAlpha.plist +Particles/Upsidedown.plist +TileMaps/fixed-ortho-test2.png +TileMaps/hexa-tiles.png +TileMaps/iso-test.png +TileMaps/iso-test2.png +TileMaps/iso.png +TileMaps/ortho-test1.png +TileMaps/ortho-test1_bw.png +TileMaps/ortho-test2.png +TileMaps/tiles.png +TileMaps/tmw_desert_spacing.png +zwoptex/grossini-generic.plist +zwoptex/grossini-generic.png +zwoptex/grossini.plist +zwoptex/grossini.png diff --git a/tests/cpp-tests/Resources/Hello.png b/tests/cpp-tests/Resources/Hello.png new file mode 100755 index 0000000000..5fe89fb5bd Binary files /dev/null and b/tests/cpp-tests/Resources/Hello.png differ diff --git a/tests/cpp-tests/Resources/Images/Comet.png b/tests/cpp-tests/Resources/Images/Comet.png new file mode 100755 index 0000000000..fa1209bc51 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/Comet.png differ diff --git a/tests/cpp-tests/Resources/Images/CyanSquare.png b/tests/cpp-tests/Resources/Images/CyanSquare.png new file mode 100755 index 0000000000..6d0efb7003 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/CyanSquare.png differ diff --git a/tests/cpp-tests/Resources/Images/CyanTriangle.png b/tests/cpp-tests/Resources/Images/CyanTriangle.png new file mode 100755 index 0000000000..b443ce9ba9 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/CyanTriangle.png differ diff --git a/tests/cpp-tests/Resources/Images/ETC1.pkm b/tests/cpp-tests/Resources/Images/ETC1.pkm new file mode 100755 index 0000000000..7807e7efeb Binary files /dev/null and b/tests/cpp-tests/Resources/Images/ETC1.pkm differ diff --git a/tests/cpp-tests/Resources/Images/Fog.png b/tests/cpp-tests/Resources/Images/Fog.png new file mode 100755 index 0000000000..fc30666cf7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/Fog.png differ diff --git a/tests/cpp-tests/Resources/Images/HelloWorld.png b/tests/cpp-tests/Resources/Images/HelloWorld.png new file mode 100755 index 0000000000..5fe89fb5bd Binary files /dev/null and b/tests/cpp-tests/Resources/Images/HelloWorld.png differ diff --git a/tests/cpp-tests/Resources/Images/Icon.png b/tests/cpp-tests/Resources/Images/Icon.png new file mode 100755 index 0000000000..4fcc6fddff Binary files /dev/null and b/tests/cpp-tests/Resources/Images/Icon.png differ diff --git a/tests/cpp-tests/Resources/Images/MagentaSquare.png b/tests/cpp-tests/Resources/Images/MagentaSquare.png new file mode 100755 index 0000000000..e9f161e7ac Binary files /dev/null and b/tests/cpp-tests/Resources/Images/MagentaSquare.png differ diff --git a/tests/cpp-tests/Resources/Images/Pea.png b/tests/cpp-tests/Resources/Images/Pea.png new file mode 100755 index 0000000000..4b97bd1265 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/Pea.png differ diff --git a/tests/cpp-tests/Resources/Images/SendScoreButton.png b/tests/cpp-tests/Resources/Images/SendScoreButton.png new file mode 100755 index 0000000000..c0b900a5eb Binary files /dev/null and b/tests/cpp-tests/Resources/Images/SendScoreButton.png differ diff --git a/tests/cpp-tests/Resources/Images/SendScoreButtonPressed.png b/tests/cpp-tests/Resources/Images/SendScoreButtonPressed.png new file mode 100755 index 0000000000..71a4316b42 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/SendScoreButtonPressed.png differ diff --git a/tests/cpp-tests/Resources/Images/SpinningPeas.png b/tests/cpp-tests/Resources/Images/SpinningPeas.png new file mode 100755 index 0000000000..378d55f052 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/SpinningPeas.png differ diff --git a/tests/cpp-tests/Resources/Images/SpookyPeas.png b/tests/cpp-tests/Resources/Images/SpookyPeas.png new file mode 100755 index 0000000000..378d55f052 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/SpookyPeas.png differ diff --git a/tests/cpp-tests/Resources/Images/YellowSquare.png b/tests/cpp-tests/Resources/Images/YellowSquare.png new file mode 100755 index 0000000000..a6b4818def Binary files /dev/null and b/tests/cpp-tests/Resources/Images/YellowSquare.png differ diff --git a/tests/cpp-tests/Resources/Images/YellowTriangle.png b/tests/cpp-tests/Resources/Images/YellowTriangle.png new file mode 100755 index 0000000000..e6e03b352e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/YellowTriangle.png differ diff --git a/tests/cpp-tests/Resources/Images/arrows.png b/tests/cpp-tests/Resources/Images/arrows.png new file mode 100755 index 0000000000..b32243805d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/arrows.png differ diff --git a/tests/cpp-tests/Resources/Images/arrowsBar.png b/tests/cpp-tests/Resources/Images/arrowsBar.png new file mode 100755 index 0000000000..2c70da3c7e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/arrowsBar.png differ diff --git a/tests/cpp-tests/Resources/Images/atlastest.png b/tests/cpp-tests/Resources/Images/atlastest.png new file mode 100755 index 0000000000..2aaf84affb Binary files /dev/null and b/tests/cpp-tests/Resources/Images/atlastest.png differ diff --git a/tests/cpp-tests/Resources/Images/b1.png b/tests/cpp-tests/Resources/Images/b1.png new file mode 100755 index 0000000000..547e1c78c6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/b1.png differ diff --git a/tests/cpp-tests/Resources/Images/b2.png b/tests/cpp-tests/Resources/Images/b2.png new file mode 100755 index 0000000000..2818054a9c Binary files /dev/null and b/tests/cpp-tests/Resources/Images/b2.png differ diff --git a/tests/cpp-tests/Resources/Images/background.png b/tests/cpp-tests/Resources/Images/background.png new file mode 100755 index 0000000000..61c1c53747 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background.png differ diff --git a/tests/cpp-tests/Resources/Images/background1.jpg b/tests/cpp-tests/Resources/Images/background1.jpg new file mode 100755 index 0000000000..4dc6f5683e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background1.jpg differ diff --git a/tests/cpp-tests/Resources/Images/background1.png b/tests/cpp-tests/Resources/Images/background1.png new file mode 100755 index 0000000000..abd4b23cdf Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background1.png differ diff --git a/tests/cpp-tests/Resources/Images/background2.jpg b/tests/cpp-tests/Resources/Images/background2.jpg new file mode 100755 index 0000000000..d04c7f9966 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background2.jpg differ diff --git a/tests/cpp-tests/Resources/Images/background2.png b/tests/cpp-tests/Resources/Images/background2.png new file mode 100755 index 0000000000..b56dda22b7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background2.png differ diff --git a/tests/cpp-tests/Resources/Images/background3.jpg b/tests/cpp-tests/Resources/Images/background3.jpg new file mode 100755 index 0000000000..5cd54279f3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background3.jpg differ diff --git a/tests/cpp-tests/Resources/Images/background3.png b/tests/cpp-tests/Resources/Images/background3.png new file mode 100755 index 0000000000..15d3c36ce1 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/background3.png differ diff --git a/tests/cpp-tests/Resources/Images/ball.png b/tests/cpp-tests/Resources/Images/ball.png new file mode 100755 index 0000000000..632bf68652 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/ball.png differ diff --git a/tests/cpp-tests/Resources/Images/bitmapFontTest3.fnt b/tests/cpp-tests/Resources/Images/bitmapFontTest3.fnt new file mode 100755 index 0000000000..83499d6698 --- /dev/null +++ b/tests/cpp-tests/Resources/Images/bitmapFontTest3.fnt @@ -0,0 +1,102 @@ +info face="ActionJackson" size=28 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=30 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontTest3.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=24 xadvance=23 page=0 chnl=0 +char id=114 x=0 y=0 width=16 height=25 xoffset=0 yoffset=1 xadvance=14 page=0 chnl=0 +char id=82 x=16 y=0 width=16 height=25 xoffset=0 yoffset=1 xadvance=14 page=0 chnl=0 +char id=62 x=32 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=60 x=41 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=125 x=51 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=123 x=60 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=93 x=70 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=91 x=79 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=41 x=89 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=40 x=98 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=56 x=108 y=0 width=17 height=24 xoffset=0 yoffset=1 xadvance=15 page=0 chnl=0 +char id=105 x=125 y=0 width=19 height=24 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 +char id=101 x=144 y=0 width=18 height=24 xoffset=0 yoffset=1 xadvance=16 page=0 chnl=0 +char id=73 x=162 y=0 width=19 height=24 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 +char id=69 x=181 y=0 width=18 height=24 xoffset=0 yoffset=1 xadvance=16 page=0 chnl=0 +char id=59 x=199 y=0 width=11 height=23 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0 +char id=63 x=210 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=33 x=226 y=0 width=8 height=23 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0 +char id=48 x=234 y=0 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=57 x=252 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=54 x=268 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=53 x=285 y=0 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=52 x=304 y=0 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=51 x=322 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=49 x=338 y=0 width=16 height=23 xoffset=1 yoffset=2 xadvance=15 page=0 chnl=0 +char id=122 x=354 y=0 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=121 x=373 y=0 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=118 x=393 y=0 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=116 x=414 y=0 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=113 x=435 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=112 x=452 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=110 x=469 y=0 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=109 x=0 y=25 width=25 height=23 xoffset=0 yoffset=2 xadvance=22 page=0 chnl=0 +char id=108 x=25 y=25 width=21 height=23 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 +char id=107 x=46 y=25 width=19 height=23 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 +char id=106 x=65 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=100 x=85 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=98 x=104 y=25 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=97 x=122 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=90 x=143 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=89 x=162 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=86 x=182 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=84 x=203 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=81 x=224 y=25 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=80 x=241 y=25 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=78 x=258 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=77 x=278 y=25 width=25 height=23 xoffset=0 yoffset=2 xadvance=22 page=0 chnl=0 +char id=76 x=303 y=25 width=21 height=23 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 +char id=75 x=324 y=25 width=19 height=23 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 +char id=74 x=343 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=68 x=363 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=66 x=382 y=25 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=65 x=400 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=55 x=420 y=25 width=18 height=22 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=50 x=438 y=25 width=18 height=22 xoffset=1 yoffset=2 xadvance=17 page=0 chnl=0 +char id=120 x=456 y=25 width=23 height=22 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=117 x=479 y=25 width=22 height=22 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=115 x=0 y=48 width=16 height=22 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=111 x=16 y=48 width=17 height=22 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=102 x=33 y=48 width=20 height=22 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=88 x=53 y=48 width=23 height=22 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=85 x=76 y=48 width=22 height=22 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=83 x=98 y=48 width=16 height=22 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=79 x=114 y=48 width=17 height=22 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=70 x=131 y=48 width=20 height=22 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=92 x=151 y=48 width=12 height=21 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=119 x=163 y=48 width=24 height=21 xoffset=0 yoffset=2 xadvance=21 page=0 chnl=0 +char id=104 x=187 y=48 width=20 height=21 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=103 x=207 y=48 width=22 height=21 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=87 x=229 y=48 width=24 height=21 xoffset=0 yoffset=2 xadvance=21 page=0 chnl=0 +char id=72 x=253 y=48 width=20 height=21 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=71 x=273 y=48 width=22 height=21 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=47 x=295 y=48 width=11 height=20 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=124 x=306 y=48 width=11 height=20 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=99 x=317 y=48 width=18 height=20 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=67 x=335 y=48 width=18 height=20 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=126 x=353 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=38 x=370 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=35 x=387 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=37 x=404 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=36 x=421 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=94 x=438 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=64 x=455 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=43 x=472 y=48 width=17 height=17 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=58 x=489 y=48 width=9 height=17 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0 +char id=61 x=0 y=70 width=17 height=14 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=0 +char id=44 x=17 y=70 width=11 height=14 xoffset=0 yoffset=16 xadvance=9 page=0 chnl=0 +char id=39 x=28 y=70 width=11 height=14 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0 +char id=96 x=39 y=70 width=10 height=13 xoffset=1 yoffset=0 xadvance=9 page=0 chnl=0 +char id=34 x=49 y=70 width=20 height=13 xoffset=0 yoffset=0 xadvance=17 page=0 chnl=0 +char id=95 x=69 y=70 width=16 height=8 xoffset=1 yoffset=17 xadvance=16 page=0 chnl=0 +char id=45 x=85 y=70 width=17 height=8 xoffset=1 yoffset=10 xadvance=16 page=0 chnl=0 +char id=42 x=102 y=70 width=8 height=7 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0 +char id=46 x=110 y=70 width=9 height=7 xoffset=0 yoffset=18 xadvance=7 page=0 chnl=0 +kernings count=1 +kerning first=79 second=66 amount=-1 +kerning first=79 second=89 amount=-3 diff --git a/tests/cpp-tests/Resources/Images/bitmapFontTest3.png b/tests/cpp-tests/Resources/Images/bitmapFontTest3.png new file mode 100755 index 0000000000..d19379f5e7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bitmapFontTest3.png differ diff --git a/tests/cpp-tests/Resources/Images/blocks.png b/tests/cpp-tests/Resources/Images/blocks.png new file mode 100755 index 0000000000..c409b3bbbd Binary files /dev/null and b/tests/cpp-tests/Resources/Images/blocks.png differ diff --git a/tests/cpp-tests/Resources/Images/blocks9.png b/tests/cpp-tests/Resources/Images/blocks9.png new file mode 100755 index 0000000000..b02c0c7ca0 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/blocks9.png differ diff --git a/tests/cpp-tests/Resources/Images/blocks9r.png b/tests/cpp-tests/Resources/Images/blocks9r.png new file mode 100755 index 0000000000..d6c08720ae Binary files /dev/null and b/tests/cpp-tests/Resources/Images/blocks9r.png differ diff --git a/tests/cpp-tests/Resources/Images/blocks9ss.plist b/tests/cpp-tests/Resources/Images/blocks9ss.plist new file mode 100755 index 0000000000..d6f649cf75 --- /dev/null +++ b/tests/cpp-tests/Resources/Images/blocks9ss.plist @@ -0,0 +1,87 @@ + + + + + frames + + blocks9.png + + frame + {{67,153},{96,96}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{96,96}} + sourceSize + {96,96} + + blocks9r.png + + frame + {{67,55},{96,96}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{96,96}} + sourceSize + {96,96} + + grossini_dance_01.png + + frame + {{67,2},{51,109}} + offset + {0,-1} + rotated + + sourceColorRect + {{17,7},{51,109}} + sourceSize + {85,121} + + grossini_dance_02.png + + frame + {{2,113},{63,109}} + offset + {-6,-1} + rotated + + sourceColorRect + {{5,7},{63,109}} + sourceSize + {85,121} + + grossini_dance_03.png + + frame + {{2,2},{63,109}} + offset + {-6,-1} + rotated + + sourceColorRect + {{5,7},{63,109}} + sourceSize + {85,121} + + + metadata + + format + 2 + realTextureFileName + blocks9ss.png + size + {256,256} + smartupdate + $TexturePacker:SmartUpdate:d2e254c947e029d7d89809b3b6cdb952$ + textureFileName + blocks9ss.png + + + diff --git a/tests/cpp-tests/Resources/Images/blocks9ss.png b/tests/cpp-tests/Resources/Images/blocks9ss.png new file mode 100755 index 0000000000..9acb77c8a2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/blocks9ss.png differ diff --git a/tests/cpp-tests/Resources/Images/blocks9ss.tps b/tests/cpp-tests/Resources/Images/blocks9ss.tps new file mode 100755 index 0000000000..9f0eb77f1a Binary files /dev/null and b/tests/cpp-tests/Resources/Images/blocks9ss.tps differ diff --git a/tests/cpp-tests/Resources/Images/btn-about-normal-vertical.png b/tests/cpp-tests/Resources/Images/btn-about-normal-vertical.png new file mode 100755 index 0000000000..b8fbfaffab Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-about-normal-vertical.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-about-normal.png b/tests/cpp-tests/Resources/Images/btn-about-normal.png new file mode 100755 index 0000000000..cc70572ceb Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-about-normal.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-about-selected.png b/tests/cpp-tests/Resources/Images/btn-about-selected.png new file mode 100755 index 0000000000..3e128add37 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-about-selected.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-highscores-normal.png b/tests/cpp-tests/Resources/Images/btn-highscores-normal.png new file mode 100755 index 0000000000..2ef41a2836 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-highscores-normal.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-highscores-selected.png b/tests/cpp-tests/Resources/Images/btn-highscores-selected.png new file mode 100755 index 0000000000..cda72edb44 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-highscores-selected.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-play-normal.png b/tests/cpp-tests/Resources/Images/btn-play-normal.png new file mode 100755 index 0000000000..baf17158fc Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-play-normal.png differ diff --git a/tests/cpp-tests/Resources/Images/btn-play-selected.png b/tests/cpp-tests/Resources/Images/btn-play-selected.png new file mode 100755 index 0000000000..80b6a2ffec Binary files /dev/null and b/tests/cpp-tests/Resources/Images/btn-play-selected.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/RetinaDisplay.jpg b/tests/cpp-tests/Resources/Images/bugs/RetinaDisplay.jpg new file mode 100755 index 0000000000..948532b7a8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/RetinaDisplay.jpg differ diff --git a/tests/cpp-tests/Resources/Images/bugs/bug886.jpg b/tests/cpp-tests/Resources/Images/bugs/bug886.jpg new file mode 100755 index 0000000000..bfd0b39e2c Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/bug886.jpg differ diff --git a/tests/cpp-tests/Resources/Images/bugs/bug886.png b/tests/cpp-tests/Resources/Images/bugs/bug886.png new file mode 100755 index 0000000000..6b9dcb4915 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/bug886.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/circle.plist b/tests/cpp-tests/Resources/Images/bugs/circle.plist new file mode 100755 index 0000000000..3f3effaf44 --- /dev/null +++ b/tests/cpp-tests/Resources/Images/bugs/circle.plist @@ -0,0 +1,31 @@ + + + + + frames + + circle.png + + frame + {{0,0},{64,64}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{64,64}} + sourceSize + {64,64} + + + metadata + + format + 2 + size + {64,64} + textureFileName + circle.png + + + diff --git a/tests/cpp-tests/Resources/Images/bugs/circle.png b/tests/cpp-tests/Resources/Images/bugs/circle.png new file mode 100755 index 0000000000..e49cdb3fde Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/circle.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/corner.png b/tests/cpp-tests/Resources/Images/bugs/corner.png new file mode 100755 index 0000000000..c8d26a4d61 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/corner.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/edge.png b/tests/cpp-tests/Resources/Images/bugs/edge.png new file mode 100755 index 0000000000..62cdfbdaad Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/edge.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/fill.png b/tests/cpp-tests/Resources/Images/bugs/fill.png new file mode 100755 index 0000000000..b8845ac3f7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/fill.png differ diff --git a/tests/cpp-tests/Resources/Images/bugs/picture.png b/tests/cpp-tests/Resources/Images/bugs/picture.png new file mode 100755 index 0000000000..1833e88f76 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/bugs/picture.png differ diff --git a/tests/cpp-tests/Resources/Images/close.png b/tests/cpp-tests/Resources/Images/close.png new file mode 100755 index 0000000000..8593bf9f32 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/close.png differ diff --git a/tests/cpp-tests/Resources/Images/encryptedAtlas.plist b/tests/cpp-tests/Resources/Images/encryptedAtlas.plist new file mode 100755 index 0000000000..ab586aefc6 --- /dev/null +++ b/tests/cpp-tests/Resources/Images/encryptedAtlas.plist @@ -0,0 +1,35 @@ + + + + + frames + + powered.png + + frame + {{2,2},{200,297}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{200,297}} + sourceSize + {200,297} + + + metadata + + format + 2 + realTextureFileName + encryptedAtlas.pvr.ccz + size + {256,512} + smartupdate + $TexturePacker:SmartUpdate:24ccd3600ef46d42456b982614d6d174$ + textureFileName + encryptedAtlas.pvr.ccz + + + diff --git a/tests/cpp-tests/Resources/Images/encryptedAtlas.pvr.ccz b/tests/cpp-tests/Resources/Images/encryptedAtlas.pvr.ccz new file mode 100755 index 0000000000..1d159464aa Binary files /dev/null and b/tests/cpp-tests/Resources/Images/encryptedAtlas.pvr.ccz differ diff --git a/tests/cpp-tests/Resources/Images/encryptedAtlas.tps b/tests/cpp-tests/Resources/Images/encryptedAtlas.tps new file mode 100755 index 0000000000..d5c479c706 --- /dev/null +++ b/tests/cpp-tests/Resources/Images/encryptedAtlas.tps @@ -0,0 +1,162 @@ + + + + fileFormatVersion + 1 + variation + main + verbose + + autoSDSettings + + allowRotation + + quiet + + premultiplyAlpha + + shapeDebug + + dpi + 72 + dataFormat + cocos2d + textureFileName + encryptedAtlas.pvr.ccz + flipPVR + + ditherType + NearestNeighbour + backgroundColor + 0 + libGdx + + filtering + + x + Linear + y + Linear + + + shapePadding + 2 + jpgQuality + 80 + pngOptimizationLevel + 0 + textureSubPath + + textureFormat + pvr2ccz + borderPadding + 2 + maxTextureSize + + width + 2048 + height + 2048 + + fixedTextureSize + + width + -1 + height + -1 + + reduceBorderArtifacts + + algorithmSettings + + algorithm + MaxRects + freeSizeMode + Best + sizeConstraints + POT + forceSquared + + forceWordAligned + + maxRects + + heuristic + Best + + basic + + sortBy + Best + order + Ascending + + + andEngine + + minFilter + Linear + packageName + Texture + javaFileName + compressedAtlas.java + wrap + + s + Clamp + t + Clamp + + magFilter + MagLinear + + dataFileName + encryptedAtlas.plist + mainExtension + + forceIdenticalLayout + + outputFormat + RGBA8888 + contentProtection + + key + aaaaaaaabbbbbbbbccccccccdddddddd + + autoAliasEnabled + + trimSpriteNames + + globalSpriteSettings + + scale + 1 + scaleMode + Smooth + innerPadding + 0 + extrude + 0 + trimThreshold + 1 + trimMode + Trim + heuristicMask + + + fileList + + powered.png + + ignoreFileList + + replaceList + + ignoredWarnings + + commonDivisorX + 1 + commonDivisorY + 1 + + diff --git a/tests/cpp-tests/Resources/Images/f1.png b/tests/cpp-tests/Resources/Images/f1.png new file mode 100755 index 0000000000..4fd7bdbbb4 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/f1.png differ diff --git a/tests/cpp-tests/Resources/Images/f2.png b/tests/cpp-tests/Resources/Images/f2.png new file mode 100755 index 0000000000..e752eda24d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/f2.png differ diff --git a/tests/cpp-tests/Resources/Images/fire-grayscale.png b/tests/cpp-tests/Resources/Images/fire-grayscale.png new file mode 100755 index 0000000000..01e96e2f31 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/fire-grayscale.png differ diff --git a/tests/cpp-tests/Resources/Images/fire.png b/tests/cpp-tests/Resources/Images/fire.png new file mode 100755 index 0000000000..81c6d2410b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/fire.png differ diff --git a/tests/cpp-tests/Resources/Images/fire_rgba8888.pvr b/tests/cpp-tests/Resources/Images/fire_rgba8888.pvr new file mode 100755 index 0000000000..b3fd4dfa58 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/fire_rgba8888.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossini.png b/tests/cpp-tests/Resources/Images/grossini.png new file mode 100755 index 0000000000..afb316017e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_128x256_mipmap.pvr b/tests/cpp-tests/Resources/Images/grossini_128x256_mipmap.pvr new file mode 100755 index 0000000000..724f97ccf4 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_128x256_mipmap.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_01.png b/tests/cpp-tests/Resources/Images/grossini_dance_01.png new file mode 100755 index 0000000000..97e93d394d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_01.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_02.png b/tests/cpp-tests/Resources/Images/grossini_dance_02.png new file mode 100755 index 0000000000..2eba532a32 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_02.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_03.png b/tests/cpp-tests/Resources/Images/grossini_dance_03.png new file mode 100755 index 0000000000..544a1356d3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_03.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_04.png b/tests/cpp-tests/Resources/Images/grossini_dance_04.png new file mode 100755 index 0000000000..21db6b0c9b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_04.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_05.png b/tests/cpp-tests/Resources/Images/grossini_dance_05.png new file mode 100755 index 0000000000..26fc1bb3fc Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_05.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_06.png b/tests/cpp-tests/Resources/Images/grossini_dance_06.png new file mode 100755 index 0000000000..5248eb636d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_06.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_07.png b/tests/cpp-tests/Resources/Images/grossini_dance_07.png new file mode 100755 index 0000000000..159cb86c12 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_07.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_08.png b/tests/cpp-tests/Resources/Images/grossini_dance_08.png new file mode 100755 index 0000000000..afb316017e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_08.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_09.png b/tests/cpp-tests/Resources/Images/grossini_dance_09.png new file mode 100755 index 0000000000..3595e45a6f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_09.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_10.png b/tests/cpp-tests/Resources/Images/grossini_dance_10.png new file mode 100755 index 0000000000..6f3e36a767 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_10.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_11.png b/tests/cpp-tests/Resources/Images/grossini_dance_11.png new file mode 100755 index 0000000000..c201f068f2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_11.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_12.png b/tests/cpp-tests/Resources/Images/grossini_dance_12.png new file mode 100755 index 0000000000..89395c2461 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_12.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_13.png b/tests/cpp-tests/Resources/Images/grossini_dance_13.png new file mode 100755 index 0000000000..5026872179 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_13.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_14.png b/tests/cpp-tests/Resources/Images/grossini_dance_14.png new file mode 100755 index 0000000000..38c10271fa Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_14.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_atlas-mono.png b/tests/cpp-tests/Resources/Images/grossini_dance_atlas-mono.png new file mode 100755 index 0000000000..0a08f47624 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_atlas-mono.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_atlas.png b/tests/cpp-tests/Resources/Images/grossini_dance_atlas.png new file mode 100755 index 0000000000..4f654ae902 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_atlas.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_dance_atlas_nomipmap.png b/tests/cpp-tests/Resources/Images/grossini_dance_atlas_nomipmap.png new file mode 100755 index 0000000000..433053e373 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_dance_atlas_nomipmap.png differ diff --git a/tests/cpp-tests/Resources/Images/grossini_pvr_rgba4444.pvr b/tests/cpp-tests/Resources/Images/grossini_pvr_rgba4444.pvr new file mode 100755 index 0000000000..b6ae782ff2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_pvr_rgba4444.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossini_pvr_rgba8888.pvr b/tests/cpp-tests/Resources/Images/grossini_pvr_rgba8888.pvr new file mode 100755 index 0000000000..c419e691f9 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossini_pvr_rgba8888.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.png b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.png new file mode 100755 index 0000000000..cde864f674 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.png differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.ppng b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.ppng new file mode 100755 index 0000000000..10b625a828 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha.ppng differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_nopremult.pvr b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_nopremult.pvr new file mode 100755 index 0000000000..84ea5afd22 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_nopremult.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_premult.pvr b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_premult.pvr new file mode 100755 index 0000000000..e0d91fe1e8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister1-testalpha_premult.pvr differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister1.png b/tests/cpp-tests/Resources/Images/grossinis_sister1.png new file mode 100755 index 0000000000..6de1205c68 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister1.png differ diff --git a/tests/cpp-tests/Resources/Images/grossinis_sister2.png b/tests/cpp-tests/Resources/Images/grossinis_sister2.png new file mode 100755 index 0000000000..3683d7f79f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/grossinis_sister2.png differ diff --git a/tests/cpp-tests/Resources/Images/hole_effect.png b/tests/cpp-tests/Resources/Images/hole_effect.png new file mode 100755 index 0000000000..24ea114ebd Binary files /dev/null and b/tests/cpp-tests/Resources/Images/hole_effect.png differ diff --git a/tests/cpp-tests/Resources/Images/hole_stencil.png b/tests/cpp-tests/Resources/Images/hole_stencil.png new file mode 100755 index 0000000000..e27f848906 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/hole_stencil.png differ diff --git a/tests/cpp-tests/Resources/Images/labelatlas.png b/tests/cpp-tests/Resources/Images/labelatlas.png new file mode 100755 index 0000000000..e91d0af540 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/labelatlas.png differ diff --git a/tests/cpp-tests/Resources/Images/logo-mipmap.pvr b/tests/cpp-tests/Resources/Images/logo-mipmap.pvr new file mode 100755 index 0000000000..d90ae4877f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/logo-mipmap.pvr differ diff --git a/tests/cpp-tests/Resources/Images/logo-nomipmap.pvr b/tests/cpp-tests/Resources/Images/logo-nomipmap.pvr new file mode 100755 index 0000000000..7f6be67c91 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/logo-nomipmap.pvr differ diff --git a/tests/cpp-tests/Resources/Images/menuitemsprite.png b/tests/cpp-tests/Resources/Images/menuitemsprite.png new file mode 100755 index 0000000000..afc28e1967 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/menuitemsprite.png differ diff --git a/tests/cpp-tests/Resources/Images/noise.png b/tests/cpp-tests/Resources/Images/noise.png new file mode 100755 index 0000000000..32a561c7f6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/noise.png differ diff --git a/tests/cpp-tests/Resources/Images/nonencryptedAtlas.plist b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.plist new file mode 100755 index 0000000000..b10ab13cbd --- /dev/null +++ b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.plist @@ -0,0 +1,35 @@ + + + + + frames + + Icon.png + + frame + {{2,2},{57,57}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{57,57}} + sourceSize + {57,57} + + + metadata + + format + 2 + realTextureFileName + nonencryptedAtlas.pvr.ccz + size + {64,64} + smartupdate + $TexturePacker:SmartUpdate:5b30a75137a4f533396670236d41f11c$ + textureFileName + nonencryptedAtlas.pvr.ccz + + + diff --git a/tests/cpp-tests/Resources/Images/nonencryptedAtlas.pvr.ccz b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.pvr.ccz new file mode 100755 index 0000000000..765b6ab030 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.pvr.ccz differ diff --git a/tests/cpp-tests/Resources/Images/nonencryptedAtlas.tps b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.tps new file mode 100755 index 0000000000..1d5d3edc0d --- /dev/null +++ b/tests/cpp-tests/Resources/Images/nonencryptedAtlas.tps @@ -0,0 +1,162 @@ + + + + fileFormatVersion + 1 + variation + main + verbose + + autoSDSettings + + allowRotation + + quiet + + premultiplyAlpha + + shapeDebug + + dpi + 72 + dataFormat + cocos2d + textureFileName + nonencryptedAtlas.pvr.ccz + flipPVR + + ditherType + NearestNeighbour + backgroundColor + 0 + libGdx + + filtering + + x + Linear + y + Linear + + + shapePadding + 2 + jpgQuality + 80 + pngOptimizationLevel + 0 + textureSubPath + + textureFormat + pvr2ccz + borderPadding + 2 + maxTextureSize + + width + 2048 + height + 2048 + + fixedTextureSize + + width + -1 + height + -1 + + reduceBorderArtifacts + + algorithmSettings + + algorithm + MaxRects + freeSizeMode + Best + sizeConstraints + POT + forceSquared + + forceWordAligned + + maxRects + + heuristic + Best + + basic + + sortBy + Best + order + Ascending + + + andEngine + + minFilter + Linear + packageName + Texture + javaFileName + compressedAtlas.java + wrap + + s + Clamp + t + Clamp + + magFilter + MagLinear + + dataFileName + nonencryptedAtlas.plist + mainExtension + + forceIdenticalLayout + + outputFormat + RGBA8888 + contentProtection + + key + + + autoAliasEnabled + + trimSpriteNames + + globalSpriteSettings + + scale + 1 + scaleMode + Smooth + innerPadding + 0 + extrude + 0 + trimThreshold + 1 + trimMode + Trim + heuristicMask + + + fileList + + Icon.png + + ignoreFileList + + replaceList + + ignoredWarnings + + commonDivisorX + 1 + commonDivisorY + 1 + + diff --git a/tests/cpp-tests/Resources/Images/paddle.png b/tests/cpp-tests/Resources/Images/paddle.png new file mode 100755 index 0000000000..03cc9816c2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/paddle.png differ diff --git a/tests/cpp-tests/Resources/Images/particles.png b/tests/cpp-tests/Resources/Images/particles.png new file mode 100755 index 0000000000..ca6519ea57 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/particles.png differ diff --git a/tests/cpp-tests/Resources/Images/pattern1.png b/tests/cpp-tests/Resources/Images/pattern1.png new file mode 100755 index 0000000000..86ce74f2f2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/pattern1.png differ diff --git a/tests/cpp-tests/Resources/Images/piece.png b/tests/cpp-tests/Resources/Images/piece.png new file mode 100755 index 0000000000..8a63dc85f3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/piece.png differ diff --git a/tests/cpp-tests/Resources/Images/powered.png b/tests/cpp-tests/Resources/Images/powered.png new file mode 100755 index 0000000000..98a5695df6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/powered.png differ diff --git a/tests/cpp-tests/Resources/Images/r1.png b/tests/cpp-tests/Resources/Images/r1.png new file mode 100755 index 0000000000..827a77226e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/r1.png differ diff --git a/tests/cpp-tests/Resources/Images/r2.png b/tests/cpp-tests/Resources/Images/r2.png new file mode 100755 index 0000000000..727a1c687e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/r2.png differ diff --git a/tests/cpp-tests/Resources/Images/snow.png b/tests/cpp-tests/Resources/Images/snow.png new file mode 100755 index 0000000000..9e12963498 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/snow.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-0.png new file mode 100755 index 0000000000..54dd046cac Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-1.png new file mode 100755 index 0000000000..94b993ff6a Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-2.png new file mode 100755 index 0000000000..a960fb422b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-3.png new file mode 100755 index 0000000000..248adc2861 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-4.png new file mode 100755 index 0000000000..6d9fffe207 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-5.png new file mode 100755 index 0000000000..7edc344f62 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-6.png new file mode 100755 index 0000000000..8b07eec9ab Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-7.png new file mode 100755 index 0000000000..465f8987d1 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-0-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-0.png new file mode 100755 index 0000000000..b9e8b1ccd1 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-1.png new file mode 100755 index 0000000000..cb9c7cc5da Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-2.png new file mode 100755 index 0000000000..f401ee3cc5 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-3.png new file mode 100755 index 0000000000..59e4aa28c2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-4.png new file mode 100755 index 0000000000..076bd79a9d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-5.png new file mode 100755 index 0000000000..7be6aae280 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-6.png new file mode 100755 index 0000000000..a094ec3920 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-7.png new file mode 100755 index 0000000000..0661a3ceb5 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-1-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-0.png new file mode 100755 index 0000000000..858e724856 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-1.png new file mode 100755 index 0000000000..f58a1d5612 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-2.png new file mode 100755 index 0000000000..d2c2ca52c5 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-3.png new file mode 100755 index 0000000000..2850465796 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-4.png new file mode 100755 index 0000000000..eb07b0bc97 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-5.png new file mode 100755 index 0000000000..f6a37ad718 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-6.png new file mode 100755 index 0000000000..b8585641b3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-7.png new file mode 100755 index 0000000000..f2f37134cf Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-2-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-0.png new file mode 100755 index 0000000000..cfa22a2e37 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-1.png new file mode 100755 index 0000000000..f9ffcf4afc Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-2.png new file mode 100755 index 0000000000..75bcbe70b0 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-3.png new file mode 100755 index 0000000000..b94e7331d7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-4.png new file mode 100755 index 0000000000..05a25a5e38 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-5.png new file mode 100755 index 0000000000..fe5fb49166 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-6.png new file mode 100755 index 0000000000..76e085fd51 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-7.png new file mode 100755 index 0000000000..2cc0027a8f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-3-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-0.png new file mode 100755 index 0000000000..3d452a84ad Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-1.png new file mode 100755 index 0000000000..378f91102f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-2.png new file mode 100755 index 0000000000..32a3a5a25c Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-3.png new file mode 100755 index 0000000000..8e491dc466 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-4.png new file mode 100755 index 0000000000..72a5fa7cc8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-5.png new file mode 100755 index 0000000000..6a45458fbe Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-6.png new file mode 100755 index 0000000000..a85227dfec Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-7.png new file mode 100755 index 0000000000..323db8d923 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-4-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-0.png new file mode 100755 index 0000000000..cb82489db3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-1.png new file mode 100755 index 0000000000..efcc883e83 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-2.png new file mode 100755 index 0000000000..1c93479476 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-3.png new file mode 100755 index 0000000000..ce9af4ea11 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-4.png new file mode 100755 index 0000000000..b8bb2a0b06 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-5.png new file mode 100755 index 0000000000..7cbd26e6ee Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-6.png new file mode 100755 index 0000000000..4e927716ec Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-7.png new file mode 100755 index 0000000000..39a374f7d1 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-5-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-0.png new file mode 100755 index 0000000000..648e110602 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-1.png new file mode 100755 index 0000000000..ac22fd3be7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-2.png new file mode 100755 index 0000000000..68bc9f5187 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-3.png new file mode 100755 index 0000000000..e5b021ebbe Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-4.png new file mode 100755 index 0000000000..580cb35121 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-5.png new file mode 100755 index 0000000000..fbda801103 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-6.png new file mode 100755 index 0000000000..a44fcf9d75 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-7.png new file mode 100755 index 0000000000..def42d0bcf Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-6-7.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-0.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-0.png new file mode 100755 index 0000000000..c785688f11 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-0.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-1.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-1.png new file mode 100755 index 0000000000..9cf9145af2 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-1.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-2.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-2.png new file mode 100755 index 0000000000..ead396ac25 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-2.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-3.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-3.png new file mode 100755 index 0000000000..e905bf5342 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-3.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-4.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-4.png new file mode 100755 index 0000000000..07cf84c009 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-4.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-5.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-5.png new file mode 100755 index 0000000000..ab1daafd3b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-5.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-6.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-6.png new file mode 100755 index 0000000000..b5f98b8520 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-6.png differ diff --git a/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-7.png b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-7.png new file mode 100755 index 0000000000..50ffb8f7c6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/sprites_test/sprite-7-7.png differ diff --git a/tests/cpp-tests/Resources/Images/spritesheet1.png b/tests/cpp-tests/Resources/Images/spritesheet1.png new file mode 100755 index 0000000000..9246a8bc97 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/spritesheet1.png differ diff --git a/tests/cpp-tests/Resources/Images/stars-grayscale.png b/tests/cpp-tests/Resources/Images/stars-grayscale.png new file mode 100755 index 0000000000..94a4ec693c Binary files /dev/null and b/tests/cpp-tests/Resources/Images/stars-grayscale.png differ diff --git a/tests/cpp-tests/Resources/Images/stars.png b/tests/cpp-tests/Resources/Images/stars.png new file mode 100755 index 0000000000..f493dcc334 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/stars.png differ diff --git a/tests/cpp-tests/Resources/Images/stars2-grayscale.png b/tests/cpp-tests/Resources/Images/stars2-grayscale.png new file mode 100755 index 0000000000..c11557b03e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/stars2-grayscale.png differ diff --git a/tests/cpp-tests/Resources/Images/stars2.png b/tests/cpp-tests/Resources/Images/stars2.png new file mode 100755 index 0000000000..cfb429d1c4 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/stars2.png differ diff --git a/tests/cpp-tests/Resources/Images/stone.png b/tests/cpp-tests/Resources/Images/stone.png new file mode 100755 index 0000000000..b42f9d96ee Binary files /dev/null and b/tests/cpp-tests/Resources/Images/stone.png differ diff --git a/tests/cpp-tests/Resources/Images/streak.png b/tests/cpp-tests/Resources/Images/streak.png new file mode 100755 index 0000000000..b228f382bd Binary files /dev/null and b/tests/cpp-tests/Resources/Images/streak.png differ diff --git a/tests/cpp-tests/Resources/Images/test-rgba1.png b/tests/cpp-tests/Resources/Images/test-rgba1.png new file mode 100755 index 0000000000..c9e55ee9b8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test-rgba1.png differ diff --git a/tests/cpp-tests/Resources/Images/test_1021x1024_a8.pvr.gz b/tests/cpp-tests/Resources/Images/test_1021x1024_a8.pvr.gz new file mode 100755 index 0000000000..24690d1505 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_1021x1024_a8.pvr.gz differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Explicit_mipmaps.ktx b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Explicit_mipmaps.ktx new file mode 100755 index 0000000000..afba165fc1 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Explicit_mipmaps.ktx differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Interpolated_mipmaps.ktx b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Interpolated_mipmaps.ktx new file mode 100755 index 0000000000..290cfe3d8f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGBA_Interpolated_mipmaps.ktx differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGB_mipmaps.ktx b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGB_mipmaps.ktx new file mode 100755 index 0000000000..9c60ddcfa8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_ATC_RGB_mipmaps.ktx differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt1_mipmaps.dds b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt1_mipmaps.dds new file mode 100755 index 0000000000..18953e1395 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt1_mipmaps.dds differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt3_mipmaps.dds b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt3_mipmaps.dds new file mode 100755 index 0000000000..9350dc3e72 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt3_mipmaps.dds differ diff --git a/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt5_mipmaps.dds b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt5_mipmaps.dds new file mode 100755 index 0000000000..3cfe75ddf3 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_256x256_s3tc_dxt5_mipmaps.dds differ diff --git a/tests/cpp-tests/Resources/Images/test_512x512_s3tc_dxt5_with_no_mipmaps.dds b/tests/cpp-tests/Resources/Images/test_512x512_s3tc_dxt5_with_no_mipmaps.dds new file mode 100755 index 0000000000..359857b480 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_512x512_s3tc_dxt5_with_no_mipmaps.dds differ diff --git a/tests/cpp-tests/Resources/Images/test_blend.png b/tests/cpp-tests/Resources/Images/test_blend.png new file mode 100755 index 0000000000..415e1dede7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_blend.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image-bad_encoding.pvr b/tests/cpp-tests/Resources/Images/test_image-bad_encoding.pvr new file mode 100755 index 0000000000..04682d55db Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image-bad_encoding.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image.jpeg b/tests/cpp-tests/Resources/Images/test_image.jpeg new file mode 100755 index 0000000000..fa7d9720b9 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.jpeg differ diff --git a/tests/cpp-tests/Resources/Images/test_image.png b/tests/cpp-tests/Resources/Images/test_image.png new file mode 100755 index 0000000000..fc2c0d6853 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image.pvr b/tests/cpp-tests/Resources/Images/test_image.pvr new file mode 100755 index 0000000000..7a2ec4ff88 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image.pvrraw b/tests/cpp-tests/Resources/Images/test_image.pvrraw new file mode 100755 index 0000000000..ab762df68f Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.pvrraw differ diff --git a/tests/cpp-tests/Resources/Images/test_image.tiff b/tests/cpp-tests/Resources/Images/test_image.tiff new file mode 100755 index 0000000000..e9e9d9ecde Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.tiff differ diff --git a/tests/cpp-tests/Resources/Images/test_image.webp b/tests/cpp-tests/Resources/Images/test_image.webp new file mode 100755 index 0000000000..1b9d131d6c Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image.webp differ diff --git a/tests/cpp-tests/Resources/Images/test_image_a8.pvr b/tests/cpp-tests/Resources/Images/test_image_a8.pvr new file mode 100755 index 0000000000..c22a440b14 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_a8.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_a8_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_a8_v3.pvr new file mode 100755 index 0000000000..eb9c3e1172 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_a8_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_ai88.png b/tests/cpp-tests/Resources/Images/test_image_ai88.png new file mode 100755 index 0000000000..3bb0dd06b5 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_ai88.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image_ai88.pvr b/tests/cpp-tests/Resources/Images/test_image_ai88.pvr new file mode 100755 index 0000000000..db4ed9519e Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_ai88.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_ai88_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_ai88_v3.pvr new file mode 100755 index 0000000000..5695b90ce8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_ai88_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_bgra8888.pvr b/tests/cpp-tests/Resources/Images/test_image_bgra8888.pvr new file mode 100755 index 0000000000..d77883dc0d Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_bgra8888.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_bgra8888_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_bgra8888_v3.pvr new file mode 100755 index 0000000000..64b2beb998 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_bgra8888_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_i8.png b/tests/cpp-tests/Resources/Images/test_image_i8.png new file mode 100755 index 0000000000..bf522eef00 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_i8.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image_i8.pvr b/tests/cpp-tests/Resources/Images/test_image_i8.pvr new file mode 100755 index 0000000000..5def235ea6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_i8.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_i8_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_i8_v3.pvr new file mode 100755 index 0000000000..ff83cac568 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_i8_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp.pvr new file mode 100755 index 0000000000..a663cc9e4a Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp_v3.pvr new file mode 100755 index 0000000000..07b9139fd6 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtc2bpp_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp.pvr new file mode 100755 index 0000000000..68f54932c4 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp_v3.pvr new file mode 100755 index 0000000000..446aedac09 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtc4bpp_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtcii2bpp_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtcii2bpp_v3.pvr new file mode 100755 index 0000000000..c100a53563 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtcii2bpp_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_pvrtcii4bpp_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_pvrtcii4bpp_v3.pvr new file mode 100755 index 0000000000..730ceded2b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_pvrtcii4bpp_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgb565.pvr b/tests/cpp-tests/Resources/Images/test_image_rgb565.pvr new file mode 100755 index 0000000000..cde4068ce9 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgb565.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgb565_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_rgb565_v3.pvr new file mode 100755 index 0000000000..485788b604 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgb565_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgb888.png b/tests/cpp-tests/Resources/Images/test_image_rgb888.png new file mode 100755 index 0000000000..21d2f91a86 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgb888.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgb888.pvr b/tests/cpp-tests/Resources/Images/test_image_rgb888.pvr new file mode 100755 index 0000000000..1144361b77 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgb888.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgb888_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_rgb888_v3.pvr new file mode 100755 index 0000000000..adfbd15067 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgb888_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr new file mode 100755 index 0000000000..c8d8a35c07 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.ccz b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.ccz new file mode 100755 index 0000000000..fa65441100 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.ccz differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.gz b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.gz new file mode 100755 index 0000000000..9490fd92a8 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba4444.pvr.gz differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba4444_mipmap.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba4444_mipmap.pvr new file mode 100755 index 0000000000..37ff32f0e0 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba4444_mipmap.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba4444_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba4444_v3.pvr new file mode 100755 index 0000000000..09f6050afd Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba4444_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba5551.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba5551.pvr new file mode 100755 index 0000000000..e80cfbc832 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba5551.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba5551_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba5551_v3.pvr new file mode 100755 index 0000000000..0e38d14714 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba5551_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba8888.png b/tests/cpp-tests/Resources/Images/test_image_rgba8888.png new file mode 100755 index 0000000000..6106230854 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba8888.png differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba8888.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba8888.pvr new file mode 100755 index 0000000000..caef6f79ac Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba8888.pvr differ diff --git a/tests/cpp-tests/Resources/Images/test_image_rgba8888_v3.pvr b/tests/cpp-tests/Resources/Images/test_image_rgba8888_v3.pvr new file mode 100755 index 0000000000..2d74c29eaf Binary files /dev/null and b/tests/cpp-tests/Resources/Images/test_image_rgba8888_v3.pvr differ diff --git a/tests/cpp-tests/Resources/Images/texture1024x1024.png b/tests/cpp-tests/Resources/Images/texture1024x1024.png new file mode 100755 index 0000000000..9e98dbe222 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/texture1024x1024.png differ diff --git a/tests/cpp-tests/Resources/Images/texture2048x2048.png b/tests/cpp-tests/Resources/Images/texture2048x2048.png new file mode 100755 index 0000000000..282ae566e7 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/texture2048x2048.png differ diff --git a/tests/cpp-tests/Resources/Images/texture512x512.png b/tests/cpp-tests/Resources/Images/texture512x512.png new file mode 100755 index 0000000000..5eafc45f88 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/texture512x512.png differ diff --git a/tests/cpp-tests/Resources/Images/ui.plist b/tests/cpp-tests/Resources/Images/ui.plist new file mode 100755 index 0000000000..0aee2258bf --- /dev/null +++ b/tests/cpp-tests/Resources/Images/ui.plist @@ -0,0 +1,139 @@ + + + + + frames + + button_actived.png + + frame + {{113,55},{21,13}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{21,13}} + sourceSize + {21,13} + + button_normal.png + + frame + {{113,32},{21,13}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{21,13}} + sourceSize + {21,13} + + coin.png + + frame + {{89,32},{22,22}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{22,22}} + sourceSize + {22,22} + + crystal.png + + frame + {{89,2},{28,28}} + offset + {0,0} + rotated + + sourceColorRect + {{1,1},{28,28}} + sourceSize + {30,30} + + dialog_bg.png + + frame + {{75,177},{46,46}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{46,46}} + sourceSize + {46,46} + + dialog_corner.png + + frame + {{89,56},{12,16}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{12,16}} + sourceSize + {12,16} + + item_bg.png + + frame + {{75,129},{46,46}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{46,46}} + sourceSize + {46,46} + + mini_map_bg.png + + frame + {{2,129},{71,71}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{71,71}} + sourceSize + {71,71} + + user_info_panel.png + + frame + {{2,2},{125,85}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{125,85}} + sourceSize + {125,85} + + + metadata + + format + 2 + realTextureFileName + ui.png + size + {128,256} + smartupdate + $TexturePacker:SmartUpdate:7251d97127580b1f2d0103d9b80ba020$ + textureFileName + ui.png + + + diff --git a/tests/cpp-tests/Resources/Images/ui.png b/tests/cpp-tests/Resources/Images/ui.png new file mode 100755 index 0000000000..baf6a6bef4 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/ui.png differ diff --git a/tests/cpp-tests/Resources/Images/water_2_dxt1.dds b/tests/cpp-tests/Resources/Images/water_2_dxt1.dds new file mode 100755 index 0000000000..8e3e387726 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/water_2_dxt1.dds differ diff --git a/tests/cpp-tests/Resources/Images/water_2_dxt3.dds b/tests/cpp-tests/Resources/Images/water_2_dxt3.dds new file mode 100755 index 0000000000..a1fef1a07b Binary files /dev/null and b/tests/cpp-tests/Resources/Images/water_2_dxt3.dds differ diff --git a/tests/cpp-tests/Resources/Images/water_2_dxt5.dds b/tests/cpp-tests/Resources/Images/water_2_dxt5.dds new file mode 100755 index 0000000000..93bb52e576 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/water_2_dxt5.dds differ diff --git a/tests/cpp-tests/Resources/Images/white-512x512.png b/tests/cpp-tests/Resources/Images/white-512x512.png new file mode 100755 index 0000000000..9a0eb5a892 Binary files /dev/null and b/tests/cpp-tests/Resources/Images/white-512x512.png differ diff --git a/tests/cpp-tests/Resources/Misc/resources-hd/test4.txt b/tests/cpp-tests/Resources/Misc/resources-hd/test4.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-hd/test4.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-ipad/test2.txt b/tests/cpp-tests/Resources/Misc/resources-ipad/test2.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-ipad/test2.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-ipadhd/test1.txt b/tests/cpp-tests/Resources/Misc/resources-ipadhd/test1.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-ipadhd/test1.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-iphone/test6.txt b/tests/cpp-tests/Resources/Misc/resources-iphone/test6.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-iphone/test6.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-mac/test2.txt b/tests/cpp-tests/Resources/Misc/resources-mac/test2.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-mac/test2.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-machd/test1.txt b/tests/cpp-tests/Resources/Misc/resources-machd/test1.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-machd/test1.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-wide/test5.txt b/tests/cpp-tests/Resources/Misc/resources-wide/test5.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-wide/test5.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/resources-widehd/test3.txt b/tests/cpp-tests/Resources/Misc/resources-widehd/test3.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/resources-widehd/test3.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/searchpath1/file1.txt b/tests/cpp-tests/Resources/Misc/searchpath1/file1.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/searchpath1/file1.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Misc/searchpath2/resources-ipad/file2.txt b/tests/cpp-tests/Resources/Misc/searchpath2/resources-ipad/file2.txt new file mode 100755 index 0000000000..0527e6bd2d --- /dev/null +++ b/tests/cpp-tests/Resources/Misc/searchpath2/resources-ipad/file2.txt @@ -0,0 +1 @@ +This is a test diff --git a/tests/cpp-tests/Resources/Particles/BoilingFoam.plist b/tests/cpp-tests/Resources/Particles/BoilingFoam.plist new file mode 100755 index 0000000000..82e9ad17b6 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/BoilingFoam.plist @@ -0,0 +1,102 @@ + + + + + angle + 90.099998474121094 + angleVariance + 32.049999237060547 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 1 + finishColorGreen + 0.70999997854232788 + finishColorRed + 0.5899999737739563 + finishColorVarianceAlpha + 1 + finishColorVarianceBlue + 0.20999999344348907 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 40.770000457763672 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 269 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.99000000953674316 + particleLifespanVariance + 0.12999999523162842 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 16.5 + sourcePositionVariancey + 34.799999237060547 + sourcePositionx + 162.83000183105469 + sourcePositiony + 194.32000732421875 + speed + 71 + speedVariance + 30 + startColorAlpha + 0.0 + startColorBlue + 0.0 + startColorGreen + 1 + startColorRed + 1 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.34000000357627869 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.0 + startParticleSize + 64 + startParticleSizeVariance + 5 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + BoilingFoam.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/BurstPipe.plist b/tests/cpp-tests/Resources/Particles/BurstPipe.plist new file mode 100755 index 0000000000..73e83aa4ec --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/BurstPipe.plist @@ -0,0 +1,102 @@ + + + + + angle + 0.0 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.38999998569488525 + finishColorGreen + 0.25999999046325684 + finishColorRed + 0.14000000059604645 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 28.489999771118164 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + -671.04998779296875 + maxParticles + 1000 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.46050000190734863 + particleLifespanVariance + 0.59210002422332764 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 4.4000000953674316 + sourcePositionx + 160 + sourcePositiony + 308.39999389648438 + speed + 177.6300048828125 + speedVariance + 0.0 + startColorAlpha + 1 + startColorBlue + 0.6600000262260437 + startColorGreen + 0.49000000953674316 + startColorRed + 0.0 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.5899999737739563 + startParticleSize + 0.0 + startParticleSizeVariance + 18.950000762939453 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + BurstPipe.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/Comet.plist b/tests/cpp-tests/Resources/Particles/Comet.plist new file mode 100755 index 0000000000..a38247277f --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Comet.plist @@ -0,0 +1,102 @@ + + + + + angle + 46.849998474121094 + angleVariance + 0.0 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 0.15999999642372131 + finishColorVarianceAlpha + 1 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 64 + finishParticleSizeVariance + 0.0 + gravityx + -276.32000732421875 + gravityy + 355.260009765625 + maxParticles + 1000 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.19740000367164612 + particleLifespanVariance + 2.1710999011993408 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + -4.5 + sourcePositionVariancey + 0.0 + sourcePositionx + 226.5 + sourcePositiony + 156.39999389648438 + speed + 0.0 + speedVariance + 203.94999694824219 + startColorAlpha + 1 + startColorBlue + 0.14000000059604645 + startColorGreen + 0.43999999761581421 + startColorRed + 0.79000002145767212 + startColorVarianceAlpha + 0.5 + startColorVarianceBlue + 0.20000000298023224 + startColorVarianceGreen + 0.20000000298023224 + startColorVarianceRed + 0.0 + startParticleSize + 41.680000305175781 + startParticleSizeVariance + 0.0 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + Comet.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/ExplodingRing.plist b/tests/cpp-tests/Resources/Particles/ExplodingRing.plist new file mode 100755 index 0000000000..bfb446e962 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/ExplodingRing.plist @@ -0,0 +1,102 @@ + + + + + angle + 360 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + 0.0099999997764825821 + emitterType + 0.0 + finishColorAlpha + 0.8399999737739563 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 0.0 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 13.590000152587891 + finishParticleSizeVariance + 0.0 + gravityx + 1.1499999761581421 + gravityy + 1.5800000429153442 + maxParticles + 809 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.0 + particleLifespanVariance + 1.118399977684021 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 0.0 + sourcePositionx + 160 + sourcePositiony + 262.79998779296875 + speed + 243.41999816894531 + speedVariance + 1 + startColorAlpha + 1 + startColorBlue + 0.36000001430511475 + startColorGreen + 0.56000000238418579 + startColorRed + 0.88999998569488525 + startColorVarianceAlpha + 0.5 + startColorVarianceBlue + 0.20000000298023224 + startColorVarianceGreen + 0.20000000298023224 + startColorVarianceRed + 0.20000000298023224 + startParticleSize + 34.110000610351562 + startParticleSizeVariance + 38.319999694824219 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + ExplodingRing.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/Flower.plist b/tests/cpp-tests/Resources/Particles/Flower.plist new file mode 100755 index 0000000000..c059b96675 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Flower.plist @@ -0,0 +1,102 @@ + + + + + angle + 90 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 0.0 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 30 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 250 + maxRadius + 276.20999145507812 + maxRadiusVariance + 154.94999694824219 + minRadius + 0.0 + particleLifespan + 4 + particleLifespanVariance + 1 + radialAccelVariance + 0.0 + radialAcceleration + -60 + rotatePerSecond + 35.529998779296875 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 0.0 + sourcePositionx + 169.91000366210938 + sourcePositiony + 228.71000671386719 + speed + 80 + speedVariance + 10 + startColorAlpha + 1 + startColorBlue + 0.5 + startColorGreen + 0.5 + startColorRed + 0.5 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.5 + startColorVarianceGreen + 0.5 + startColorVarianceRed + 0.5 + startParticleSize + 30 + startParticleSizeVariance + 10 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 15 + textureFileName + Flower.png + textureImageData + H4sIAAAAAAAAAwGaBGX7iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAA5mlDQ1BJQ0MgUHJvZmlsZQAAeAFjYGCsSCwoyGESYGDIzSspcg9yjIyIjFJgv8rAzsDIAAaJycUFjgEBPhAeNvLbNYjay7ogs2ad1vz46kTgxG2Ka/z0r9ZuwKYDSYwlJbU4GcjfAsSlyQVFJQwMjDpAtnp2SJAzkB0CZPOVlxSAxFOAbBGoeiCTQdo5MSczqSixJDVFwb0osVLBOT8nv6i4IDE5FSRNXVCSWgF0AwODc35BZVFmekaJgiPQt6lAO3MLSktSi3QUPPOS9RgYkkuLyqA2MzIZMzCAwhPC/xwIDidGsTMAFkw91gWJ+yQAAANvSURBVEgNxZU7aFRREIb/uXnsZpPoxoAYxBSBKKaIKBYiqF0awTQ2iqiNoqCFnWJpkSiCFoIgIgqWKoqCxEJQQSIWBgmI+GgsBDVmNZvdTTbZ8Z85d+/mCYKFZ2DZe8/MN3PmzMwF/nHJcvaaQgShKKUiU8vpLQGgaQPqKXUJYBYzlPJSmKhK1pP2Txu1BS1oxUpKFm0uWX9qRYu2aON8fdBPvPRF5Zt0Ik1pQorSGMegMP/TmKIUUdJISnT0DX3BMAFEI3oW37EDBWSISBMRDhEAUyjR3I4W6Wod1ZPRyAKApnEX2/EGu2OExWBZMID5LxLZwDdr8Fquyq1q5HESebaMn/0y+vSY5PmUdn8GYProv4BJ5NGq9+QBDqMg0wFRBVjqVniyzuk2uYl3SwDy6NVTeCrH8Rt5OvHlAF5cMM8y81m9hCy9fPaQLYKyH2ASG/QgxmQvcvjlCK+NAAgXFy6tDSv0NFrlGb4yCxEqzECR4XfqHuTkBMZdfmEixBDqoJ6qKb/ADE/fzBQVdBd60O6yitWwieYTMpDckF2yLwJ4AKs7QxjE6qBZnmBKe9FFgJmv1x2YlOu+W62RetpxGSfi5RjCIA2UFBEZeaubdR2DnkC9dqAkD/neds23SR3tYoC1jEFMbMuUGIt81bWS1SZJsQteOTwYml5oNPcObxmD1CQKUUmRmymdlQ98DiY1HfsXA6xh50uFubcOoIpC6thc9ma+jj3NAZiBibetl26JZ8/Q+xedYS7a+K7su0Ev4GJA8GamphTKpoBmpq4s75nGN34jHSwn2512zAydVeIIOCaCsTVsybtuEu3aw8y/xBh+Ylwee110+a5pOSSMl1BIod+tYQveNJ1+7/dpbmKIG5jQfmzkLmdCjLAAmFtbFpg1bOi4DV5112g4hh8OyOG3DCKnh7HFERZD2S3DVTDXtW7crBd47gFWnY2Pue2c14vSjkMYXtSNBFTnQRceYRSDy86D87pFtuLTonlARJpG3TosQ25uc3HhRAoHHNB+6ZaP4QBWhcnSJi3IPZxJOm7xTLQUF3BF90WJXTJUyfkpR3CHZ7cBtuxU5uXu1yEtSlPwnJD0Gm7Lc+bCGsl+rXGs/vldiuvEbmo6zELdiQNy1BAJoFIXzQbm332ZqvoJIBjXfon5q29jzeJ//fsDttmrmko6AygAAAAASUVORK5CYIJuAiUFmgQAAA== + + diff --git a/tests/cpp-tests/Resources/Particles/Galaxy.plist b/tests/cpp-tests/Resources/Particles/Galaxy.plist new file mode 100755 index 0000000000..11f6938741 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Galaxy.plist @@ -0,0 +1,102 @@ + + + + + angle + 90 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 0.0 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 37 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 934 + maxRadius + 276.20999145507812 + maxRadiusVariance + 154.94999694824219 + minRadius + 0.0 + particleLifespan + 4 + particleLifespanVariance + 1 + radialAccelVariance + 0.0 + radialAcceleration + -20 + rotatePerSecond + 35.529998779296875 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 0.0 + sourcePositionx + 169.91000366210938 + sourcePositiony + 228.71000671386719 + speed + 59.209999084472656 + speedVariance + 10 + startColorAlpha + 1 + startColorBlue + 0.75999999046325684 + startColorGreen + 0.25 + startColorRed + 0.11999999731779099 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.0 + startParticleSize + 37 + startParticleSizeVariance + 10 + tangentialAccelVariance + 50 + tangentialAcceleration + 50 + textureFileName + Galaxy.png + textureImageData + H4sIAAAAAAAAAwFmA5n8iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADLUlEQVRYCcXX51JbQRCEUeOc/f6v6ZzxHKFPLAoI84epmrp7985294QVxcXl5eWjh7Sn9yB/MWcej19sXQb87/iP8f+yiztWAOmzcYL5k/F9AX9m7/fWf83zTmLOVeD5AHECWieiKpR95D8nlhPcepbH7TYBL+dI/mrWRCRkrQIBZY9Q5vzb+PdxQj2P2ikBCPnrxb0TRMQpAYiRIa9lVcregR0TgATZm/G3W7cmxn5VaA6qQNkjEkNAMbPcDOpBJfYF6DMByJC/H3+3XSfC97IziATov8FD8HUcDmzZs+bETSF0Z+cEICeCE0TYOQFlHznSZoTQkwIc5PW+FqwC7NUGVagCXTvlXzNHXnXE5LsrulYAYFduX4Ts11b4LlaWlbXBWzNH2GxojzN4jgogJgENYreganyYGELsq1YCAOp9CZX5eivEwy9mltcvPvqwirBHSGKIQE6Eitg35forO5mxSo5cDJyVHIf3TRVSIxNgiUgIUO5Abel2qII4hLJnSk5M7XC2rMPGU5s2APO++11PiKBVUECEyAq5athHyvS6TO2vhOHB72/ILK+VtHnb0+EEAkeiLZGV2UpyG94cvRbgh+KcGyzenZb5l3FPbbBfzDks3zcmE9aBCIBF1FCt16meO98M6L3BEpeohIUHP65ZXvXJM2IH8oCAATZYiJWc+a7swJF/HvddnHjnuLgwE4RvY1XAAVMuwAHvHPA61cUDNnD6DUws8k/j2kJEZ8NahdjbWIBeVvJIgSISh4yJ8931SgBwpMhVwtPZKiIeaSJmeWWrgMolENh6pSKXrTjftcKU66m9ziViFSI+AWJ3tgoQADTwrtdKLvvinE2AfcAylTXyj9tn1UiE8ztbBdhUIiD2u9ez3PS5LP0QJe6UgKpgJhpOuPBv2DEBMubAmbI3H0BqDYEJcBOAy06mqpCI/xIw5zYViFx/gZc98IZyX0DtITIR+4M4n27afgX6CgB52dffsq9FawWqkipUCWLyWR7aKQEiHVwFuHbrX7batApNRO3wPOj77O3swf8zuquAneJZaEPZ14KqcOOKrYdOre8j4BTWvfZl8qD2D7ghcomuE8XXAAAAAElFTkSuQmCCksg8PmYDAAA= + + diff --git a/tests/cpp-tests/Resources/Particles/LavaFlow.plist b/tests/cpp-tests/Resources/Particles/LavaFlow.plist new file mode 100755 index 0000000000..c24278f675 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/LavaFlow.plist @@ -0,0 +1,102 @@ + + + + + angle + 0.0 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 1 + finishColorRed + 1 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 0.0 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + -197.3699951171875 + maxParticles + 861 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.46050000190734863 + particleLifespanVariance + 0.85530000925064087 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 7 + sourcePositionVariancey + 7 + sourcePositionx + 160 + sourcePositiony + 210 + speed + 225 + speedVariance + 6.5799999237060547 + startColorAlpha + 0.090000003576278687 + startColorBlue + 0.0 + startColorGreen + 0.0 + startColorRed + 1 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.0 + startParticleSize + 45.049999237060547 + startParticleSizeVariance + 29.049999237060547 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + LavaFlow.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/Phoenix.plist b/tests/cpp-tests/Resources/Particles/Phoenix.plist new file mode 100755 index 0000000000..317870f79e --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Phoenix.plist @@ -0,0 +1,102 @@ + + + + + angle + 349 + angleVariance + 93 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 1 + finishColorAlpha + 0.32887318730354309 + finishColorBlue + 0.93377602100372314 + finishColorGreen + 0.95858514308929443 + finishColorRed + 0.19334913790225983 + finishColorVarianceAlpha + 0.38997083902359009 + finishColorVarianceBlue + 0.37059104442596436 + finishColorVarianceGreen + 0.81526708602905273 + finishColorVarianceRed + 0.83449059724807739 + finishParticleSize + 43 + finishParticleSizeVariance + 18 + gravityx + 1.4500000476837158 + gravityy + 1.1499999761581421 + maxParticles + 285 + maxRadius + 60 + maxRadiusVariance + 85.263160705566406 + minRadius + 0.0 + particleLifespan + 0.0 + particleLifespanVariance + 2 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 360 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + -4.5 + sourcePositionVariancey + 0.0 + sourcePositionx + 191.15043640136719 + sourcePositiony + 217.41175842285156 + speed + 390 + speedVariance + 179 + startColorAlpha + 0.27146226167678833 + startColorBlue + 0.91891378164291382 + startColorGreen + 0.10308317095041275 + startColorRed + 0.7686341404914856 + startColorVarianceAlpha + 0.0067866151221096516 + startColorVarianceBlue + 0.32555040717124939 + startColorVarianceGreen + 0.41684192419052124 + startColorVarianceRed + 0.79420870542526245 + startParticleSize + 3 + startParticleSizeVariance + 24 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + phoenixLeftWing.png + textureImageData + H4sIAAAAAAAAA+1bB1RURxd+byu9g1RZpINUpVtoKoiKIqJYorisdESqLRINkihGjSHEFo0EC/ZoRCRWLMRoFHuPEIMlNizY4/5z3fvic7MrmJic84vr+Tjj7My997tt5i1L796UE0UFqlD/wUsqldJvgv/CJrTr35KrjBunGfyn/nib/FvIldsMmvXJWzOYejv8X8OZzYsnB74c5N9X5pO36od/wl8Jb3m+DD8BQtgMmHXyfpH3xVvxw9/h3wLe8nxVCFQRaiyoI9hzzDoVBf546354U/4t5M3mzPDUINAk0CLQVgItXKPB8ou8L17rh3+TvxLu8rwZzgxf4KVDoEugR6BPYEBgKAcDfE8P1+rgXsYfjC8U+eFv+6Al/BXkOzvminhrof16yMuIwJjAhMCUwIzAnMACYY5zprjGGPcYoAwdlKnID/K58Eb10Bz/FsRcRY63LsaR4WyGHC0JrAisCWwIbOVgg+9Z4VoL3Mv4Qh9ls/2g8k9zoYX8FXFnYq6OOarD4m2CMbVETsDPgcCJoD2BK4EbgTvCDefa4xoH3GONMsxRJuMHHdSpzsoFhT74J/ylf815ee4QB23MUUMWbxHG0wE5AT9PAi8CXwJ/ggA5+ON7XrjWDfc6oCwRyw+GqFMbbVDmg2ZzQBn/Zrgz+a7NirkZxgpsdSRwQR7eyK0LQRBBKEF3gjCCcEQYzoXimi64xxtluKBMG9RhxsoFxgdqf8cHivi3kDuT78YYF6hbe4wZ2OxD0JkgmKAHQQRBJEEUQTRBDMFARAzOReGaCNwTjDJ8UGZ71GGFOo2lL+vhb/ngNfzZNS+f82zu0KesMT5uGLNOBCEY20jkFkswjCCOQEwgIRiFkOBcHK6JxT2RKCMEZXqjDkfUaaHAB+xaaLYXyPNXEnuB9NV6Z7i3lcpyEnqWh1RWv4EYuz4EAwiGEowkSCBIJcggyCLIIchF5OBcBq5JwD1DUUYflBmIOjxQpw3awPiA3Q/YZ6PSHFDCX547nDPqctwtUL+zVJabUK+Qr5C7/QmGYEyTCcYgzwkE+QQfE0wlKERMxbl8XJOLe5JRxhCUGYE6/FGnM9rAzgNttJU5G1/xwev4K4g9u+bhvIGeC30Has8aYwB2QP+G3tVbKqvl4QSJGM+xyAs4FhHMIphDUExQgijGuVm4ZiruGYsyElFmDOoIRZ2eaIM12mSENmpKX+0FSnNAAX9leQ/1BecO9F7oP1CDHhgLsAdydJBUlrcpUllOT8L4zkSO8wkWEZQSlBEsRZTh3CJcU4x7ClFGDsociTr6oE5/tMERbTJDG9m94LU5wPBvJvZw54LcgrPXUirrwdCHoBaDMSZgF+RqOsZtCsYSuCxEfisIVhOsJ9hAsBGxAedW45pS3FOMMqagzHTUMQh1BqMNbmiTJdqojzY3mwNy/JXFHu6dTN5DvcE5BL0Y+hHUZAzGBuwbR1CA8ZtLsISgHPltIqgi2Eawg2AnYgfOVeGa9bhnCcqYiTLHoY6RqDMCbfBGm2ykL+tAtyU5oIS/stjDHQxyDeoOziPoydCXhktl+TkW7ZwtleUx5PUa5LSVYBfBPoL9BAcIDiIO4Nw+XLMV96xBGfNRZgHqSEGd/dGGTmiTI9rYbA6w+UtfzX12z2fqnh17uIvBfQTOZKhD6M3Qn6BGp2CswF6o63UElRjjGuRaS3CM4CTBKcRJnKvFNTW4pxJlLEWZM1FHDuocgjaEoE0ucjnA9AH2WfBKDbD4K8p9pufD2WIpld3Fwc9wJ4N7CZzNUI/Qo6FPQa3OxZiB3VsIqgl+Qm4nCM4QnCe4SFCHuIhzZ3BNLe6pRhnrUOZc1DEJdYrRhnC0yRNttESbmbNAaQ0o4M/OfThL4Rkc+iqcMUzdQ9+BuxncT+CMhpyEXg39Cmp2DcYO7IfcPkpwmuACQT3BbwSXCa4gLuNcPa45jXsOoIxKlLkEdRSizmS0IRJtYvqANdpsgByU1oAS/sx9h8l9uF/A8yj0WThzoObgfgp9CO4p+VJZbkLPhr4FtbsTYwg8zmKMgeNVgt8JbhDcRNzAuau45iLuOYoydqLMctQxE3WOQRui0SZ/tNEWbWZqgLkPNcdfUd+Xz314NoO+C3d0uKfCXW0qxgXOLejd0L+ghmsxlsCnATkC39sEdwjuIu7g3E1c04B7TqOMGpS5HnUUo85ctCEWbeoi/WsNKDoH2J8TKePP1D70UrhbwD0Lns3h+RTyDZ5T4K4O91WoSehPKzBO0MOhj0EtX8CYAq9byPUeQZMc7uF7t3Dtb7j3BMrahbJXoK4i1J2KtkSibV5oqxXarqgHyPNn9z75cw8+k2NqH+4acO+C51R4VoMelC+V3Vvh7gb3FzjD92HcoJ9BTV/F2AK/+wQPCB4SPEI8xLn7uOYm7qlHGbUoswp1LEKd+WhDHNoUijYyPcBU+tdzUP6ZSBl/du+DMwU+n4L6gs8poN6g98IzGzy3wN2dyX24x8BZDufZeenL2N/GGD9Azo8JniAe49wDXHNb+jIHzqOs/SibqYE5qDsLbYlG2/zRVhup4h74Ov7yvR/u0nCWMr0Pnjngsxq4e8EzO5zDTO3D+QT32B1SWd+GM/2iVNbbb2BcmzDWDPenCMYHD3HNHdxzGWWcRJk7UEeZ9GUPyEFbYtC2AOnLHmiOHJSeAUr4M8+6sJfp/e4oG85a+MwGPreA/gNnETzDwR0F7vLQq6Fe4V4DZzucb5DPd5HbIznubB88wjV3cc8VlHEKZe5EHUtRZyHaMAptCkcb3aUvzwCGv/p7/i3m31rzv7X3v9Z6/rX2+8/7++/755/3z7+t+/OPVvv5V2v//PP959/vf//R2n//9f73n6/NgVbx+28lOdCqvv8glwPydfDOf//lNTnQar7/9AY+eCe//9ZCH7zT33+U8wG7F8j74J39/quCHJD3wTv//Wc5H7BrgX02vrPff1fiB2W58E7+/UMLfKDID+/c378o8EFzfnjn/v7pDf3A+ELeH//Xf//WQj+wfcH2h7xf5HnK8+XKyXwrvFm2vw0xjCz6Nb5Q5BNFULSHftu8WTa/TXFsufK+eJ1PlHL9NzjL2flviZbXo8wf/ylfBXZRlBZRxyX/oalA8oNmjTkvxjyKCqyguThPFtMCHHPID114H2YpFVqPtcYQx+Rd2oglsw2zPpCizVnro1gy+/+pd/snWZSQojTCyHjfC5NV8B+N/8h7vZLSR3N0KCotPTszqkewaFDsYJHwEJGkSgkoD4qKE2dl9O7fPRq2h3cLEWWRRYwHZK5+cFI2OOYS1lckekMn6oozMrOJpL5k3CFekiUm4wIyTs3LzoD5RjI2GJkCYw5wN8gkBpKxMYwTZOP2L9bIxoEwjk9LjydjsDkjPi0exnvI+NPcHAkZc3uRcWFukiSPjI+TsU1qTloSGT+CvWmSuCziPg2Yz5aIE8nYnYw1MqOjQsi4E3GiRgJrPJI1zpaMzQZSIaMzxmUmJSRmixzEjiIPPz9fUZgkL1WSne3SN06cEpcZLwoZnZYRlz6OomScX7z0wLci4mRvDz9vbxdPVw+Wo177ZgtfEFvZ6F6/FzGjjQ6+nFO0bnQpRfk2Ed/Mfjk3ch5FbZ5KUcZnX87ZfENR2iRuFYdZfIwgXxKzszP83dzy8vJckyRiV3Don69mF7TgxdLnCuL+dI8oVDIqLic1WwR+E49OHZ2TKcrKiBNLRC6vJPE/2ajYjvZRklGSTEk62RFDsiwpPYGEOz0+KTtpdLooKV1ZEP/mNrmXLK/JS7/sOWUw3JXSOWxAcW8epHj66hR36CLyDv1n3HqpxlBQeQMtr8jy/sVLQQflzIIfWUkJL/aFREWLxDmZubL3oCwpPqVGaVMGlAnVlrKmHCgXypPyoQJIo+pG9aQiqWgqlvqAElOJVBqVSeVRE6nJVCFVRM2mvqTmU4upMqqcWkttoDZTW6ld1D7qAFVLnaDOUXVUA3WdaqQeUE9pmhbSmrQ+bUJb0ra0M+1J+9Jd6G50LzqKjqVH0Al0Op1DT6Q/povoOfR8egldTn9Hb6F30fvpI/QZup6+Rt+ln3C4HA2OAceCY8dx4/hygjgRnGjOME4CZwxnPKeAM5Mzl1PKWc2p4OziHOCc4NRxrnOaSANX5xpxrbguXF9uCDeSO5g7ipvJncSdzi3hlnLXcqu4Ndxj3DruDe5jnoCnzxPxXHgBvDDeAJ6YN4Y3iTeDN5+3glfB28M7xqvnNfKe8zX55nxnvj8/nD+In8DP4xfyS/jL+Jv4e/kn+A38BwKBwEhgL/ARhAliBcmCCYIZgq8F6wQ7BUcElwRNQqHQROgs7CyMFMYJs4WFwnnC1cIdwqPCBuEjFXUVSxVPle4qg1XSVaaolKisVNmuclTlispTVR1VW1V/1UjVeNVxqrNUy1SrVA+rNqg+VdNVs1frrBatlqw2WW2u2lq1vWrn1e6pq6u3U/dT76eepP6R+lz19eo/qterP9bQ03DSCNEYqpGjMVNjucZOjTMa9zQ1Ne00AzUHa2ZrztQs19yt+YvmIy19LVetcK14rXytBVoVWke1bmmrattqB2l/oD1eu0R7o/Zh7Rs6qjp2OiE6cTqTdBbobNE5pdOkq6/roRupm6Y7Q3el7n7dq3pCPTu9bnrxegV63+rt1rukz9W31g/RF+t/rF+mv1e/wUBgYG8QbpBsUGSwxuCQQaOhnmFHwxjDsYYLDLcZ1hlxjeyMwo1SjWYZbTA6afSkjUWboDaSNtParG1ztM1DYzPjQGOJ8XTjdcYnjJ+YiEy6maSYfG6y2eSCKc/UybSfaZ7pItO9pjfMDMwCzMRm0802mJ0155g7mUeZTzD/1vygeZNFW4seFhkW8yx2W9xoa9Q2sG1y2+K229tes9S37GKZZFlsucPyd5GhKEiUKpor2iNqtDK3CrPKsVpidcjqaTv7dgPaTWm3rt0FazVrX+tR1sXW1daNNpY2vW0m2qyyOWurautrm2j7lW2N7UM7e7uBdp/Ybba7am9sH24/3n6V/XkHTYeuDmMcSh2OOwocfR1THL92rHXiOHk5JTotcDrszHH2dk5y/tr5SHt+e7/26e1L259y0XAJcsl1WeVS72rk2st1iutm11tuNm6D3T53q3F77u7lnupe5n7OQ8+jp8cUjyqPu55OnmLPBZ7HO2h26N4hv0NlhzsdnTtKOi7qeNpL36u31yde1V5/ePt4Z3qv9b7mY+MzwmehzylfA9++vjN8f/Tj+wX75ftt9Xvs7+2f7b/B/3aAS0BKwMqAq53sO0k6lXW61Lld57jOSzrXdRF1GdHlmy51Xa26xnUt7fproHVgfOCywCtBjkHJQauDbgW7B2cGbwp+GOIf8mHIzlBuaI/Q6aGHuul1G9BtfrdfurfrntB9VffGHl49JvTYGcYPiwj7POxUuEW4OLw8vLGnT88Pe+6J0IjoHzE/4tdeTr0ye1X15vTu2fuL3uf72PZJ77M5kooMj/wi8kJf+75j+v7QT9Cvb78F/S5HeURNjKrpr99/eP+V/R9EB0fPij43wGFAzoDqGO2YoTHlMQ8Hhg6cM7BukNugDwcdiDWNTYqtHCwcHDN42eCmId2GfDmkYajX0MKhJ4fZDxs7bP8Hph+kfrBtuPbwuOEbR/BHDByxcsSzuMi40rimkeEjF45sFIeIvxJfjw+ML46/JuksmSO5MqrzqDmjriZ0Tvgi4Vpi18SSxBtJIUnzk+4khyUvTn6YEpmyPEWaOjB1XZpK2oi0Lel66Snpe0a3HT129JEM54zCjLox/mO+HNOYGZG5LIvOGpZVmW1ALlMHcxxypubU53bJXZD7KC8mb+NY3bHpYw+Ocxo3bdyV8d3HL53AmyCeUD3RauLkifUfBn24ZBI9aeSk6nzr/IL8ho96fLRistrklMk/T3GfMmfK/Y8HflxVYFHwUcGlqT2mrirUKswsPPVJwCeLP+V9mvTpoWkdps2b9nx6/PSfityLSoqezRDP+Okzj8/mfiadOWrmoVnesxbNFsxOn33y866fr5ijO2f8nEtf9P6iolhUPL34/pfDv9xf0rFk8VdqX+V8VTe319zKeTbzZs97Nj9x/okFwQvWLTRfOG3hw6/jvz66KHDR2sUWi4sWP/km6ZvTS3osqSi1Ky35VvBt7reXy2LKapb6Li1fZrqsaNkfy9OX162IWrGn3Ke8fKX5ylmrOKtyVl1bPXR17ZrQNZVrXdYuWWe0rmg9tT5n/e/fjfju5IaIDdUbfTeu/d72+4Wb9DdNr6ArxlU0bk7cXFcZW3lkS88t1VUBVZt+cP1h+VarrQu2GW6btV1te8F26Y7xO5p2Zuy8sSth16Xq4dXndg/afXxPvz2H9kbs/XFf9327a4JqdvzY+cet+/33b/nJ96fNB7wPVBz0OrjpZ6+fNx3yPlRx2OdwZa1fbdWRTke2H+16dNex0GP7jocfP3Ciz4kjJwecPH1q6Km60/Gnr55JPXPnbO7Zp+c+Os8/P/2CzoWSX8x/Kb3oeHFdnXfdtvrQ+oO/9v/13CXxpeu/Zf32rKHgsublkiuWV8qvel7deq37tdrfh/zecD3j+tMbhTd1by685XDr+9uBtw82DmpsuJN5R3p3xj2Te8vvd7xf3dS36ZcHaQ+ePpz+yOTRise+j2ueDHxy5WneM+GzuX84/lH1POL5eWmaVPo/LX7Mrg5NAAA= + + diff --git a/tests/cpp-tests/Resources/Particles/SmallSun.plist b/tests/cpp-tests/Resources/Particles/SmallSun.plist new file mode 100755 index 0000000000..54be523a9b --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/SmallSun.plist @@ -0,0 +1,110 @@ + + + + + angle + 0.0 + angleVariance + 360 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 1 + finishColorRed + 1 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 0.0 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 500 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 0.20000000298023224 + particleLifespanVariance + 0.85530000925064087 + radialAccelVariance + 0.0 + radialAcceleration + -380 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + rotationEnd + 0.0 + rotationEndVariance + 0.0 + rotationStart + 0.0 + rotationStartVariance + 0.0 + sourcePositionVariancex + 7 + sourcePositionVariancey + 7 + sourcePositionx + 161.41999816894531 + sourcePositiony + 232.94000244140625 + speed + 128 + speedVariance + 6.5799999237060547 + startColorAlpha + 1 + startColorBlue + 0.0 + startColorGreen + 0.0 + startColorRed + 1 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.0 + startParticleSize + 22 + startParticleSizeVariance + 14 + tangentialAccelVariance + 0.0 + tangentialAcceleration + -144.74000549316406 + textureFileName + particleTexture.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/SpinningPeas.plist b/tests/cpp-tests/Resources/Particles/SpinningPeas.plist new file mode 100755 index 0000000000..724564dcff --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/SpinningPeas.plist @@ -0,0 +1,110 @@ + + + + + angle + 90 + angleVariance + 360 + blendFuncDestination + 771 + blendFuncSource + 770 + duration + -1 + emitterType + 0 + finishColorAlpha + 0 + finishColorBlue + 1 + finishColorGreen + 1 + finishColorRed + 1 + finishColorVarianceAlpha + 0 + finishColorVarianceBlue + 0 + finishColorVarianceGreen + 0 + finishColorVarianceRed + 0 + finishParticleSize + 64 + finishParticleSizeVariance + 0 + gravityx + 0 + gravityy + 0 + maxParticles + 15 + maxRadius + 331.5799865722656 + maxRadiusVariance + 0 + minRadius + 0 + particleLifespan + 10 + particleLifespanVariance + 0 + radialAcceleration + 0 + radialAccelVariance + 0 + rotatePerSecond + 0 + rotatePerSecondVariance + 68.68000030517578 + rotationEnd + 0 + rotationEndVariance + 3600 + rotationStart + 0 + rotationStartVariance + 0 + sourcePositionVariancex + 7 + sourcePositionVariancey + 7 + sourcePositionx + 160 + sourcePositiony + 222 + speed + 20 + speedVariance + 0 + startColorAlpha + 1 + startColorBlue + 1 + startColorGreen + 1 + startColorRed + 1 + startColorVarianceAlpha + 0 + startColorVarianceBlue + 0 + startColorVarianceGreen + 0 + startColorVarianceRed + 0 + startParticleSize + 64 + startParticleSizeVariance + 0 + tangentialAcceleration + 0 + tangentialAccelVariance + 0 + textureFileName + PeasTexture.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/Spiral.plist b/tests/cpp-tests/Resources/Particles/Spiral.plist new file mode 100755 index 0000000000..8096ac24f0 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Spiral.plist @@ -0,0 +1,102 @@ + + + + + angle + 270 + angleVariance + 0.0 + blendFuncDestination + 771 + blendFuncSource + 1 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 0.0 + finishColorBlue + 0.5 + finishColorGreen + 0.5 + finishColorRed + 0.5 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.5 + finishColorVarianceGreen + 0.5 + finishColorVarianceRed + 0.5 + finishParticleSize + 20 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 500 + maxRadius + 276.20999145507812 + maxRadiusVariance + 154.94999694824219 + minRadius + 0.0 + particleLifespan + 10 + particleLifespanVariance + 0.0 + radialAccelVariance + 10 + radialAcceleration + -380 + rotatePerSecond + 35.529998779296875 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 0.0 + sourcePositionx + 158.58407592773438 + sourcePositiony + 252.70588684082031 + speed + 150 + speedVariance + 0.0 + startColorAlpha + 1 + startColorBlue + 0.5 + startColorGreen + 0.5 + startColorRed + 0.5 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.5 + startColorVarianceGreen + 0.5 + startColorVarianceRed + 0.5 + startParticleSize + 20 + startParticleSizeVariance + 0.0 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 45 + textureFileName + Spiral.png + textureImageData + H4sIAAAAAAAAAwFmA5n8iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADLUlEQVRYCcXX51JbQRCEUeOc/f6v6ZzxHKFPLAoI84epmrp7985294QVxcXl5eWjh7Sn9yB/MWcej19sXQb87/iP8f+yiztWAOmzcYL5k/F9AX9m7/fWf83zTmLOVeD5AHECWieiKpR95D8nlhPcepbH7TYBL+dI/mrWRCRkrQIBZY9Q5vzb+PdxQj2P2ikBCPnrxb0TRMQpAYiRIa9lVcregR0TgATZm/G3W7cmxn5VaA6qQNkjEkNAMbPcDOpBJfYF6DMByJC/H3+3XSfC97IziATov8FD8HUcDmzZs+bETSF0Z+cEICeCE0TYOQFlHznSZoTQkwIc5PW+FqwC7NUGVagCXTvlXzNHXnXE5LsrulYAYFduX4Ts11b4LlaWlbXBWzNH2GxojzN4jgogJgENYreganyYGELsq1YCAOp9CZX5eivEwy9mltcvPvqwirBHSGKIQE6Eitg35forO5mxSo5cDJyVHIf3TRVSIxNgiUgIUO5Abel2qII4hLJnSk5M7XC2rMPGU5s2APO++11PiKBVUECEyAq5athHyvS6TO2vhOHB72/ILK+VtHnb0+EEAkeiLZGV2UpyG94cvRbgh+KcGyzenZb5l3FPbbBfzDks3zcmE9aBCIBF1FCt16meO98M6L3BEpeohIUHP65ZXvXJM2IH8oCAATZYiJWc+a7swJF/HvddnHjnuLgwE4RvY1XAAVMuwAHvHPA61cUDNnD6DUws8k/j2kJEZ8NahdjbWIBeVvJIgSISh4yJ8931SgBwpMhVwtPZKiIeaSJmeWWrgMolENh6pSKXrTjftcKU66m9ziViFSI+AWJ3tgoQADTwrtdKLvvinE2AfcAylTXyj9tn1UiE8ztbBdhUIiD2u9ez3PS5LP0QJe6UgKpgJhpOuPBv2DEBMubAmbI3H0BqDYEJcBOAy06mqpCI/xIw5zYViFx/gZc98IZyX0DtITIR+4M4n27afgX6CgB52dffsq9FawWqkipUCWLyWR7aKQEiHVwFuHbrX7batApNRO3wPOj77O3swf8zuquAneJZaEPZ14KqcOOKrYdOre8j4BTWvfZl8qD2D7ghcomuE8XXAAAAAElFTkSuQmCCksg8PmYDAAA= + + diff --git a/tests/cpp-tests/Resources/Particles/SpookyPeas.plist b/tests/cpp-tests/Resources/Particles/SpookyPeas.plist new file mode 100755 index 0000000000..8abb1d4110 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/SpookyPeas.plist @@ -0,0 +1,102 @@ + + + + + angle + 90 + angleVariance + 360 + blendFuncDestination + 771 + blendFuncSource + 770 + duration + -1 + emitterType + 1 + finishColorAlpha + 1 + finishColorBlue + 1 + finishColorGreen + 1 + finishColorRed + 1 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 1 + finishColorVarianceGreen + 1 + finishColorVarianceRed + 1 + finishParticleSize + 0.0 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 1000 + maxRadius + 192.6300048828125 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 2 + particleLifespanVariance + 0.0 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 73.419998168945312 + rotatePerSecondVariance + 73.419998168945312 + sourcePositionVariancex + 7 + sourcePositionVariancey + 7 + sourcePositionx + 160 + sourcePositiony + 222 + speed + 225 + speedVariance + 30 + startColorAlpha + 0.0 + startColorBlue + 1 + startColorGreen + 0.0 + startColorRed + 0.0 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 1 + startColorVarianceGreen + 1 + startColorVarianceRed + 1 + startParticleSize + 64 + startParticleSizeVariance + 5 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + PeasTexture.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/TestPremultipliedAlpha.plist b/tests/cpp-tests/Resources/Particles/TestPremultipliedAlpha.plist new file mode 100755 index 0000000000..1f9c2e6ac5 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/TestPremultipliedAlpha.plist @@ -0,0 +1,110 @@ + + + + + angle + 0.0 + angleVariance + 360 + blendFuncDestination + 771 + blendFuncSource + 1 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 0.0 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 0.0 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 1 + finishColorVarianceGreen + 1 + finishColorVarianceRed + 1 + finishParticleSize + 0.0 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 90 + maxRadius + 100 + maxRadiusVariance + 178.05097961425781 + minRadius + 0.0 + particleLifespan + 1.513200044631958 + particleLifespanVariance + 0.0 + radialAccelVariance + 0.0 + radialAcceleration + -14.391447067260742 + rotatePerSecond + 360 + rotatePerSecondVariance + 0.0 + rotationEnd + 0.0 + rotationEndVariance + 367.84539794921875 + rotationStart + 0.0 + rotationStartVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 16 + sourcePositionx + 160 + sourcePositiony + 240 + speed + 183.07977294921875 + speedVariance + 29.759456634521484 + startColorAlpha + 0.2199999988079071 + startColorBlue + 1 + startColorGreen + 1 + startColorRed + 1 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.57999998331069946 + startColorVarianceRed + 0.34000000357627869 + startParticleSize + 24.026315689086914 + startParticleSizeVariance + 22.319999694824219 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 44.921875 + textureFileName + arrows.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/Upsidedown.plist b/tests/cpp-tests/Resources/Particles/Upsidedown.plist new file mode 100755 index 0000000000..51d58af8c2 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/Upsidedown.plist @@ -0,0 +1,102 @@ + + + + + angle + 153 + angleVariance + 163 + blendFuncDestination + 771 + blendFuncSource + 1 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 0.17519465088844299 + finishColorBlue + 0.11082467436790466 + finishColorGreen + 0.28954619169235229 + finishColorRed + 0.0099386833608150482 + finishColorVarianceAlpha + 0.25987446308135986 + finishColorVarianceBlue + 0.73861962556838989 + finishColorVarianceGreen + 0.16484105587005615 + finishColorVarianceRed + 0.28705751895904541 + finishParticleSize + 18 + finishParticleSizeVariance + 31 + gravityx + 0.64999997615814209 + gravityy + 1.6000000238418579 + maxParticles + 206 + maxRadius + 100 + maxRadiusVariance + 0.0 + minRadius + 0.0 + particleLifespan + 3 + particleLifespanVariance + 9 + radialAccelVariance + 0.0 + radialAcceleration + 0.0 + rotatePerSecond + 0.0 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 7 + sourcePositionVariancey + 7 + sourcePositionx + 164.24778747558594 + sourcePositiony + 194.82353210449219 + speed + 77 + speedVariance + 69 + startColorAlpha + 0.76000493764877319 + startColorBlue + 0.21461969614028931 + startColorGreen + 0.55250370502471924 + startColorRed + 0.79755288362503052 + startColorVarianceAlpha + 0.26676812767982483 + startColorVarianceBlue + 0.93595731258392334 + startColorVarianceGreen + 0.98810279369354248 + startColorVarianceRed + 0.55410420894622803 + startParticleSize + 12 + startParticleSizeVariance + 62 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 0.0 + textureFileName + Upsidedown.png + textureImageData + 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 + + diff --git a/tests/cpp-tests/Resources/Particles/debian.plist b/tests/cpp-tests/Resources/Particles/debian.plist new file mode 100755 index 0000000000..1caf17cd25 --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/debian.plist @@ -0,0 +1,104 @@ + + + + + angle + 270 + angleVariance + 0.0 + blendAdditive + 0.0 + blendFuncDestination + 1 + blendFuncSource + 770 + duration + -1 + emitterType + 0.0 + finishColorAlpha + 1 + finishColorBlue + 0.0 + finishColorGreen + 0.0 + finishColorRed + 1 + finishColorVarianceAlpha + 0.0 + finishColorVarianceBlue + 0.0 + finishColorVarianceGreen + 0.0 + finishColorVarianceRed + 0.0 + finishParticleSize + 20 + finishParticleSizeVariance + 0.0 + gravityx + 0.0 + gravityy + 0.0 + maxParticles + 500 + maxRadius + 276.20999145507812 + maxRadiusVariance + 154.94999694824219 + minRadius + 0.0 + particleLifespan + 10 + particleLifespanVariance + 0.0 + radialAccelVariance + 0.0 + radialAcceleration + -200 + rotatePerSecond + 35.529998779296875 + rotatePerSecondVariance + 0.0 + sourcePositionVariancex + 0.0 + sourcePositionVariancey + 0.0 + sourcePositionx + 175.58000183105469 + sourcePositiony + 247.05999755859375 + speed + 50 + speedVariance + 0.0 + startColorAlpha + 1 + startColorBlue + 0.0 + startColorGreen + 0.0 + startColorRed + 1 + startColorVarianceAlpha + 0.0 + startColorVarianceBlue + 0.0 + startColorVarianceGreen + 0.0 + startColorVarianceRed + 0.0 + startParticleSize + 20 + startParticleSizeVariance + 0.0 + tangentialAccelVariance + 0.0 + tangentialAcceleration + 45 + textureFileName + debian.png + textureImageData + H4sIAAAAAAAAAwFmA5n8iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADLUlEQVRYCcXX51JbQRCEUeOc/f6v6ZzxHKFPLAoI84epmrp7985294QVxcXl5eWjh7Sn9yB/MWcej19sXQb87/iP8f+yiztWAOmzcYL5k/F9AX9m7/fWf83zTmLOVeD5AHECWieiKpR95D8nlhPcepbH7TYBL+dI/mrWRCRkrQIBZY9Q5vzb+PdxQj2P2ikBCPnrxb0TRMQpAYiRIa9lVcregR0TgATZm/G3W7cmxn5VaA6qQNkjEkNAMbPcDOpBJfYF6DMByJC/H3+3XSfC97IziATov8FD8HUcDmzZs+bETSF0Z+cEICeCE0TYOQFlHznSZoTQkwIc5PW+FqwC7NUGVagCXTvlXzNHXnXE5LsrulYAYFduX4Ts11b4LlaWlbXBWzNH2GxojzN4jgogJgENYreganyYGELsq1YCAOp9CZX5eivEwy9mltcvPvqwirBHSGKIQE6Eitg35forO5mxSo5cDJyVHIf3TRVSIxNgiUgIUO5Abel2qII4hLJnSk5M7XC2rMPGU5s2APO++11PiKBVUECEyAq5athHyvS6TO2vhOHB72/ILK+VtHnb0+EEAkeiLZGV2UpyG94cvRbgh+KcGyzenZb5l3FPbbBfzDks3zcmE9aBCIBF1FCt16meO98M6L3BEpeohIUHP65ZXvXJM2IH8oCAATZYiJWc+a7swJF/HvddnHjnuLgwE4RvY1XAAVMuwAHvHPA61cUDNnD6DUws8k/j2kJEZ8NahdjbWIBeVvJIgSISh4yJ8931SgBwpMhVwtPZKiIeaSJmeWWrgMolENh6pSKXrTjftcKU66m9ziViFSI+AWJ3tgoQADTwrtdKLvvinE2AfcAylTXyj9tn1UiE8ztbBdhUIiD2u9ez3PS5LP0QJe6UgKpgJhpOuPBv2DEBMubAmbI3H0BqDYEJcBOAy06mqpCI/xIw5zYViFx/gZc98IZyX0DtITIR+4M4n27afgX6CgB52dffsq9FawWqkipUCWLyWR7aKQEiHVwFuHbrX7batApNRO3wPOj77O3swf8zuquAneJZaEPZ14KqcOOKrYdOre8j4BTWvfZl8qD2D7ghcomuE8XXAAAAAElFTkSuQmCCksg8PmYDAAA= + + diff --git a/tests/cpp-tests/Resources/Particles/lines.plist b/tests/cpp-tests/Resources/Particles/lines.plist new file mode 100755 index 0000000000..a480261fcc --- /dev/null +++ b/tests/cpp-tests/Resources/Particles/lines.plist @@ -0,0 +1,118 @@ + + + + + angle + 90 + angleVariance + 30 + blendAdditive + 1 + blendFuncDestination + 771 + blendFuncSource + 1 + duration + -1 + emitterType + 0 + emissionRate + 30 + finishColorAlpha + 0 + finishColorBlue + 1 + finishColorGreen + 1 + finishColorRed + 1 + finishColorVarianceAlpha + 1 + finishColorVarianceBlue + 0 + finishColorVarianceGreen + 0 + finishColorVarianceRed + 0 + rotationStart + 0 + rotationStartVariance + 0 + rotationEnd + 0 + rotationEndVariance + 0 + finishParticleSize + 5 + finishParticleSizeVariance + 0 + gravityx + 0 + gravityy + 0 + maxParticles + 100 + maxRadius + 0 + maxRadiusVariance + 0 + minRadius + 0 + minRadiusVariance + 0 + particleLifespan + 2 + particleLifespanVariance + 0.125 + radialAccelVariance + 0 + radialAcceleration + -60 + rotationIsDir + 1 + rotatePerSecond + 0 + rotatePerSecondVariance + 0 + sourcePositionVariancex + 0 + sourcePositionVariancey + 0 + sourcePositionx + 0 + sourcePositiony + 0 + speed + 150 + speedVariance + 30 + startColorAlpha + 1 + startColorBlue + 1 + startColorGreen + 1 + startColorRed + 1 + startColorVarianceAlpha + 1 + startColorVarianceBlue + 0 + startColorVarianceGreen + 0 + startColorVarianceRed + 0 + startParticleSize + 60 + startParticleSizeVariance + 10 + tangentialAccelVariance + 0 + tangentialAcceleration + 15 + textureFileName + line.png + textureImageData + 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 + + \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Blur.fsh b/tests/cpp-tests/Resources/Shaders/example_Blur.fsh new file mode 100755 index 0000000000..8489686bf6 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Blur.fsh @@ -0,0 +1,58 @@ +// Shader taken from: http://webglsamples.googlecode.com/hg/electricflower/electricflower.html + +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform sampler2D CC_Texture0; + +uniform vec4 gaussianCoefficient; +uniform vec2 onePixelSize; + +void main() { + if(gaussianCoefficient.x > 0.0) { + vec4 sum = vec4(0.0); + vec2 offset; + float weight; + float squareX; + + for(float dx = 0.0; dx <= gaussianCoefficient.x; dx += 1.0) { + squareX = dx * dx; + weight = gaussianCoefficient.z * exp(squareX * gaussianCoefficient.y); + + offset.x = -dx * onePixelSize.x; + offset.y = 0.0; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + + offset.x = dx * onePixelSize.x; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + + for(float dy = 1.0; dy <= gaussianCoefficient.x; dy += 1.0) { + weight = gaussianCoefficient.z * exp((squareX + dy * dy) * gaussianCoefficient.y); + + offset.x = -dx * onePixelSize.x; + offset.y = -dy * onePixelSize.y; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + + offset.y = dy * onePixelSize.y; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + + offset.x = dx * onePixelSize.x; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + + offset.y = -dy * onePixelSize.y; + sum += texture2D(CC_Texture0, v_texCoord + offset) * weight; + } + } + sum -= texture2D(CC_Texture0, v_texCoord) * gaussianCoefficient.z; + sum /= gaussianCoefficient.w; + gl_FragColor = sum * v_fragmentColor; + } + else { + gl_FragColor = texture2D(CC_Texture0, v_texCoord) * v_fragmentColor; + } +} + diff --git a/tests/cpp-tests/Resources/Shaders/example_ColorBars.fsh b/tests/cpp-tests/Resources/Shaders/example_ColorBars.fsh new file mode 100755 index 0000000000..0ed6b49188 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_ColorBars.fsh @@ -0,0 +1,44 @@ +// http://www.cocos2d-iphone.org + +#ifdef GL_ES +precision lowp float; +#endif + +varying vec2 v_texCoord; +uniform sampler2D CC_Texture0; + +vec4 getColorByCoord(int y){ + if(y < 5){ + if(y == 0){ + return vec4(1,0,0,1); + } else if(y == 1){ + return vec4(0,1,0,1); + } else if(y == 2){ + return vec4(0,0,1,1); + } else if(y == 3){ + return vec4(0,1,1,1); + } else{ + return vec4(1,0,1,1); + } + } else { + if(y == 5){ + return vec4(1,1,0,1); + } else if(y == 6){ + return vec4(1,1,1,1); + } else if(y == 7){ + return vec4(1,0.5,0,1); + } else if(y == 8){ + return vec4(1,0.5,0.5,1); + }else { + return vec4(0.5,0.5,1,1); + } + } +} + +void main(void) { + // inline to prevent "float" loss and keep using lowp + //int y = int( mod(( (gl_FragCoord.y+gl_FragCoord.x)*mod(CC_Time[0],5.0)) / 10.0, 10.0 ) ); + //int y = int( mod( CC_Time[3] + (gl_FragCoord.y + gl_FragCoord.x) / 10.0, 10.0 ) ); + int y = int( mod(gl_FragCoord.y / 10.0, 10.0 ) ); + gl_FragColor = getColorByCoord(y) * texture2D(CC_Texture0, v_texCoord); +} diff --git a/tests/cpp-tests/Resources/Shaders/example_ColorBars.vsh b/tests/cpp-tests/Resources/Shaders/example_ColorBars.vsh new file mode 100755 index 0000000000..71dea345f4 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_ColorBars.vsh @@ -0,0 +1,18 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; +attribute vec2 a_texCoord; + +#ifdef GL_ES +varying mediump vec2 v_texCoord; +#else +varying vec2 v_texCoord; +#endif + +void main() +{ + //gl_Position = CC_MVPMatrix * a_position; + gl_Position = (CC_PMatrix * CC_MVMatrix) * a_position; + v_texCoord = a_texCoord; +} + diff --git a/tests/cpp-tests/Resources/Shaders/example_Flower.fsh b/tests/cpp-tests/Resources/Shaders/example_Flower.fsh new file mode 100755 index 0000000000..9440e89425 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Flower.fsh @@ -0,0 +1,34 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +//float u( float x ) { return 0.5+0.5*sign(x); } +float u( float x ) { return (x>0.0)?1.0:0.0; } +//float u( float x ) { return abs(x)/x; } + +void main(void) +{ + float time = CC_Time[1]; + vec2 p = 2.0 * (gl_FragCoord.xy - center.xy) / resolution.xy; + + float a = atan(p.x,p.y); + float r = length(p)*.75; + + float w = cos(3.1415927*time-r*2.0); + float h = 0.5+0.5*cos(12.0*a-w*7.0+r*8.0); + float d = 0.25+0.75*pow(h,1.0*r)*(0.7+0.3*w); + + float col = u( d-r ) * sqrt(1.0-r/d)*r*2.5; + col *= 1.25+0.25*cos((12.0*a-w*7.0+r*8.0)/2.0); + col *= 1.0 - 0.35*(0.5+0.5*sin(r*30.0))*(0.5+0.5*cos(12.0*a-w*7.0+r*8.0)); + gl_FragColor = vec4( + col, + col-h*0.5+r*.2 + 0.35*h*(1.0-r), + col-h*r + 0.1*h*(1.0-r), + 1.0); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Flower.vsh b/tests/cpp-tests/Resources/Shaders/example_Flower.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Flower.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Heart.fsh b/tests/cpp-tests/Resources/Shaders/example_Heart.fsh new file mode 100755 index 0000000000..2a71e1af17 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Heart.fsh @@ -0,0 +1,33 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +void main(void) +{ + float time = CC_Time[1]; + vec2 p = 2.0 * (gl_FragCoord.xy - center.xy) / resolution.xy; + + // animate + float tt = mod(time,2.0)/2.0; + float ss = pow(tt,.2)*0.5 + 0.5; + ss -= ss*0.2*sin(tt*6.2831*5.0)*exp(-tt*6.0); + p *= vec2(0.5,1.5) + ss*vec2(0.5,-0.5); + + + float a = atan(p.x,p.y)/3.141593; + float r = length(p); + + // shape + float h = abs(a); + float d = (13.0*h - 22.0*h*h + 10.0*h*h*h)/(6.0-5.0*h); + + // color + float f = step(r,d) * pow(1.0-r/d,0.25); + + gl_FragColor = vec4(f,0.0,0.0,1.0); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Heart.vsh b/tests/cpp-tests/Resources/Shaders/example_Heart.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Heart.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_HorizontalColor.fsh b/tests/cpp-tests/Resources/Shaders/example_HorizontalColor.fsh new file mode 100755 index 0000000000..86bc8a438c --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_HorizontalColor.fsh @@ -0,0 +1,28 @@ +// http://www.cocos2d-iphone.org + +#ifdef GL_ES +precision lowp float; +#endif + +varying vec2 v_texCoord; +uniform sampler2D CC_Texture0; + +vec4 colors[10]; + +void main(void) +{ + colors[0] = vec4(1,0,0,1); + colors[1] = vec4(0,1,0,1); + colors[2] = vec4(0,0,1,1); + colors[3] = vec4(0,1,1,1); + colors[4] = vec4(1,0,1,1); + colors[5] = vec4(1,1,0,1); + colors[6] = vec4(1,1,1,1); + colors[7] = vec4(1,0.5,0,1); + colors[8] = vec4(1,0.5,0.5,1); + colors[9] = vec4(0.5,0.5,1,1); + + // inline to prevent "float" loss and keep using lowp + int y = int( mod(gl_FragCoord.y / 3.0, 10.0 ) ); + gl_FragColor = colors[y] * texture2D(CC_Texture0, v_texCoord); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Julia.fsh b/tests/cpp-tests/Resources/Shaders/example_Julia.fsh new file mode 100755 index 0000000000..4d16aa0371 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Julia.fsh @@ -0,0 +1,29 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +void main(void) +{ + float time = CC_Time[1]; + vec2 p = 2.0 * (gl_FragCoord.xy - center.xy) / resolution.xy; + vec2 cc = vec2( cos(.25*time), sin(.25*time*1.423) ); + + float dmin = 1000.0; + vec2 z = p*vec2(1.33,1.0); + for( int i=0; i<64; i++ ) + { + z = cc + vec2( z.x*z.x - z.y*z.y, 2.0*z.x*z.y ); + float m2 = dot(z,z); + if( m2>100.0 ) break; + dmin=min(dmin,m2); + } + + float color = sqrt(sqrt(dmin))*0.7; + gl_FragColor = vec4(color,color,color,1.0); +} + diff --git a/tests/cpp-tests/Resources/Shaders/example_Julia.vsh b/tests/cpp-tests/Resources/Shaders/example_Julia.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Julia.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.fsh b/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.fsh new file mode 100755 index 0000000000..51cef3b3a0 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.fsh @@ -0,0 +1,41 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +void main(void) +{ + vec2 p = 2.0 * (gl_FragCoord.xy - center.xy) / resolution.xy; + p.x *= resolution.x/resolution.y; + + float zoo = .62+.38*sin(.1*CC_Time[1]); + float coa = cos( 0.1*(1.0-zoo)*CC_Time[1] ); + float sia = sin( 0.1*(1.0-zoo)*CC_Time[1] ); + zoo = pow( zoo,8.0); + vec2 xy = vec2( p.x*coa-p.y*sia, p.x*sia+p.y*coa); + vec2 cc = vec2(-.745,.186) + xy*zoo; + + vec2 z = vec2(0.0); + vec2 z2 = z*z; + float m2; + float co = 0.0; + + for( int i=0; i<256; i++ ) + { + z = cc + vec2( z.x*z.x - z.y*z.y, 2.0*z.x*z.y ); + m2 = dot(z,z); + if( m2>1024.0 ) break; + co += 1.0; + } + co = co + 1.0 - log2(.5*log2(m2)); + + co = sqrt(co/256.0); + gl_FragColor = vec4( .5+.5*cos(6.2831*co+0.0), + .5+.5*cos(6.2831*co+0.4), + .5+.5*cos(6.2831*co+0.7), + 1.0 ); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.vsh b/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Mandelbrot.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Monjori.fsh b/tests/cpp-tests/Resources/Shaders/example_Monjori.fsh new file mode 100755 index 0000000000..a830a24817 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Monjori.fsh @@ -0,0 +1,35 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +void main(void) +{ + vec2 p = 2.0 * (gl_FragCoord.xy - center.xy) / resolution.xy; + float a = CC_Time[1]*40.0; + float d,e,f,g=1.0/40.0,h,i,r,q; + e=400.0*(p.x*0.5+0.5); + f=400.0*(p.y*0.5+0.5); + i=200.0+sin(e*g+a/150.0)*20.0; + d=200.0+cos(f*g/2.0)*18.0+cos(e*g)*7.0; + r=sqrt(pow(i-e,2.0)+pow(d-f,2.0)); + q=f/r; + e=(r*cos(q))-a/2.0;f=(r*sin(q))-a/2.0; + d=sin(e*g)*176.0+sin(e*g)*164.0+r; + h=((f+d)+a/2.0)*g; + i=cos(h+r*p.x/1.3)*(e+e+a)+cos(q*g*6.0)*(r+h/3.0); + h=sin(f*g)*144.0-sin(e*g)*212.0*p.x; + h=(h+(f-e)*q+sin(r-(a+h)/7.0)*10.0+i/4.0)*g; + i+=cos(h*2.3*sin(a/350.0-q))*184.0*sin(q-(r*4.3+a/12.0)*g)+tan(r*g+h)*184.0*cos(r*g+h); + i=mod(i/5.6,256.0)/64.0; + if(i<0.0) i+=4.0; + if(i>=2.0) i=4.0-i; + d=r/350.0; + d+=sin(d*d*8.0)*0.52; + f=(sin(a*g)+1.0)/2.0; + gl_FragColor=vec4(vec3(f*i/1.6,i/2.0+d/13.0,i)*d*p.x+vec3(i/1.3+d/8.0,i/2.0+d/18.0,i)*d*(1.0-p.x),1.0); +} diff --git a/tests/cpp-tests/Resources/Shaders/example_Monjori.vsh b/tests/cpp-tests/Resources/Shaders/example_Monjori.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Monjori.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Noisy.fsh b/tests/cpp-tests/Resources/Shaders/example_Noisy.fsh new file mode 100755 index 0000000000..ff565de0f2 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Noisy.fsh @@ -0,0 +1,27 @@ +// Shader taken from: http://webglsamples.googlecode.com/hg/electricflower/electricflower.html + +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform vec2 resolution; +uniform sampler2D CC_Texture0; + +const float intensity = 0.05; +vec3 noise(vec2 uv) +{ + vec2 p = abs(sin(uv * 13.0 + uv.x * CC_Time[1] * sin(uv.y))); + + return vec3(sin (0.2 * CC_Time[1] + sin(p * 0.5) * CC_Time[1] / cos(50.0)) * 10.0,0.3+0.5 * abs(sin(CC_Time[1] * tan(5.0)))); + +} + +void main(void) +{ + gl_FragColor.xyz = intensity * noise(gl_FragCoord.xy / sin(resolution.xy * CC_Time[1] * 0.01)) + (1. - intensity) * + texture2D(CC_Texture0,v_texCoord.xy).xyz; + gl_FragColor.w = 1.; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Plasma.fsh b/tests/cpp-tests/Resources/Shaders/example_Plasma.fsh new file mode 100755 index 0000000000..db7671e1f8 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Plasma.fsh @@ -0,0 +1,22 @@ +// Shader from http://www.iquilezles.org/apps/shadertoy/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 center; +uniform vec2 resolution; + +void main(void) +{ + float time = CC_Time[1]; + float x = gl_FragCoord.x - (center.x - resolution.x / 2.0); + float y = gl_FragCoord.y - (center.y - resolution.y / 2.0); + float mov0 = x+y+cos(sin(time)*2.)*100.+sin(x/100.)*1000.; + float mov1 = y / resolution.y / 0.2 + time; + float mov2 = x / resolution.x / 0.2; + float c1 = abs(sin(mov1+time)/2.+mov2/2.-mov1-mov2+time); + float c2 = abs(sin(c1+sin(mov0/1000.+time)+sin(y/40.+time)+sin((x+y)/100.)*3.)); + float c3 = abs(sin(c2+cos(mov1+mov2+c2)+cos(mov2)+sin(x/1000.))); + gl_FragColor = vec4( c1,c2,c3,1.0); +} diff --git a/tests/cpp-tests/Resources/Shaders/example_Plasma.vsh b/tests/cpp-tests/Resources/Shaders/example_Plasma.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Plasma.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Twist.fsh b/tests/cpp-tests/Resources/Shaders/example_Twist.fsh new file mode 100755 index 0000000000..15eb3106c7 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Twist.fsh @@ -0,0 +1,26 @@ +// Shader from here: http://www.iquilezles.org/ + +#ifdef GL_ES +precision highp float; +#endif + +uniform vec2 resolution; +uniform sampler2D tex0; +uniform sampler2D tex1; + +void main(void) +{ + float time = CC_Time[1]; + vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / resolution.xy; + vec2 uv; + + float a = atan(p.y,p.x); + float r = sqrt(dot(p,p)); + + uv.x = r - CC_Time[2]; + uv.y = sin(a*10.0 + 2.0*CC_CosTime[0]; + + vec3 col = (.5+.5*uv.y)*texture2D(tex0,uv).xyz; + + gl_FragColor = vec4(col,1.0); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_Twist.vsh b/tests/cpp-tests/Resources/Shaders/example_Twist.vsh new file mode 100755 index 0000000000..359ef1e855 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_Twist.vsh @@ -0,0 +1,8 @@ +// http://www.cocos2d-iphone.org + +attribute vec4 a_position; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_bloom.fsh b/tests/cpp-tests/Resources/Shaders/example_bloom.fsh new file mode 100755 index 0000000000..fc728e99a6 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_bloom.fsh @@ -0,0 +1,55 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform vec2 resolution; +uniform sampler2D CC_Texture0; + + +const float blurSize = 1.0/512.0; +const float intensity = 0.35; +void main() +{ + vec4 sum = vec4(0); + vec2 texcoord = v_texCoord.xy; + int j; + int i; + + //thank you! http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/ for the + //blur tutorial + // blur in y (vertical) + // take nine samples, with the distance blurSize between them + sum += texture2D(CC_Texture0, vec2(texcoord.x - 4.0*blurSize, texcoord.y)) * 0.05; + sum += texture2D(CC_Texture0, vec2(texcoord.x - 3.0*blurSize, texcoord.y)) * 0.09; + sum += texture2D(CC_Texture0, vec2(texcoord.x - 2.0*blurSize, texcoord.y)) * 0.12; + sum += texture2D(CC_Texture0, vec2(texcoord.x - blurSize, texcoord.y)) * 0.15; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y)) * 0.16; + sum += texture2D(CC_Texture0, vec2(texcoord.x + blurSize, texcoord.y)) * 0.15; + sum += texture2D(CC_Texture0, vec2(texcoord.x + 2.0*blurSize, texcoord.y)) * 0.12; + sum += texture2D(CC_Texture0, vec2(texcoord.x + 3.0*blurSize, texcoord.y)) * 0.09; + sum += texture2D(CC_Texture0, vec2(texcoord.x + 4.0*blurSize, texcoord.y)) * 0.05; + + // blur in y (vertical) + // take nine samples, with the distance blurSize between them + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y - 4.0*blurSize)) * 0.05; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y - 3.0*blurSize)) * 0.09; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y - 2.0*blurSize)) * 0.12; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y - blurSize)) * 0.15; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y)) * 0.16; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y + blurSize)) * 0.15; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y + 2.0*blurSize)) * 0.12; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y + 3.0*blurSize)) * 0.09; + sum += texture2D(CC_Texture0, vec2(texcoord.x, texcoord.y + 4.0*blurSize)) * 0.05; + + //increase blur with intensity! + gl_FragColor = sum*intensity + texture2D(CC_Texture0, texcoord); + return; + /*if(sin(iGlobalTime) > 0.0) + gl_FragColor = sum * sin(iGlobalTime)+ texture2D(iChannel0, texcoord); + else + gl_FragColor = sum * -sin(iGlobalTime)+ texture2D(iChannel0, texcoord); + */ +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_celShading.fsh b/tests/cpp-tests/Resources/Shaders/example_celShading.fsh new file mode 100755 index 0000000000..9e6e13de60 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_celShading.fsh @@ -0,0 +1,65 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform vec2 resolution; +uniform sampler2D CC_Texture0; + + +#define FILTER_SIZE 3 +#define COLOR_LEVELS 7.0 +#define EDGE_FILTER_SIZE 3 +#define EDGE_THRESHOLD 0.05 + +vec4 edgeFilter(in int px, in int py) +{ + vec4 color = vec4(0.0); + + for (int y = -EDGE_FILTER_SIZE; y <= EDGE_FILTER_SIZE; ++y) + { + for (int x = -EDGE_FILTER_SIZE; x <= EDGE_FILTER_SIZE; ++x) + { + color += texture2D(CC_Texture0, v_texCoord + vec2(px + x, py + y) / resolution.xy); + } + } + + color /= float((2 * EDGE_FILTER_SIZE + 1) * (2 * EDGE_FILTER_SIZE + 1)); + + return color; +} + +void main(void) +{ + // Shade + vec4 color = vec4(0.0); + + for (int y = -FILTER_SIZE; y <= FILTER_SIZE; ++y) + { + for (int x = -FILTER_SIZE; x <= FILTER_SIZE; ++x) + { + color += texture2D(CC_Texture0, v_texCoord + vec2(x, y) / resolution.xy); + } + } + + color /= float((2 * FILTER_SIZE + 1) * (2 * FILTER_SIZE + 1)); + + for (int c = 0; c < 3; ++c) + { + color[c] = floor(COLOR_LEVELS * color[c]) / COLOR_LEVELS; + } + + // Highlight edges + vec4 sum = abs(edgeFilter(0, 1) - edgeFilter(0, -1)); + sum += abs(edgeFilter(1, 0) - edgeFilter(-1, 0)); + sum /= 2.0; + + if (length(sum) > EDGE_THRESHOLD) + { + color.rgb = vec3(0.0); + } + + gl_FragColor = color; +} diff --git a/tests/cpp-tests/Resources/Shaders/example_edgeDetection.fsh b/tests/cpp-tests/Resources/Shaders/example_edgeDetection.fsh new file mode 100755 index 0000000000..b800eb2486 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_edgeDetection.fsh @@ -0,0 +1,42 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform vec2 resolution; +uniform sampler2D CC_Texture0; + +float lookup(vec2 p, float dx, float dy) +{ + vec2 uv = p.xy + vec2(dx , dy ) / resolution.xy; + vec4 c = texture2D(CC_Texture0, uv.xy); + return 0.2126*c.r + 0.7152*c.g + 0.0722*c.b; +} + +void main(void) +{ + vec2 p = v_texCoord.xy; + // simple sobel edge detection + float gx = 0.0; + gx += -1.0 * lookup(p, -1.0, -1.0); + gx += -2.0 * lookup(p, -1.0, 0.0); + gx += -1.0 * lookup(p, -1.0, 1.0); + gx += 1.0 * lookup(p, 1.0, -1.0); + gx += 2.0 * lookup(p, 1.0, 0.0); + gx += 1.0 * lookup(p, 1.0, 1.0); + + float gy = 0.0; + gy += -1.0 * lookup(p, -1.0, -1.0); + gy += -2.0 * lookup(p, 0.0, -1.0); + gy += -1.0 * lookup(p, 1.0, -1.0); + gy += 1.0 * lookup(p, -1.0, 1.0); + gy += 2.0 * lookup(p, 0.0, 1.0); + gy += 1.0 * lookup(p, 1.0, 1.0); + + float g = gx*gx + gy*gy; + + gl_FragColor.xyz = vec3(1.-g); + gl_FragColor.w = 1.; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_greyScale.fsh b/tests/cpp-tests/Resources/Shaders/example_greyScale.fsh new file mode 100755 index 0000000000..af69b0c8a6 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_greyScale.fsh @@ -0,0 +1,15 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform sampler2D CC_Texture0; + +void main(void) +{ + vec4 c = texture2D(CC_Texture0, v_texCoord); + gl_FragColor.xyz = vec3(0.2126*c.r + 0.7152*c.g + 0.0722*c.b); + gl_FragColor.w = c.w; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_lensFlare.fsh b/tests/cpp-tests/Resources/Shaders/example_lensFlare.fsh new file mode 100755 index 0000000000..2c4e75c948 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_lensFlare.fsh @@ -0,0 +1,101 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform vec2 resolution; +uniform vec2 textureResolution; +uniform sampler2D CC_Texture0; + +/*by musk License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. + + Trying to get some interesting looking lens flares. + + 13/08/13: + published + + muuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusk!*/ + +float noise(float t) +{ + return texture2D(CC_Texture0,vec2(t,.0)/textureResolution.xy).x; +} +float noise(vec2 t) +{ + return texture2D(CC_Texture0,t/textureResolution.xy).x; +} + +vec3 lensflare(vec2 uv,vec2 pos) +{ + vec2 main = uv-pos; + vec2 uvd = uv*(length(uv)); + + float ang = atan(main.x,main.y); + float dist=length(main); dist = pow(dist,.1); + float n = noise(vec2(ang*16.0,dist*32.0)); + + float f0 = 1.0/(length(uv-pos)*16.0+1.0); + + f0 = f0+f0*(sin(noise((pos.x+pos.y)*2.2+ang*4.0+5.954)*16.0)*.1+dist*.1+.8); + + float f1 = max(0.01-pow(length(uv+1.2*pos),1.9),.0)*7.0; + + float f2 = max(1.0/(1.0+32.0*pow(length(uvd+0.8*pos),2.0)),.0)*00.25; + float f22 = max(1.0/(1.0+32.0*pow(length(uvd+0.85*pos),2.0)),.0)*00.23; + float f23 = max(1.0/(1.0+32.0*pow(length(uvd+0.9*pos),2.0)),.0)*00.21; + + vec2 uvx = mix(uv,uvd,-0.5); + + float f4 = max(0.01-pow(length(uvx+0.4*pos),2.4),.0)*6.0; + float f42 = max(0.01-pow(length(uvx+0.45*pos),2.4),.0)*5.0; + float f43 = max(0.01-pow(length(uvx+0.5*pos),2.4),.0)*3.0; + + uvx = mix(uv,uvd,-.4); + + float f5 = max(0.01-pow(length(uvx+0.2*pos),5.5),.0)*2.0; + float f52 = max(0.01-pow(length(uvx+0.4*pos),5.5),.0)*2.0; + float f53 = max(0.01-pow(length(uvx+0.6*pos),5.5),.0)*2.0; + + uvx = mix(uv,uvd,-0.5); + + float f6 = max(0.01-pow(length(uvx-0.3*pos),1.6),.0)*6.0; + float f62 = max(0.01-pow(length(uvx-0.325*pos),1.6),.0)*3.0; + float f63 = max(0.01-pow(length(uvx-0.35*pos),1.6),.0)*5.0; + + vec3 c = vec3(.0); + + c.r+=f2+f4+f5+f6; c.g+=f22+f42+f52+f62; c.b+=f23+f43+f53+f63; + c = c*1.3 - vec3(length(uvd)*.05); + c+=vec3(f0); + + return c; +} + +vec3 cc(vec3 color, float factor,float factor2) // color modifier +{ + float w = color.x+color.y+color.z; + return mix(color,vec3(w)*factor,w*factor2); +} + +void main(void) +{ + vec2 uv = v_texCoord - 0.5; + uv.x *= resolution.x/resolution.y; //fix aspect ratio +// vec3 mouse = vec3(iMouse.xy/iResolution.xy - 0.5,iMouse.z-.5); +// mouse.x *= iResolution.x/iResolution.y; //fix aspect ratio +// if (iMouse.z<.5) +// { +// +// } + vec3 mouse; + mouse.z = 0.5; + mouse.x=sin(CC_Time[1])*.5; + mouse.y=sin(CC_Time[1]*.913)*.5; + + vec3 color = vec3(1.4,1.2,1.0)*lensflare(uv,mouse.xy); + color -= noise(v_texCoord * resolution)*.015; + color = cc(color,.5,.1); + gl_FragColor = vec4(color,1.0); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_normal.fsh b/tests/cpp-tests/Resources/Shaders/example_normal.fsh new file mode 100755 index 0000000000..3ecb825051 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_normal.fsh @@ -0,0 +1,13 @@ +#ifdef GL_ES +precision mediump float; +#endif + +varying vec4 v_fragmentColor; +varying vec2 v_texCoord; + +uniform sampler2D CC_Texture0; + +void main(void) +{ + gl_FragColor = texture2D(CC_Texture0, v_texCoord); +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/Shaders/example_outline.fsh b/tests/cpp-tests/Resources/Shaders/example_outline.fsh new file mode 100755 index 0000000000..d75b78715e --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_outline.fsh @@ -0,0 +1,38 @@ +/* + Created by guanghui on 4/8/14. +http://www.idevgames.com/forums/thread-3010.html +*/ + +varying vec2 v_texCoord; +varying vec4 v_fragmentColor; + +uniform sampler2D CC_Texture0; + +uniform vec3 u_outlineColor; +uniform float u_threshold; +uniform float u_radius; + +void main() +{ + float radius = u_radius; + vec4 accum = vec4(0.0); + vec4 normal = vec4(0.0); + + normal = texture2D(CC_Texture0, vec2(v_texCoord.x, v_texCoord.y)); + + accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y - radius)); + accum += texture2D(CC_Texture0, vec2(v_texCoord.x + radius, v_texCoord.y - radius)); + accum += texture2D(CC_Texture0, vec2(v_texCoord.x + radius, v_texCoord.y + radius)); + accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y + radius)); + + accum *= u_threshold; + + accum.r = u_outlineColor.x; + accum.g = u_outlineColor.y; + accum.b = u_outlineColor.z; + + normal = (accum * (1.0 - normal.a)) + (normal * normal.a); + + gl_FragColor = v_fragmentColor * normal; +} + diff --git a/tests/cpp-tests/Resources/Shaders/example_outline.vsh b/tests/cpp-tests/Resources/Shaders/example_outline.vsh new file mode 100755 index 0000000000..9d7e6bc813 --- /dev/null +++ b/tests/cpp-tests/Resources/Shaders/example_outline.vsh @@ -0,0 +1,20 @@ +/* + Created by guanghui on 4/8/14. + +*/ + + +attribute vec4 a_position; +attribute vec4 a_color; +attribute vec2 a_texCoord; + +varying vec2 v_texCoord; + +varying vec4 v_fragmentColor; + +void main() +{ + gl_Position = CC_MVPMatrix * a_position; + v_fragmentColor = a_color; + v_texCoord = a_texCoord; +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/TileMaps/fixed-ortho-test2.png b/tests/cpp-tests/Resources/TileMaps/fixed-ortho-test2.png new file mode 100755 index 0000000000..99668bad5e Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/fixed-ortho-test2.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/hexa-test.tmx b/tests/cpp-tests/Resources/TileMaps/hexa-test.tmx new file mode 100755 index 0000000000..f132d61a68 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/hexa-test.tmx @@ -0,0 +1,12 @@ + + + + + + + + + H4sIAAAAAAAAAGNiYGBgA2JGIGaC0qxQNiuSGBuUz4amDibGhqQGXQwAD578mGQAAAA= + + + diff --git a/tests/cpp-tests/Resources/TileMaps/hexa-tiles.png b/tests/cpp-tests/Resources/TileMaps/hexa-tiles.png new file mode 100755 index 0000000000..67b1f4a471 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/hexa-tiles.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test-bug787.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test-bug787.tmx new file mode 100755 index 0000000000..d46c5850cc --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test-bug787.tmx @@ -0,0 +1,17 @@ + + + + + + + + + H4sIAAAAAAAAA+3DwQkAAAwDoYPsv3PH6EfBVVNVVVVVVVVVVVVVVVVVVVVfH73hYN0AQAAA + + + + + H4sIAAAAAAAAA+2Y2Y7DIAxFeeD/v3nEQ6UMYvGW4Gt8pKptAgnXZrFdSpLQqKcHkCTJJ9Tyf73X7js6vc6vdJ+27+3vP0m/5m4DQfubPkLxv+UYR/ssgg0sqN2nvz5rG4Gd5t42ddIuGhRtUWww0kDVFsEGKw1UG6AzswHFv4j6OWPe2QBN/26+c9YC4vrXrOlT+agVWn8h+vsHd+yaM8Er3LHP6k/ISG2APvdX/2d90OP9le8ixjVPqPnsqj8y1Hglao7PiekjrPURXBuUwfX+vmc4a3w3D3bv8GgPie8o9lrVBz3ZQbKfc2o9q3se7CA90yk5PkItSDpGS32n5wJXh1VeyG3zJhw/ScZKPSNOYrWnrWII7fvfRlvref7mxgoe9DcoedCs3+o5s3bUe18iqWFYtPOiv2G1z3PmgId9UArXr9J90ivSWJrzHFS0+RQ6nHwhov4Gcp3Agqi6qET2LRVNLh0BSf0wEpo6QgSeZ9xt2hvRzzgKN2tPkiRJEg1/QULzBABAAAA= + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test-movelayer.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test-movelayer.tmx new file mode 100755 index 0000000000..65487d5f71 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test-movelayer.tmx @@ -0,0 +1,27 @@ + + + + + + + + + H4sIAAAAAAAAA+3VwQkAAAgCQNt/6ZaIgjjBr/e0ktRRt8PlcrlcLnduZ/v3uVwu97t70QaXptU4EA4AAA== + + + + + H4sIAAAAAAAAA+3NMQ0AAAwDoB71r7ke9i0BAyQAAHxXJ3AwBKd25hAOAAA= + + + + + H4sIAAAAAAAAA+3NMQEAAAzDoBzzr3lCCgYoAACAPefsASYrBSMQDgAA + + + + + H4sIAAAAAAAAA+3NMQ0AAAwDoB71r7kulh1ggAQAAOCPOs/OAa5m6+4QDgAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test-objectgroup.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test-objectgroup.tmx new file mode 100755 index 0000000000..d135b20fc4 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test-objectgroup.tmx @@ -0,0 +1,28 @@ + + + + + + + + + H4sIAAAAAAAAA2NkYGBgHMWDBgMAjw2X0pABAAA= + + + + + H4sIAAAAAAAAA2NmwARMOOjhAJhwsJlxqMPmd2YkmgmHGmS1yOqwqWdGwgDg7sqJkAEAAA== + + + + + H4sIAAAAAAAAA2NgGFqAGYqppW6wAQDMTJpEkAEAAA== + + + + + + + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test-vertexz.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test-vertexz.tmx new file mode 100755 index 0000000000..91b16b70bd --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test-vertexz.tmx @@ -0,0 +1,23 @@ + + + + + + + + + + + + H4sIAAAAAAAAA+3VwQkAAAgCQNt/6ZaIgjjBr/e0ktRRt8PlcrlcLnduZ/v3uVwu97t70QaXptU4EA4AAA== + + + + + + + + H4sIAAAAAAAAA+3NoQ0AMAwDwYB0/5XbAUodkjvJktlXAQDktOZIc6q/vZnsa+b6mv9/3i74MMBTEA4AAA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test-zorder.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test-zorder.tmx new file mode 100755 index 0000000000..c6fd75b4e0 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test-zorder.tmx @@ -0,0 +1,26 @@ + + + + + + + + H4sIAAAAAAAAA+3VwQkAAAgCQNt/6ZaIgjjBr/e0ktRRt8PlcrlcLnduZ/v3uVwu97t70QaXptU4EA4AAA== + + + + + H4sIAAAAAAAAA+3NMQ0AAAwDoB71r7ke9i0BAyQAAHxXp9PpPJwDqA24MxAOAAA= + + + + + H4sIAAAAAAAAA+3NMQ0AAAwDoB71r7kWdi9ggAQAALio0/nsHDLwb3IQDgAA + + + + + H4sIAAAAAAAAA+3NMQ0AAAwDoB71r7kulh1ggAQAAOCPOs/OAa5m6+4QDgAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test.png b/tests/cpp-tests/Resources/TileMaps/iso-test.png new file mode 100755 index 0000000000..00e694810e Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/iso-test.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test.tmx new file mode 100755 index 0000000000..1e878f87dd --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test.tmx @@ -0,0 +1,16 @@ + + + + + + + + H4sIAAAAAAAAA+3DwQkAAAwDoYPsv3PH6EfBVVNVVVVVVVVVVVVVVVVVVVVfH73hYN0AQAAA + + + + + H4sIAAAAAAAAA+2Y2Y7DIAxFeeD/v3nEQ6UMYvGW4Gt8pKptAgnXZrFdSpLQqKcHkCTJJ9Tyf73X7js6vc6vdJ+27+3vP0m/5m4DQfubPkLxv+UYR/ssgg0sqN2nvz5rG4Gd5t42ddIuGhRtUWww0kDVFsEGKw1UG6AzswHFv4j6OWPe2QBN/26+c9YC4vrXrOlT+agVWn8h+vsHd+yaM8Er3LHP6k/ISG2APvdX/2d90OP9le8ixjVPqPnsqj8y1Hglao7PiekjrPURXBuUwfX+vmc4a3w3D3bv8GgPie8o9lrVBz3ZQbKfc2o9q3se7CA90yk5PkItSDpGS32n5wJXh1VeyG3zJhw/ScZKPSNOYrWnrWII7fvfRlvref7mxgoe9DcoedCs3+o5s3bUe18iqWFYtPOiv2G1z3PmgId9UArXr9J90ivSWJrzHFS0+RQ6nHwhov4Gcp3Agqi6qET2LRVNLh0BSf0wEpo6QgSeZ9xt2hvRzzgKN2tPkiRJEg1/QULzBABAAAA= + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test1.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test1.tmx new file mode 100755 index 0000000000..9f3c9c0511 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test1.tmx @@ -0,0 +1,21 @@ + + + + + + + + H4sIAAAAAAAAA2NkYGBgHMWDBgMAjw2X0pABAAA= + + + + + H4sIAAAAAAAAA2NmwARMOOjhAJhwsJlxqMPmd2YkmgmHGmS1yOqwqWdGwgDg7sqJkAEAAA== + + + + + H4sIAAAAAAAAA2NgGFqAGYqppW6wAQDMTJpEkAEAAA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test2-uncompressed.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test2-uncompressed.tmx new file mode 100755 index 0000000000..9244cd3ef2 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test2-uncompressed.tmx @@ -0,0 +1,17 @@ + + + + + + + + + AgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAA== + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test2.png b/tests/cpp-tests/Resources/TileMaps/iso-test2.png new file mode 100755 index 0000000000..8668e0fe20 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/iso-test2.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/iso-test2.tmx b/tests/cpp-tests/Resources/TileMaps/iso-test2.tmx new file mode 100755 index 0000000000..a015f57ccc --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/iso-test2.tmx @@ -0,0 +1,17 @@ + + + + + + + + + H4sIAAAAAAAAAO3DwQkAAAwDoSP7D90x+lFw1VRVVVVVVVVVVVVVVVVVVdXXB2sNXEYAQAAA + + + + + H4sIAAAAAAAAAO2Z4QqDMAyEBd//ncd+lA1pYtpGyfXugzLZquR6TYzuOIQQ59/w5vSO0blqsbSdxic6Z2d4c3vHApeRfR3ZI2hE9d/ViWgOVWM0/3tzeucgrcEK0XqJglXjLc931X/d655+b1THi9mrcWIPov1v+82q/5HvKhLN2Uj9G1nLKqz6752PoD8D5DoZjRFxb0dYzf8KrPQeIzoq7utd+s/ZWNH7zwZavLPc+ZW5BhXXM6I/K25U/ZnXQwEt3mxWtF/fUyD6Pwvy80ZGvKj5Xz2+J8m8B6D5n33/R+z/mf1vVI/vDZjr/9NIOzcsa6D8F4IX9vxH7P8zYfdf2LD7z6Bf+S8s2P1n0K/858b7/4vBf+lX/jMj/3+w6f0i/+f5ADmHbJ0AQAAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/iso.png b/tests/cpp-tests/Resources/TileMaps/iso.png new file mode 100755 index 0000000000..7658946a45 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/iso.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/levelmap.tga b/tests/cpp-tests/Resources/TileMaps/levelmap.tga new file mode 100755 index 0000000000..57b463346e Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/levelmap.tga differ diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-objects.tmx b/tests/cpp-tests/Resources/TileMaps/ortho-objects.tmx new file mode 100755 index 0000000000..0924b7e3c8 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/ortho-objects.tmx @@ -0,0 +1,28 @@ + + + + + + + + eJztw7EJACAMALAK4mP+/5OjUFwcdNAEEgEAAPCHmt7WU6a2+Jqy8YQBBPEBRg== + + + + + + + + + + + + + + + + + + + + diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-rotation-test.tmx b/tests/cpp-tests/Resources/TileMaps/ortho-rotation-test.tmx new file mode 100755 index 0000000000..d2b3bf19a4 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/ortho-rotation-test.tmx @@ -0,0 +1,23 @@ + + + + + + + + + + eJxTYWBgUBnFo5hMDAD0ChRB + + + + + eJy10EEKgCAUhOG3qYVgC8N1HcWjdJQ5SkeZo3SUBp5SmwikhA98iD+imdnsIJRiH6/gIAwd/dHskK3NSZ1064wOQimyy9r73uTQ5sFBOPzwP9FBGGs/a871fHF4uP66JgfhdPWZ617tIuxpn9F1Eb0= + + + + + eJxjYCAeOJCgFgT0SNcyCoYYAABWhwCv + + + diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-test1.png b/tests/cpp-tests/Resources/TileMaps/ortho-test1.png new file mode 100755 index 0000000000..cc8dd1d0d8 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/ortho-test1.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-test1_bw.png b/tests/cpp-tests/Resources/TileMaps/ortho-test1_bw.png new file mode 100755 index 0000000000..a648cdbe1a Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/ortho-test1_bw.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-test2.png b/tests/cpp-tests/Resources/TileMaps/ortho-test2.png new file mode 100755 index 0000000000..2fb43c6e1c Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/ortho-test2.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/ortho-tile-property.tmx b/tests/cpp-tests/Resources/TileMaps/ortho-tile-property.tmx new file mode 100755 index 0000000000..4ab1f6299d --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/ortho-tile-property.tmx @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + H4sIAAAAAAAAA+3DsQkAIAwAsAriY/7/k6NQXBx00AQSAQAA8Iea3tZTprb4mrLxhAFhdCAKABAAAA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test-movelayer.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-movelayer.tmx new file mode 100755 index 0000000000..6f20e8672c --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-movelayer.tmx @@ -0,0 +1,27 @@ + + + + + + + + + H4sIAAAAAAAAAGNgGFlAlQg82NQPZgwAVOGiDUACAAA= + + + + + H4sIAAAAAAAAAGNgGAXUAMJk6lNDw0MNAADqJH5uQAIAAA== + + + + + H4sIAAAAAAAAAGNgGAVDCWig4YEGAAKbrPtAAgAA + + + + + H4sIAAAAAAAAAGNgGAXDGaijYWoDALxzd45AAgAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test-vertexz.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-vertexz.tmx new file mode 100755 index 0000000000..e454a2dbd1 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-vertexz.tmx @@ -0,0 +1,21 @@ + + + + + + + + + H4sIAAAAAAAAA2NgGFlAlQg82NQPZgwAVOGiDUACAAA= + + + + + + + + + H4sIAAAAAAAAA2NgGFlAEgkTA/iAmB+IBaB8JRzqhKG0OhJmBmImIGYBYlYgZsOiTw2INaDqYQDEFkIyE5seZAyzDxeAqdMgQj0zVE4DyV341AMAIPnTMUACAAA= + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test-zorder.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-zorder.tmx new file mode 100755 index 0000000000..f0c1e6748e --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test-zorder.tmx @@ -0,0 +1,26 @@ + + + + + + + + H4sIAAAAAAAAA2NgGFlAlQg82NQPZgwAVOGiDUACAAA= + + + + + H4sIAAAAAAAAA2NgGAXUAMJk6lMjAg9mAAA8pVQ0QAIAAA== + + + + + H4sIAAAAAAAAA2NgGAVDCWgQgekJANerQhxAAgAA + + + + + H4sIAAAAAAAAA2NgGAXDGagTgSkBAFOI2dZAAgAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tmx new file mode 100755 index 0000000000..386e4ba5bb --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tmx @@ -0,0 +1,9 @@ + + + + + + H4sIAAAAAAAAA9XMzQpAQBhG4cnfwsK/sJVBuf/7c9Sn3o0aWXnrSTNz4ty/N4iQTSJkBUpUdp4futa+m4gRIUGKTNq7X7Fbr2usud48Frv3osaBER166/OX/Zf/n+tha6FAAgAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tsx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tsx new file mode 100755 index 0000000000..ce744aa4f2 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test1.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test2.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test2.tmx new file mode 100755 index 0000000000..74fca9352b --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test2.tmx @@ -0,0 +1,11 @@ + + + + + + + + H4sIAAAAAAAAA+2bS2/UMBDHBygUDkhQTrxXQAsS4tGl5QhCXHoEQfkCcIATXIAjtIBEkeDCo0hw5f0QnOAGH40ZdS0m1sQZO47jKPuX/tokyjrzy9iOkzirALDac/dVY/4xv4t/Bf0kUSxtqIr/D/pvmlBakeHfqPREO2E2pnH7L/Lvt0waWibNWybNCiYNBOciid/WUFieF/abLVkfQF7MXCn4jQaQ37kY1//+9n99H//78G8RTNpquUuqk3/Oz8XXn6KfBZSdSk3zp1TIuY5V/7m0/LnUDR9+SVX8Fx3OQU3zH3E4B6XgPwVF7jnoJn/I9a9L+f+M/sL8NUL5hvUKc678TSg0/w/QDxuMyyjX8e8v9O8Ex9Hwh7aLPei96H0BceXEH6rj6BPokxX7fUN/t7Z9gO7zky4p9pGeMeee/x/on1D9fuCctb4NvZ2t87bF21Xu/EZl7wfMsyOT/8Ho9wD6oKJc4v9YIy6tfPg3O6zdT9pfUo75117LXftpxz7P0S/QLwW/UsarUSz+y+hFKI7v6vB3Lf8uvpD+JUd+I9P3+5Tve4yc+X3LDjkHbfb/N9G3IpUbeg7azD+NPWOd+9j1P/ZzQym+d+j3DZavUer82/xl116N+fU5JX/I/WZX8s/fp5ZJe7/JJcUWk98lmk+zydNV0txvcrXJ34RC+e8zL6GXFf/1GQelUoz8x7z3iD222iCYK2b9/xToNhWD3/S9feRfZzmEP/W73fUVdsm+Pvtwmv4vp/z7qg5/jvXfV7H4TZ3vK39f8j/Fls17mzr8rvecKfrRUP4b8P/ZP60P2T5zHsePfZ/r++wmhH9CMN2bTMLas/2ybwSuoq+hr7NtxC+NNR8J/59S8PieT/v67+rXDP80847Rr+b59m30HfRdR7xSnTfbDil4YvPbphiIdwaK50H7fP9xSbyatn66kkZ3PrnK+Heid6F3Q5GfYpgWbLgPQ5HfPj7nH7J4pXn39n8X2PI9KN6zGi9BnPwfRZ9FH4Mi/4JdgKc4/6Rgl3zb/9C140iu+n8G5P6vjoj/9WjZ971YVfu356lo5qr48mv6INIb9FthO88/8c5Ase24RG1vBeJ+j+jLr+mDSHxeAJ/fYvjpmD75pzmUUyDPN9DU8zJxfvqOhbNegLV+yW7/g5JjU4xm7MPj5Mt2/rX8oXMKpO+UuAy/pvxYXhy57D265PMKh8bzD/MKRyMAQAAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test3.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test3.tmx new file mode 100755 index 0000000000..1467878735 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test3.tmx @@ -0,0 +1,13 @@ + + + + + + + + + + H4sIAAAAAAAAAO3TTQ+CMAwG4KIn8aSelIRE4IIf/P+fZ5dsoTQlqXPlYHp4krFA361sAwA8lJ6oLSzUnAzq5qrQTrA3ymvY8wHVgqNRfp+Zf0W3uP40pvi+SuffURe/T2OK19Xmn9BZcGHvjTDfiTTOuSvadXK0/5r5Nbl3mvZfM1/aWg79L1bZocfvmP+C5Zn/tv+/7F0681v0P2QMIJ/5Lfo/Gtd3zjnnnPtnH/8uAvwAEAAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test4.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test4.tmx new file mode 100755 index 0000000000..fd887fd1dd --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test4.tmx @@ -0,0 +1,11 @@ + + + + + + + + eJxTY2BgkCMRa0BpRiBmAmJmIJYEYikolkaSY0JSA9PPCcRcQMwNxIpArALEqkCsDJUTAWIhIBaFqsGlTweIdZH0cSOpw6cP3T5i9aHbJwP1myyaPkGo+4WBWBOItaBYG0lOCEkNSI8+GfFgAMQA2rgKjA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test5.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test5.tmx new file mode 100755 index 0000000000..336993f4fb --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test5.tmx @@ -0,0 +1,24 @@ + + + + + + + + + + + H4sIAAAAAAAAA2NgGAX4AB8Q8wOxAJSvRIJeZiBmAmIWIGYFYjYS9AoBsTAQawCxKhCrQMVVkbAgEGsDsQQQiwCxKFQ9F4nqKTEfAM9UTSZAAgAA + + + + + H4sIAAAAAAAAA2NgGAXUBNZAbAPEtmToNQBifSA2BGIjIDYmQa89GfbhMgcd4wMA7a2boEACAAA= + + + + + H4sIAAAAAAAAA2NgGAUDCfiAmB+IBcjQywzETEDMAsSsQMxGgl4hMuzDBgAgyUssQAIAAA== + + + diff --git a/tests/cpp-tests/Resources/TileMaps/orthogonal-test6.tmx b/tests/cpp-tests/Resources/TileMaps/orthogonal-test6.tmx new file mode 100755 index 0000000000..197e592dcd --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/orthogonal-test6.tmx @@ -0,0 +1,11 @@ + + + + + + + + H4sIAAAAAAAAA5NkYGCQIoClgViRgTBQpoM6JSimljpquw+XOk0g1iKAtYEYAF51CouQAQAA + + + diff --git a/tests/cpp-tests/Resources/TileMaps/test-object-layer.tmx b/tests/cpp-tests/Resources/TileMaps/test-object-layer.tmx new file mode 100755 index 0000000000..fd5333b726 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/test-object-layer.tmx @@ -0,0 +1,18 @@ + + + + + + + + eJxTY2BgkCMRa0BpRiBmAmJmIJYEYikolkaSY0JSA9PPCcRcQMwNxIpArALEqkCsDJUTAWIhIBaFqsGlTweIdZH0cSOpw6cP3T5i9aHbJwP1myyaPkGo+4WBWBOItaBYG0lOCEkNSI8+GfFgAMQA2rgKjA== + + + + + + + + + + diff --git a/tests/cpp-tests/Resources/TileMaps/tiles.png b/tests/cpp-tests/Resources/TileMaps/tiles.png new file mode 100755 index 0000000000..2929ba4302 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/tiles.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/tmw_desert_spacing.png b/tests/cpp-tests/Resources/TileMaps/tmw_desert_spacing.png new file mode 100755 index 0000000000..8e23c6d345 Binary files /dev/null and b/tests/cpp-tests/Resources/TileMaps/tmw_desert_spacing.png differ diff --git a/tests/cpp-tests/Resources/TileMaps/xml-test.tmx b/tests/cpp-tests/Resources/TileMaps/xml-test.tmx new file mode 100755 index 0000000000..b451f0245f --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/xml-test.tmx @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/cpp-tests/Resources/TileMaps/xml-test.tsx b/tests/cpp-tests/Resources/TileMaps/xml-test.tsx new file mode 100755 index 0000000000..ccfd1fde48 --- /dev/null +++ b/tests/cpp-tests/Resources/TileMaps/xml-test.tsx @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/tests/cpp-tests/Resources/animations/animations-2.plist b/tests/cpp-tests/Resources/animations/animations-2.plist new file mode 100755 index 0000000000..8db4cc7596 --- /dev/null +++ b/tests/cpp-tests/Resources/animations/animations-2.plist @@ -0,0 +1,133 @@ + + + + + animations + + dance_1 + + delayPerUnit + 0.2 + restoreOriginalFrame + + loops + 2 + frames + + + spriteframe + grossini_dance_01.png + delayUnits + 1 + notification + + firstframe + + + + + spriteframe + grossini_dance_02.png + delayUnits + 1 + + + spriteframe + grossini_dance_03.png + delayUnits + 0.5 + + + spriteframe + grossini_dance_04.png + delayUnits + 1 + + + spriteframe + grossini_dance_05.png + delayUnits + 1 + + + spriteframe + grossini_dance_06.png + delayUnits + 1 + notification + + key1 + 1234 + key2 + + + + + spriteframe + grossini_dance_07.png + delayUnits + 1 + + + spriteframe + grossini_dance_08.png + delayUnits + 2 + + + spriteframe + grossini_dance_09.png + delayUnits + 0.5 + + + spriteframe + grossini_dance_10.png + delayUnits + 1 + + + spriteframe + grossini_dance_11.png + delayUnits + 1 + + + spriteframe + grossini_dance_12.png + delayUnits + 1 + + + spriteframe + grossini_dance_13.png + delayUnits + 1 + + + spriteframe + grossini_dance_14.png + delayUnits + 1 + notification + + lastframe + + + + + + + properties + + spritesheets + + grossini.plist + grossini_blue.plist + grossini_family.plist + + format + 2 + + + diff --git a/tests/cpp-tests/Resources/animations/animations.plist b/tests/cpp-tests/Resources/animations/animations.plist new file mode 100755 index 0000000000..87581fda1b --- /dev/null +++ b/tests/cpp-tests/Resources/animations/animations.plist @@ -0,0 +1,65 @@ + + + + + animations + + dance_1 + + delay + 0.2 + frames + + grossini_dance_01.png + grossini_dance_02.png + grossini_dance_03.png + grossini_dance_04.png + grossini_dance_05.png + grossini_dance_06.png + grossini_dance_07.png + grossini_dance_08.png + grossini_dance_09.png + grossini_dance_10.png + grossini_dance_11.png + grossini_dance_12.png + grossini_dance_13.png + grossini_dance_14.png + + + dance_2 + + delay + 0.2 + frames + + grossini_dance_gray_01.png + grossini_dance_gray_02.png + grossini_dance_gray_03.png + grossini_dance_gray_04.png + grossini_dance_gray_05.png + grossini_dance_gray_06.png + grossini_dance_gray_07.png + grossini_dance_gray_08.png + grossini_dance_gray_09.png + grossini_dance_gray_10.png + grossini_dance_gray_11.png + grossini_dance_gray_12.png + grossini_dance_gray_13.png + grossini_dance_gray_14.png + + + dance_3 + + delay + 0.2 + frames + + grossini_blue_01.png + grossini_blue_02.png + grossini_blue_03.png + grossini_blue_04.png + + + + + diff --git a/tests/cpp-tests/Resources/animations/dragon_animation.png b/tests/cpp-tests/Resources/animations/dragon_animation.png new file mode 100755 index 0000000000..4d2a65cdc9 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/dragon_animation.png differ diff --git a/tests/cpp-tests/Resources/animations/ghosts.plist b/tests/cpp-tests/Resources/animations/ghosts.plist new file mode 100755 index 0000000000..1f4a458aeb --- /dev/null +++ b/tests/cpp-tests/Resources/animations/ghosts.plist @@ -0,0 +1,92 @@ + + + + + texture + + width + 256 + height + 256 + + frames + + child1.gif + + x + 1 + y + 0 + width + 54 + height + 130 + offsetX + 7.5 + offsetY + -0.5 + originalWidth + 91 + originalHeight + 139 + + father.gif + + x + 56 + y + 1 + width + 45 + height + 117 + offsetX + 5 + offsetY + -7 + originalWidth + 91 + originalHeight + 139 + + sister1.gif + + x + 102 + y + 1 + width + 47 + height + 124 + offsetX + 5 + offsetY + -5.5 + originalWidth + 91 + originalHeight + 139 + + sister2.gif + + x + 150 + y + 1 + width + 47 + height + 109 + offsetX + 5 + offsetY + -12 + originalWidth + 91 + originalHeight + 139 + + + + \ No newline at end of file diff --git a/tests/cpp-tests/Resources/animations/ghosts.png b/tests/cpp-tests/Resources/animations/ghosts.png new file mode 100755 index 0000000000..ad067dd1e0 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/ghosts.png differ diff --git a/tests/cpp-tests/Resources/animations/grossini-aliases.plist b/tests/cpp-tests/Resources/animations/grossini-aliases.plist new file mode 100755 index 0000000000..b018765f1c --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini-aliases.plist @@ -0,0 +1,254 @@ + + + + + frames + + grossini_dance_01.png + + spriteSize + {51, 109} + textureRect + {{2, 2}, {51, 109}} + spriteOffset + {0, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_01 + + + grossini_dance_02.png + + spriteSize + {63, 109} + textureRect + {{55, 2}, {63, 109}} + spriteOffset + {-6, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_02 + + + grossini_dance_03.png + + spriteSize + {63, 109} + textureRect + {{120, 2}, {63, 109}} + spriteOffset + {-6, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_03 + + + grossini_dance_04.png + + spriteSize + {74, 109} + textureRect + {{185, 2}, {74, 109}} + spriteOffset + {-0.5, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_04 + + + grossini_dance_05.png + + spriteSize + {74, 109} + textureRect + {{261, 2}, {74, 109}} + spriteOffset + {-0.5, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_05 + + + grossini_dance_06.png + + spriteSize + {63, 109} + textureRect + {{337, 2}, {63, 109}} + spriteOffset + {-6, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_06 + + + grossini_dance_07.png + + spriteSize + {63, 109} + textureRect + {{402, 2}, {63, 109}} + spriteOffset + {-6, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_07 + + + grossini_dance_08.png + + spriteSize + {51, 109} + textureRect + {{2, 113}, {51, 109}} + spriteOffset + {0, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_08 + + + grossini_dance_09.png + + spriteSize + {51, 109} + textureRect + {{55, 113}, {51, 109}} + spriteOffset + {0, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_09 + + + grossini_dance_10.png + + spriteSize + {62, 109} + textureRect + {{108, 113}, {62, 109}} + spriteOffset + {5.5, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_10 + + + grossini_dance_11.png + + spriteSize + {62, 109} + textureRect + {{172, 113}, {62, 109}} + spriteOffset + {5.5, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_11 + + + grossini_dance_12.png + + spriteSize + {51, 106} + textureRect + {{236, 113}, {51, 106}} + spriteOffset + {0, -2.5} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_12 + + + grossini_dance_13.png + + spriteSize + {51, 109} + textureRect + {{289, 113}, {51, 109}} + spriteOffset + {0, -1} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_13 + + + grossini_dance_14.png + + spriteSize + {51, 106} + textureRect + {{342, 113}, {51, 106}} + spriteOffset + {0, -2.5} + textureRotated + + spriteSourceSize + {85, 121} + aliases + + dance_14 + + + + metadata + + format + 3 + size + {512, 256} + + + diff --git a/tests/cpp-tests/Resources/animations/grossini-aliases.png b/tests/cpp-tests/Resources/animations/grossini-aliases.png new file mode 100755 index 0000000000..5672efb119 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini-aliases.png differ diff --git a/tests/cpp-tests/Resources/animations/grossini.plist b/tests/cpp-tests/Resources/animations/grossini.plist new file mode 100755 index 0000000000..2c894b6f3a --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini.plist @@ -0,0 +1,282 @@ + + + + + texture + + width + 512 + height + 256 + + frames + + grossini_dance_01.png + + x + 347 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_02.png + + x + 215 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_03.png + + x + 151 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_04.png + + x + 1 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_05.png + + x + 76 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_06.png + + x + 399 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_07.png + + x + 105 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_08.png + + x + 1 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_09.png + + x + 295 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_10.png + + x + 232 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_11.png + + x + 169 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_12.png + + x + 279 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_13.png + + x + 53 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_14.png + + x + 331 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + + + diff --git a/tests/cpp-tests/Resources/animations/grossini.plist.xml b/tests/cpp-tests/Resources/animations/grossini.plist.xml new file mode 100755 index 0000000000..2c894b6f3a --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini.plist.xml @@ -0,0 +1,282 @@ + + + + + texture + + width + 512 + height + 256 + + frames + + grossini_dance_01.png + + x + 347 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_02.png + + x + 215 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_03.png + + x + 151 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_04.png + + x + 1 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_05.png + + x + 76 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_06.png + + x + 399 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_07.png + + x + 105 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_08.png + + x + 1 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_09.png + + x + 295 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_10.png + + x + 232 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_11.png + + x + 169 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_12.png + + x + 279 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_13.png + + x + 53 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_14.png + + x + 331 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + + + diff --git a/tests/cpp-tests/Resources/animations/grossini.png b/tests/cpp-tests/Resources/animations/grossini.png new file mode 100755 index 0000000000..609e7804f6 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini.png differ diff --git a/tests/cpp-tests/Resources/animations/grossini.pvr.gz b/tests/cpp-tests/Resources/animations/grossini.pvr.gz new file mode 100755 index 0000000000..e5c674b6a5 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini.pvr.gz differ diff --git a/tests/cpp-tests/Resources/animations/grossini.zss b/tests/cpp-tests/Resources/animations/grossini.zss new file mode 100755 index 0000000000..aea66abf83 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini.zss differ diff --git a/tests/cpp-tests/Resources/animations/grossini.ztp b/tests/cpp-tests/Resources/animations/grossini.ztp new file mode 100755 index 0000000000..9d7f54cfa0 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini.ztp differ diff --git a/tests/cpp-tests/Resources/animations/grossini_blue.plist b/tests/cpp-tests/Resources/animations/grossini_blue.plist new file mode 100755 index 0000000000..7e39687b28 --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini_blue.plist @@ -0,0 +1,92 @@ + + + + + texture + + width + 256 + height + 128 + + frames + + grossini_blue_01.png + + x + 76 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + 121 + + grossini_blue_02.png + + x + 128 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + 121 + + grossini_blue_03.png + + x + 192 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + 121 + + grossini_blue_04.png + + x + 1 + y + 1 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + 121 + + + + diff --git a/tests/cpp-tests/Resources/animations/grossini_blue.png b/tests/cpp-tests/Resources/animations/grossini_blue.png new file mode 100755 index 0000000000..a29fc6441d Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini_blue.png differ diff --git a/tests/cpp-tests/Resources/animations/grossini_family.plist b/tests/cpp-tests/Resources/animations/grossini_family.plist new file mode 100755 index 0000000000..beb7060495 --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini_family.plist @@ -0,0 +1,73 @@ + + + + + texture + + width + 256 + height + 128 + + frames + + grossini.png + + x + 103 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + 121 + + grossinis_sister1.png + + x + 55 + y + 1 + width + 47 + height + 112 + offsetX + -0.5 + offsetY + -11.5 + originalWidth + 52 + originalHeight + 139 + + grossinis_sister2.png + + x + 1 + y + 1 + width + 53 + height + 126 + offsetX + -0.5 + offsetY + -2 + originalWidth + 56 + originalHeight + 138 + + + + \ No newline at end of file diff --git a/tests/cpp-tests/Resources/animations/grossini_family.png b/tests/cpp-tests/Resources/animations/grossini_family.png new file mode 100755 index 0000000000..acc73dc2c8 Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini_family.png differ diff --git a/tests/cpp-tests/Resources/animations/grossini_gray.plist b/tests/cpp-tests/Resources/animations/grossini_gray.plist new file mode 100755 index 0000000000..cf9bb58e20 --- /dev/null +++ b/tests/cpp-tests/Resources/animations/grossini_gray.plist @@ -0,0 +1,282 @@ + + + + + texture + + width + 512 + height + 256 + + frames + + grossini_dance_gray_01.png + + x + 347 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_02.png + + x + 215 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_03.png + + x + 151 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_04.png + + x + 1 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_05.png + + x + 76 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_06.png + + x + 399 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_07.png + + x + 105 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_08.png + + x + 1 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_09.png + + x + 295 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_10.png + + x + 232 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_11.png + + x + 169 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_12.png + + x + 279 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_13.png + + x + 53 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_gray_14.png + + x + 331 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + + + diff --git a/tests/cpp-tests/Resources/animations/grossini_gray.png b/tests/cpp-tests/Resources/animations/grossini_gray.png new file mode 100755 index 0000000000..1a9ff597ed Binary files /dev/null and b/tests/cpp-tests/Resources/animations/grossini_gray.png differ diff --git a/tests/cpp-tests/Resources/background.caf b/tests/cpp-tests/Resources/background.caf new file mode 100755 index 0000000000..5d7d0b8ce9 Binary files /dev/null and b/tests/cpp-tests/Resources/background.caf differ diff --git a/tests/cpp-tests/Resources/background.mp3 b/tests/cpp-tests/Resources/background.mp3 new file mode 100755 index 0000000000..aec1c0a8c8 Binary files /dev/null and b/tests/cpp-tests/Resources/background.mp3 differ diff --git a/tests/cpp-tests/Resources/background.ogg b/tests/cpp-tests/Resources/background.ogg new file mode 100755 index 0000000000..e5af704a05 Binary files /dev/null and b/tests/cpp-tests/Resources/background.ogg differ diff --git a/tests/cpp-tests/Resources/background.wav b/tests/cpp-tests/Resources/background.wav new file mode 100755 index 0000000000..dfe4693f9f Binary files /dev/null and b/tests/cpp-tests/Resources/background.wav differ diff --git a/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccb b/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccb new file mode 100755 index 0000000000..0dd250bdce --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccb @@ -0,0 +1,4193 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + HelloCocosBuilder.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + animatedProperties + + 0 + + 1 + + + baseClass + CCLayer + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + mBurstSprite + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 2.5 + 2.5 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/burst.png + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 0 + + + name + posVar + type + Point + value + + 275 + 0.0 + + + + name + emissionRate + type + Float + value + 20 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 1000 + + + name + life + type + FloatVar + value + + 4.5 + 0.0 + + + + name + startSize + type + FloatVar + value + + 32 + 32 + + + + name + endSize + type + FloatVar + value + + 4 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 360 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 360 + + + + name + angle + type + FloatVar + value + + 90 + 5 + + + + name + startColor + type + Color4FVar + value + + + 0.10550821572542191 + 0.12098496407270432 + 0.15217390656471252 + 0.10000000149011612 + + + 0.0 + 0.0 + 0.0 + 1 + + + + + name + endColor + type + Color4FVar + value + + + 0.24492979049682617 + 0.28085795044898987 + 0.35326087474822998 + 1 + + + 0.16847826540470123 + 0.16847826540470123 + 0.16847826540470123 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + gravity + type + Point + value + + -3 + -10 + + + + name + speed + type + FloatVar + value + + 80 + 30 + + + + name + tangentialAccel + type + FloatVar + value + + 0.0 + 1 + + + + name + radialAccel + type + FloatVar + value + + 0.0 + 1 + + + + name + texture + type + Texture + value + ccb/particle-snow.png + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 1.3666666746139526 + type + 4 + value + + 0.0 + 0.0 + + + + easing + + type + 1 + + name + scale + time + 2.4000000953674316 + type + 4 + value + + 0.5 + 0.5 + + + + name + scale + type + 4 + + + 1 + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 13.75 + 79.375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 0.5 + 0.5 + + name + scale + type + ScaleLock + value + + 0.5 + 0.5 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + seqExpanded + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + type + 9 + + time + 0.40000000596046448 + type + 3 + value + + 82.5 + 137.5 + + + + easing + + type + 1 + + name + position + time + 1.9666666984558105 + type + 3 + value + + 60.416667938232422 + 83.75 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.40000000596046448 + type + 2 + value + 38.5 + + + easing + + type + 1 + + name + rotation + time + 1.9666666984558105 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 60.416667938232422 + 83.75 + + name + position + type + Position + value + + 60.416667938232422 + 83.75 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo.png + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2666666507720947 + type + 3 + value + + 130.625 + 69.0625 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 60.520832061767578 + 69.0625 + + + + name + position + type + 3 + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 60.520832061767578 + 69.0625 + + name + position + type + Position + value + + 60.520832061767578 + 69.0625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + color + type + Color3 + value + + 124 + 18 + 86 + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + Graphical editor for cocos2d + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.30000001192092896 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 0.60000002384185791 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.3333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.0999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 2.9000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 57.1875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onMenuTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Menus & Items + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 254 + 255 + 254 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.46666666865348816 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.1333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 4.4666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 5.1999998092651367 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 5.9666666984558105 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 6.7666668891906738 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 57.1875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onSpriteTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Sprites & 9 Slice + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.63333332538604736 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.2666666507720947 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 5.7666668891906738 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 6.5 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 7.2666668891906738 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 8.0333337783813477 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 41.5625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onButtonTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Buttons & Labels + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.80000001192092896 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.4666666984558105 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 2.5 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 3.2333333492279053 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 4 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 4.8000001907348633 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 7.1666665077209473 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 7.9000000953674316 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 8.6666669845581055 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 9.4666662216186523 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 41.5625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onAnimationsTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Animations + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.6333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 1.1000000238418579 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.8333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.5999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 3.4000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 25.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onParticleSystemTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Particle Systems + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 1.1333333253860474 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.7999999523162842 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 5.9333333969116211 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 6.6666665077209473 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 7.4333333969116211 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 8.2333335876464844 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 25.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onScrollViewTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Scroll Views + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 1.7000000476837158 + type + 5 + value + 255 + + + name + opacity + type + 5 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2333333492279053 + type + 3 + value + + -35 + -69 + + + + easing + + type + 1 + + name + position + time + 1.8666666746139526 + type + 3 + value + + 0.0 + 0.0 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2333333492279053 + type + 2 + value + 21.5 + + + easing + + type + 1 + + name + rotation + time + 1.8666666746139526 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 0.0 + 0.0 + + name + position + type + Position + value + + 0.0 + 0.0 + 3 + + + + name + anchorPoint + type + Point + value + + 1 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/jungle-right.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 0 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 1.7000000476837158 + type + 5 + value + 255 + + + name + opacity + type + 5 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + name + position + time + 1.3999999761581421 + type + 3 + value + + -85 + -118 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 0.0 + 0.0 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + opt + 2 + type + 3 + + name + rotation + time + 1.3999999761581421 + type + 2 + value + -34 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 0.0 + 0.0 + + name + position + type + Position + value + + 0.0 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/jungle-left.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.6333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 1.1000000238418579 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.8333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.5999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 3.4000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.100000381469727 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onTimelineCallbackSoundClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Timeline Callback&sound + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + customClass + HelloCocosBuilderLayer + customProperties + + + name + mCustomPropertyInt + optimized + + type + 0 + value + 123 + + + name + mCustomPropertyFloat + optimized + + type + 1 + value + 123.440002 + + + name + mCustomPropertyBoolean + optimized + + type + 2 + value + 1 + + + name + mCustomPropertyString + optimized + + type + 3 + value + Hello Custom Property. + + + displayName + HelloCocosBuilder + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + + height + 131 + text + Welcome to CocosBuilder! + +Check out the Example Xcode project to understand how to connect objects with your code. + width + 191 + xPos + 28 + yPos + 26 + + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 3 + name + Default Timeline + offset + 0.0 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Wiggly buttons + offset + 0.0 + position + 10 + resolution + 30 + scale + 128 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccbi b/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccbi new file mode 100755 index 0000000000..85f54ec87f Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/HelloCocosBuilder.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/animated-grossini.plist b/tests/cpp-tests/Resources/ccb/animated-grossini.plist new file mode 100755 index 0000000000..2319e72b12 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/animated-grossini.plist @@ -0,0 +1,139 @@ + + + + + frames + + grossini-arm-l.png + + frame + {{2,64},{28,26}} + offset + {2,-2} + rotated + + sourceColorRect + {{4,5},{28,26}} + sourceSize + {32,32} + + grossini-arm-r.png + + frame + {{32,78},{28,26}} + offset + {-2,-2} + rotated + + sourceColorRect + {{0,5},{28,26}} + sourceSize + {32,32} + + grossini-body.png + + frame + {{2,2},{23,43}} + offset + {0,0} + rotated + + sourceColorRect + {{2,1},{23,43}} + sourceSize + {27,45} + + grossini-eyes-0.png + + frame + {{2,92},{23,4}} + offset + {0,0} + rotated + + sourceColorRect + {{1,1},{23,4}} + sourceSize + {25,6} + + grossini-eyes-1.png + + frame + {{2,98},{23,4}} + offset + {0,0} + rotated + + sourceColorRect + {{1,1},{23,4}} + sourceSize + {25,6} + + grossini-eyes-2.png + + frame + {{60,40},{23,2}} + offset + {0,-1} + rotated + + sourceColorRect + {{1,3},{23,2}} + sourceSize + {25,6} + + grossini-head.png + + frame + {{2,27},{35,40}} + offset + {0,2} + rotated + + sourceColorRect + {{0,0},{35,40}} + sourceSize + {35,44} + + grossini-leg-l.png + + frame + {{44,40},{14,36}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{14,36}} + sourceSize + {14,36} + + grossini-leg-r.png + + frame + {{47,2},{14,36}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{14,36}} + sourceSize + {14,36} + + + metadata + + format + 2 + realTextureFileName + animated-grossini.png + size + {64,128} + smartupdate + $TexturePacker:SmartUpdate:f64bf1dbb50597d8a1599f1b397b6fdd$ + textureFileName + animated-grossini.png + + + diff --git a/tests/cpp-tests/Resources/ccb/animated-grossini.png b/tests/cpp-tests/Resources/ccb/animated-grossini.png new file mode 100755 index 0000000000..89736acdab Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/animated-grossini.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-a-0.png b/tests/cpp-tests/Resources/ccb/btn-a-0.png new file mode 100755 index 0000000000..66a5d3df71 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-a-0.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-a-1.png b/tests/cpp-tests/Resources/ccb/btn-a-1.png new file mode 100755 index 0000000000..33f8a0c3f0 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-a-1.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-a-2.png b/tests/cpp-tests/Resources/ccb/btn-a-2.png new file mode 100755 index 0000000000..c8532b3e23 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-a-2.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-b-0.png b/tests/cpp-tests/Resources/ccb/btn-b-0.png new file mode 100755 index 0000000000..abd7d9a00b Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-b-0.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-b-1.png b/tests/cpp-tests/Resources/ccb/btn-b-1.png new file mode 100755 index 0000000000..b55f91e77c Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-b-1.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-b-2.png b/tests/cpp-tests/Resources/ccb/btn-b-2.png new file mode 100755 index 0000000000..d47c7b6283 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-b-2.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-back-0.png b/tests/cpp-tests/Resources/ccb/btn-back-0.png new file mode 100755 index 0000000000..9caae52746 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-back-0.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-back-1.png b/tests/cpp-tests/Resources/ccb/btn-back-1.png new file mode 100755 index 0000000000..6c7cf5f97a Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-back-1.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-test-0.png b/tests/cpp-tests/Resources/ccb/btn-test-0.png new file mode 100755 index 0000000000..2777fd1d5e Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-test-0.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-test-1.png b/tests/cpp-tests/Resources/ccb/btn-test-1.png new file mode 100755 index 0000000000..b3be2a8616 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-test-1.png differ diff --git a/tests/cpp-tests/Resources/ccb/btn-test-2.png b/tests/cpp-tests/Resources/ccb/btn-test-2.png new file mode 100755 index 0000000000..eab72947de Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/btn-test-2.png differ diff --git a/tests/cpp-tests/Resources/ccb/burst.png b/tests/cpp-tests/Resources/ccb/burst.png new file mode 100755 index 0000000000..8681474538 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/burst.png differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccb new file mode 100755 index 0000000000..3b6bbcca3b --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccb @@ -0,0 +1,3576 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 1 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCBFile + children + + customClass + + displayName + Background animation + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestAnimationsSub.ccb + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + baseClass + CCNode + children + + + baseClass + CCControlButton + children + + customClass + + displayName + Idle Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -150 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonIdleClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Idle + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Wave Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonWaveClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Wave + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Jump Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonJumpClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Jump + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Funky Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 150 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonFunkyClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Funky + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + customClass + + displayName + Buttons + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 15 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + opt + 2 + type + 9 + + name + position + time + 0.0 + type + 3 + value + + 24.375 + 120 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 50 + 50 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.0 + type + 2 + value + -46.75 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCNode + children + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 9 + + time + 0.53333336114883423 + type + 2 + value + 40.25 + + + easing + + type + 1 + + name + rotation + time + 1.9666666984558105 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + 77.25 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Leg right + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -6 + -18 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.89999997615814209 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-leg-r.png + + + + seqExpanded + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 9 + + time + 0.53333336114883423 + type + 2 + value + -47.5 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + -86.25 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Leg left + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 6 + -18 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.89999997615814209 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-leg-l.png + + + + seqExpanded + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.89999997615814209 + type + 2 + value + 86 + + + easing + + type + 1 + + time + 1.4333332777023315 + type + 2 + value + -30.446964263916016 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 7.9666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 8.8666667938232422 + type + 2 + value + -20.5 + + + easing + + type + 1 + + name + rotation + time + 9.8666667938232422 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 2 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + time + 0.96666663885116577 + type + 2 + value + 109.5 + + + easing + + type + 1 + + time + 1.2666666507720947 + type + 2 + value + 72.599998474121094 + + + easing + + type + 1 + + time + 1.5333333015441895 + type + 2 + value + 93.699996948242188 + + + easing + + type + 1 + + time + 1.8333333730697632 + type + 2 + value + 64.966659545898438 + + + easing + + type + 1 + + name + rotation + time + 2.2333333492279053 + type + 2 + value + 90.25 + + + easing + + type + 1 + + name + rotation + time + 3 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + 89.75 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Arm right + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -9 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.80000001192092896 + 0.80000001192092896 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-arm-r.png + + + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.89999997615814209 + type + 2 + value + -95.25 + + + easing + + type + 1 + + time + 1.4333332777023315 + type + 2 + value + 28.431812286376953 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 7.9666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 8.8666667938232422 + type + 2 + value + 20.75 + + + easing + + type + 1 + + name + rotation + time + 9.8666667938232422 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 2 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 0.5 + type + 2 + value + 18.75 + + + easing + + type + 1 + + name + rotation + time + 2.2999999523162842 + type + 2 + value + 18.75 + + + easing + + type + 1 + + name + rotation + time + 3 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + -96.5 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Arm left + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 9 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.20000000298023224 + 0.80000001192092896 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-arm-l.png + + + + + + animatedProperties + + 4 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1 + type + 5 + value + 255 + + + easing + + type + 1 + + name + opacity + time + 2.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 4.0333333015441895 + type + 5 + value + 255 + + + easing + + type + 1 + + name + opacity + time + 4.5 + type + 5 + value + 127 + + + easing + + type + 1 + + name + opacity + time + 4.8666667938232422 + type + 5 + value + 255 + + + name + opacity + type + 5 + + scale + + keyframes + + + easing + + type + 1 + + name + scale + time + 1.7333333492279053 + type + 4 + value + + 1 + 1 + + + + easing + + type + 10 + + name + scale + time + 2.4000000953674316 + type + 4 + value + + 2 + 0.5 + + + + easing + + type + 1 + + name + scale + time + 3.4333333969116211 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + + baseClass + CCSprite + children + + customClass + + displayName + Body + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-body.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 4 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 2.4000000953674316 + type + 2 + value + 720 + + + easing + + type + 1 + + name + rotation + time + 5 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + + animatedProperties + + 1 + + displayFrame + + keyframes + + + easing + + type + 0 + + name + displayFrame + time + 3.6333334445953369 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 3.8333332538604736 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.0333333015441895 + type + 7 + value + + grossini-eyes-2.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.2333331108093262 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.4333333969116211 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.0999999046325684 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.3000001907348633 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.5 + type + 7 + value + + grossini-eyes-2.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.6999998092651367 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.9000000953674316 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + name + displayFrame + type + 7 + + position + + keyframes + + + easing + + type + 1 + + name + position + time + 0.60000002384185791 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 1 + type + 3 + value + + 16 + 23 + + + + easing + + type + 1 + + name + position + time + 1.3333333730697632 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 2.2666666507720947 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 2.5 + type + 3 + value + + 19 + 23 + + + + easing + + type + 1 + + name + position + time + 2.9666666984558105 + type + 3 + value + + 17.5 + 23 + + + + name + position + type + 3 + + + 4 + + color + + keyframes + + + easing + + type + 1 + + name + color + time + 0.86666667461395264 + type + 6 + value + + 255 + 255 + 255 + + + + easing + + type + 1 + + name + color + time + 1.3333333730697632 + type + 6 + value + + 143 + 243 + 40 + + + + easing + + type + 1 + + name + color + time + 1.8333333730697632 + type + 6 + value + + 223 + 80 + 22 + + + + easing + + type + 1 + + name + color + time + 2.4666666984558105 + type + 6 + value + + 33 + 79 + 251 + + + + easing + + type + 1 + + name + color + time + 3.0333333015441895 + type + 6 + value + + 223 + 88 + 233 + + + + easing + + type + 1 + + name + color + time + 3.3666665554046631 + type + 6 + value + + 255 + 255 + 255 + + + + name + color + type + 6 + + + + baseClass + CCSprite + children + + customClass + + displayName + Eyes + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 17.5 + 23 + + name + position + type + Position + value + + 17.5 + 23 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + baseValue + + grossini-eyes-0.png + ccb/animated-grossini.plist + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-eyes-0.png + + + + baseValue + + 255 + 255 + 255 + + name + color + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + customClass + + displayName + Head + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 34 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-head.png + + + + + + customClass + + displayName + Grossini + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 50 + 50 + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + seqExpanded + + + + customClass + TestAnimationsLayer + displayName + TestAnimations + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 2 + name + Intro + offset + 0.0 + position + 1.7000000476837158 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Idle + offset + 6.2734375 + position + 6.9000000953674316 + resolution + 30 + scale + 128 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 3 + name + Wave + offset + 0.0 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 2 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 2 + name + Jump + offset + 0.0 + position + 2 + resolution + 30 + scale + 128 + sequenceId + 3 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 5 + name + Funky + offset + 0.0 + position + 5 + resolution + 30 + scale + 128 + sequenceId + 4 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccbi new file mode 100755 index 0000000000..a83aee9976 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestAnimations.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccb new file mode 100755 index 0000000000..099bfee85c --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccb @@ -0,0 +1,445 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + animatedProperties + + 0 + + color + + keyframes + + + easing + + type + 1 + + name + color + time + 0.0 + type + 6 + value + + 0 + 0 + 0 + + + + easing + + type + 1 + + name + color + time + 4.8333334922790527 + type + 6 + value + + 255 + 254 + 255 + + + + name + color + type + 6 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 10 + type + 2 + value + 360 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 10 + type + 2 + value + 360 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 2.5 + 2.5 + + 1 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 360 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/burst.png + + + + name + opacity + type + Byte + value + 100 + + + baseValue + + 255 + 254 + 255 + + name + color + type + Color3 + value + + 255 + 254 + 255 + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + selected + + seqExpanded + + + + customClass + + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 1024 + name + iPhone Landscape + scale + 1 + width + 1024 + + + centeredOrigin + + ext + ipad hd + height + 2048 + name + iPad Landscape + scale + 2 + width + 2048 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Intro + offset + 0.0 + position + 10 + resolution + 30 + scale + 32 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Loop + offset + 0.0 + position + 2.7999999523162842 + resolution + 30 + scale + 32 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccbi new file mode 100755 index 0000000000..ff436c5ab7 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestAnimationsSub.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccb new file mode 100755 index 0000000000..8f6117baa0 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccb @@ -0,0 +1,925 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestButtons.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCNode + children + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 1 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonClicked + 1 + 511 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + CCControlButton + + + name + titleTTF|1 + type + FontTTF + value + Helvetica-Bold + + + name + titleTTFSize|1 + type + FloatScale + value + + 12 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + preferedSize + type + Size + value + + 200 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + mCCControlEventLabel + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 0.0 + -50 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + No event received yet + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 25 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 78.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + comic andy.ttf + + + name + fontSize + type + FloatScale + value + + 50 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Custom TTF + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Center aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + customClass + TestButtonsLayer + displayName + TestButtons + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccbi new file mode 100755 index 0000000000..ebcc020d81 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestButtons.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccb new file mode 100755 index 0000000000..eeb48391e8 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccb @@ -0,0 +1,617 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestHeader.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerColor + children + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + mTestTitleLabelTTF + memberVarAssignmentType + 2 + properties + + + name + position + type + Position + value + + 50 + 57.5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + MarkerFelt-Wide + + + name + fontSize + type + FloatScale + value + + 24 + 0 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 2 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Title will be replaced in code + + + + + baseClass + CCMenu + children + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -2 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onBackClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-back-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-back-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + + + + + + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 30 + 19 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + customClass + + displayName + CCLayerColor + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 4 + + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + color + type + Color3 + value + + 0 + 0 + 0 + + + + name + opacity + type + Byte + value + 127 + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + customClass + TestHeaderLayer + displayName + TestHeader + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 40 + 3 + + + + name + anchorPoint + type + Point + value + + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 40 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + + height + 40 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccbi new file mode 100755 index 0000000000..70cd09f5e5 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestHeader.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccb new file mode 100755 index 0000000000..71061a2ac7 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccb @@ -0,0 +1,901 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestLabels.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.666664123535156 + 73.75 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + Bitmap font + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 55.625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Left aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 36.875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Center aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 18.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 2 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Right aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 32.5 + 76.25 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + comic andy.ttf + + + name + fontSize + type + FloatScale + value + + 50 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Custom TTF + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + customClass + TestLabelsLayer + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccbi new file mode 100755 index 0000000000..bea711bb31 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestLabels.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccb new file mode 100755 index 0000000000..5eecf316b1 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccb @@ -0,0 +1,1137 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestMenus.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCMenu + children + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.833333969116211 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onMenuItemAClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-2.png + + + + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onMenuItemBClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-2.png + + + + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 79.166664123535156 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + pressedC: + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-2.png + + + + + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 3.125 + 4 + + + + name + contentSize + type + Size + value + + 100 + 1000 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.416666030883789 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + A + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 49.583332061767578 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + B + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 78.75 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + C + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + mMenuItemStatusLabelBMFont + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 20.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + No button pressed yet + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + customClass + TestMenusLayer + displayName + TestMenus + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccbi new file mode 100755 index 0000000000..983e44563a Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestMenus.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccb new file mode 100755 index 0000000000..03aae683ce --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccb @@ -0,0 +1,1080 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestParticleSystems.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.166666030883789 + 30.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 0 + + + name + posVar + type + Point + value + + 40 + 20 + + + + name + emissionRate + type + Float + value + 80 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 250 + + + name + life + type + FloatVar + value + + 3 + 0.25 + + + + name + startSize + type + FloatVar + value + + 54 + 10 + + + + name + endSize + type + FloatVar + value + + 0.0 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 0.0 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 0.0 + + + + name + angle + type + FloatVar + value + + 90 + 10 + + + + name + startColor + type + Color4FVar + value + + + 0.75999999046325684 + 0.25 + 0.11999999731779099 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + endColor + type + Color4FVar + value + + + 0.0 + 0.0 + 0.0 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + gravity + type + Point + value + + 0.0 + 0.0 + + + + name + speed + type + FloatVar + value + + 60 + 20 + + + + name + tangentialAccel + type + FloatVar + value + + 0.0 + 0.0 + + + + name + radialAccel + type + FloatVar + value + + 0.0 + 0.0 + + + + name + texture + type + Texture + value + ccb/particle-fire.png + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 70.833335876464844 + 48.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 1 + + + name + posVar + type + Point + value + + 40 + 20 + + + + name + emissionRate + type + Float + value + 40 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 100 + + + name + life + type + FloatVar + value + + 3 + 0.25 + + + + name + startSize + type + FloatVar + value + + 54 + 10 + + + + name + endSize + type + FloatVar + value + + 0.0 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 320 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 320 + + + + name + angle + type + FloatVar + value + + 0.0 + 360 + + + + name + startColor + type + Color4FVar + value + + + 0.33126017451286316 + 0.75999999046325684 + 0.59423065185546875 + 1 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + endColor + type + Color4FVar + value + + + 0.0 + 0.0 + 0.0 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + startRadius + type + FloatVar + value + + 70 + 0.0 + + + + name + endRadius + type + FloatVar + value + + 0.0 + 0.0 + + + + name + rotatePerSecond + type + FloatVar + value + + 60 + 20 + + + + name + texture + type + Texture + value + ccb/particle-snow.png + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.166666030883789 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Gravity mode + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 70.833335876464844 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Radius mode + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + customClass + TestParticleSystemsLayer + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccbi new file mode 100755 index 0000000000..2889b8a1bb Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestParticleSystems.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccb new file mode 100755 index 0000000000..0607bd841a --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccb @@ -0,0 +1,533 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestScrollViews.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerColor + children + + customClass + + displayName + CCLayerColor + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + color + type + Color3 + value + + 106 + 90 + 84 + + + + name + opacity + type + Byte + value + 255 + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + baseClass + CCScrollView + children + + customClass + + displayName + CCScrollView + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 50 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + Float + value + 1 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + container + type + CCBFile + value + ccb/ccb/TestScrollViewsContentA.ccb + + + name + direction + type + IntegerLabeled + value + 2 + + + name + clipsToBounds + type + Check + value + + + + name + bounces + type + Check + value + + + + + + baseClass + CCScrollView + children + + customClass + + displayName + CCScrollView + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 4 + + + + name + contentSize + type + Size + value + + 50 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + Float + value + 1 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + container + type + CCBFile + value + ccb/ccb/TestScrollViewsContentA.ccb + + + name + direction + type + IntegerLabeled + value + 2 + + + name + clipsToBounds + type + Check + value + + + + name + bounces + type + Check + value + + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + customClass + TestScrollViewsLayer + displayName + TestScrollViews + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccbi new file mode 100755 index 0000000000..6c5eba8756 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViews.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccb new file mode 100755 index 0000000000..b25dcc0aec --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccb @@ -0,0 +1,214 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/flower.jpg + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + selected + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 1024 + 1024 + 0 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 1024 + name + Custom + scale + 1 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccbi new file mode 100755 index 0000000000..04a4d387e8 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestScrollViewsContentA.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccb new file mode 100755 index 0000000000..1b0dfcb3ec --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccb @@ -0,0 +1,1637 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestSprites.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + selected + + + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -60 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.40000000596046448 + 0.40000000596046448 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + name + opacity + type + Byte + value + 127 + + + name + color + type + Color3 + value + + 90 + 90 + 90 + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 5 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.5 + 0.5 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + name + color + type + Color3 + value + + 63 + 255 + 39 + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 60 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.60000002384185791 + 0.60000002384185791 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 26.666666030883789 + 67.1875 + 4 + + + + name + contentSize + type + Size + value + + 0.0 + 0.0 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_05.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_06.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_13.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 352.15463256835938 + 60.877250671386719 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_13.png + + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.208333969116211 + 20.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 0.75999999046325684 + 0.75999999046325684 + + 1 + + + + name + rotation + type + Degrees + value + -12 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCScale9Sprite + children + + customClass + + displayName + CCScale9Sprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 74.166664123535156 + 65.625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + spriteFrame + type + SpriteFrame + value + + + ccb/scale-9-demo.png + + + + name + preferedSize + type + Size + value + + 150 + 120 + 0 + + + + name + opacity + type + Byte + value + 200 + + + name + color + type + Color3 + value + + 255 + 158 + 47 + + + + name + insetLeft + type + Float + value + 0.0 + + + name + insetTop + type + Float + value + 0.0 + + + name + insetRight + type + Float + value + 0.0 + + + name + insetBottom + type + Float + value + 0.0 + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.375 + 47.8125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Opacity, color & blend mode + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 74.375 + 79.0625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + CCScale9Sprite + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50.416667938232422 + 19.6875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Sprite sheet & transformation + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + baseClass + CCScale9Sprite + children + + customClass + + displayName + CCScale9Sprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 82.083328247070312 + 29.6875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + spriteFrame + type + SpriteFrame + value + + + ccb/scale-9-demo.png + + + + name + preferedSize + type + Size + value + + 150 + 120 + 0 + + + + name + opacity + type + Byte + value + 255 + + + name + color + type + Color3 + value + + 254 + 255 + 254 + + + + name + insetLeft + type + Float + value + 0.0 + + + name + insetTop + type + Float + value + 0.0 + + + name + insetRight + type + Float + value + 0.0 + + + name + insetBottom + type + Float + value + 0.0 + + + + + customClass + TestSpritesLayer + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccbi new file mode 100755 index 0000000000..3be0f3c154 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestSprites.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccb b/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccb new file mode 100755 index 0000000000..37df7f75e8 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccb @@ -0,0 +1,839 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + animatedProperties + + 0 + + visible + + keyframes + + + easing + + type + 0 + + name + visible + time + 0.0 + type + 1 + value + + + + name + visible + type + 1 + + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + 1 + name + visible + type + Check + value + + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 19 + 0 + 255 + + + + name + endColor + type + Color3 + value + + 255 + 33 + 249 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCMenu + children + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 30 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + helloLabel + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 20 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Test Callbacks + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + type + 1 + + name + position + time + 0.0 + type + 3 + value + + 10 + 10 + + + + easing + + type + 1 + + name + position + time + 1 + type + 3 + value + + 10 + 90 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 90 + 90 + + + + easing + + type + 1 + + name + position + time + 3 + type + 3 + value + + 90 + 10 + + + + easing + + type + 1 + + name + position + time + 4 + type + 3 + value + + 10 + 10 + + + + name + position + type + 3 + + + + baseClass + CCSprite + children + + customClass + + displayName + ccbParticleStars + memberVarAssignmentName + + memberVarAssignmentType + 1 + properties + + + baseValue + + 10 + 10 + + name + position + type + Position + value + + 90 + 10 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/ccbParticleStars.png + + + + seqExpanded + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + selected + + + + customClass + TimelineCallbackTestLayer + displayName + CCLayer + jsController + MainScene + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + iphone + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad iphonehd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + + easing + + type + 0 + + time + 1 + type + 10 + value + + onCallback1 + 1 + + + + easing + + type + 0 + + time + 3 + type + 10 + value + + onCallback2 + 1 + + + + type + 10 + + chainedSequenceId + 0 + length + 4 + name + Default Timeline + offset + 0.85765171051025391 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + + easing + + type + 0 + + time + 1 + type + 9 + value + + ccb/gem-0.wav + 1 + 0.0 + 1 + + + + easing + + type + 0 + + time + 3 + type + 9 + value + + ccb/gem-1.wav + 1 + 0.0 + 1 + + + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccbi b/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccbi new file mode 100755 index 0000000000..414ae8bca9 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccb/TestTimelineCallback.ccbi differ diff --git a/tests/cpp-tests/Resources/ccb/ccbParticleStars.png b/tests/cpp-tests/Resources/ccb/ccbParticleStars.png new file mode 100755 index 0000000000..f493dcc334 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/ccbParticleStars.png differ diff --git a/tests/cpp-tests/Resources/ccb/comic andy.ttf b/tests/cpp-tests/Resources/ccb/comic andy.ttf new file mode 100755 index 0000000000..a68e94d66d Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/comic andy.ttf differ diff --git a/tests/cpp-tests/Resources/ccb/flower.jpg b/tests/cpp-tests/Resources/ccb/flower.jpg new file mode 100755 index 0000000000..38e3a5faba Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/flower.jpg differ diff --git a/tests/cpp-tests/Resources/ccb/gem-0.wav b/tests/cpp-tests/Resources/ccb/gem-0.wav new file mode 100755 index 0000000000..13382b4a2f Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/gem-0.wav differ diff --git a/tests/cpp-tests/Resources/ccb/gem-1.wav b/tests/cpp-tests/Resources/ccb/gem-1.wav new file mode 100755 index 0000000000..5a60849ce6 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/gem-1.wav differ diff --git a/tests/cpp-tests/Resources/ccb/grossini-generic.plist b/tests/cpp-tests/Resources/ccb/grossini-generic.plist new file mode 100755 index 0000000000..ca256a58cc --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/grossini-generic.plist @@ -0,0 +1,282 @@ + + + + + frames + + grossini_dance_generic_01.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 125}, {121, 85}} + textureRotated + + + grossini_dance_generic_02.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{299, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_03.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_04.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{202, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_05.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{125, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_06.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{212, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_07.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{279, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_08.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{409, 125}, {51, 109}} + textureRotated + + + grossini_dance_generic_09.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{224, 236}, {109, 51}} + textureRotated + + + grossini_dance_generic_10.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{344, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_11.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{113, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_12.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_13.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{386, 2}, {121, 85}} + textureRotated + + + grossini_dance_generic_14.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{89, 2}, {121, 85}} + textureRotated + + + + metadata + + format + 3 + size + {512, 512} + + + diff --git a/tests/cpp-tests/Resources/ccb/grossini-generic.png b/tests/cpp-tests/Resources/ccb/grossini-generic.png new file mode 100755 index 0000000000..5c0bbc67c8 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/grossini-generic.png differ diff --git a/tests/cpp-tests/Resources/ccb/jungle-left.png b/tests/cpp-tests/Resources/ccb/jungle-left.png new file mode 100755 index 0000000000..79bbf20334 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/jungle-left.png differ diff --git a/tests/cpp-tests/Resources/ccb/jungle-right.png b/tests/cpp-tests/Resources/ccb/jungle-right.png new file mode 100755 index 0000000000..8da61b9f58 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/jungle-right.png differ diff --git a/tests/cpp-tests/Resources/ccb/jungle.png b/tests/cpp-tests/Resources/ccb/jungle.png new file mode 100755 index 0000000000..b3ddd92d2b Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/jungle.png differ diff --git a/tests/cpp-tests/Resources/ccb/logo-icon.png b/tests/cpp-tests/Resources/ccb/logo-icon.png new file mode 100755 index 0000000000..c668736dc7 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/logo-icon.png differ diff --git a/tests/cpp-tests/Resources/ccb/logo.png b/tests/cpp-tests/Resources/ccb/logo.png new file mode 100755 index 0000000000..a4cd20c20e Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/logo.png differ diff --git a/tests/cpp-tests/Resources/ccb/markerfelt24shadow.fnt b/tests/cpp-tests/Resources/ccb/markerfelt24shadow.fnt new file mode 100755 index 0000000000..2685fbcab6 --- /dev/null +++ b/tests/cpp-tests/Resources/ccb/markerfelt24shadow.fnt @@ -0,0 +1,3732 @@ +info face="MarkerFelt-Thin" size=24 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=26 base=21 scaleW=256 scaleH=256 pages=1 packed=0 +page id=0 file="markerfelt24shadow.png" +chars count=95 +char id=106 x=2 y=2 width=10 height=27 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=0 letter="j" +char id=87 x=14 y=2 width=27 height=26 xoffset=0 yoffset=-1 xadvance=23 page=0 chnl=0 letter="W" +char id=81 x=43 y=2 width=18 height=26 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="Q" +char id=72 x=63 y=2 width=15 height=26 xoffset=1 yoffset=-1 xadvance=12 page=0 chnl=0 letter="H" +char id=77 x=80 y=2 width=25 height=25 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="M" +char id=37 x=107 y=2 width=20 height=25 xoffset=1 yoffset=-0 xadvance=17 page=0 chnl=0 letter="%" +char id=88 x=129 y=2 width=19 height=25 xoffset=0 yoffset=-0 xadvance=15 page=0 chnl=0 letter="X" +char id=89 x=150 y=2 width=19 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="Y" +char id=90 x=171 y=2 width=19 height=25 xoffset=0 yoffset=-1 xadvance=14 page=0 chnl=0 letter="Z" +char id=65 x=192 y=2 width=18 height=25 xoffset=1 yoffset=-0 xadvance=15 page=0 chnl=0 letter="A" +char id=75 x=212 y=2 width=18 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="K" +char id=52 x=232 y=2 width=18 height=25 xoffset=0 yoffset=-0 xadvance=14 page=0 chnl=0 letter="4" +char id=78 x=2 y=31 width=17 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="N" +char id=86 x=21 y=31 width=17 height=25 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="V" +char id=53 x=40 y=31 width=17 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="5" +char id=71 x=59 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="G" +char id=79 x=77 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="O" +char id=83 x=95 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="S" +char id=84 x=113 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="T" +char id=85 x=131 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="U" +char id=51 x=149 y=31 width=16 height=25 xoffset=1 yoffset=-1 xadvance=14 page=0 chnl=0 letter="3" +char id=55 x=167 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="7" +char id=66 x=185 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="B" +char id=67 x=202 y=31 width=15 height=25 xoffset=0 yoffset=-0 xadvance=11 page=0 chnl=0 letter="C" +char id=68 x=219 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="D" +char id=80 x=236 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="P" +char id=104 x=2 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="h" +char id=54 x=19 y=58 width=15 height=25 xoffset=2 yoffset=-0 xadvance=14 page=0 chnl=0 letter="6" +char id=57 x=36 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="9" +char id=48 x=53 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="0" +char id=74 x=70 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="J" +char id=76 x=86 y=58 width=14 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="L" +char id=102 x=102 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="f" +char id=56 x=118 y=58 width=14 height=25 xoffset=2 yoffset=-0 xadvance=14 page=0 chnl=0 letter="8" +char id=63 x=134 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="?" +char id=69 x=150 y=58 width=13 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="E" +char id=70 x=165 y=58 width=13 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="F" +char id=91 x=180 y=58 width=13 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="[" +char id=93 x=195 y=58 width=13 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="]" +char id=123 x=210 y=58 width=13 height=25 xoffset=0 yoffset=-1 xadvance=9 page=0 chnl=0 letter="{" +char id=125 x=225 y=58 width=13 height=25 xoffset=0 yoffset=-1 xadvance=9 page=0 chnl=0 letter="}" +char id=49 x=240 y=58 width=11 height=25 xoffset=3 yoffset=-0 xadvance=14 page=0 chnl=0 letter="1" +char id=40 x=2 y=85 width=10 height=25 xoffset=1 yoffset=-1 xadvance=6 page=0 chnl=0 letter="(" +char id=41 x=14 y=85 width=10 height=25 xoffset=1 yoffset=-1 xadvance=6 page=0 chnl=0 letter=")" +char id=108 x=26 y=85 width=8 height=25 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="l" +char id=124 x=36 y=85 width=8 height=25 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="|" +char id=64 x=46 y=85 width=25 height=24 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="@" +char id=82 x=73 y=85 width=18 height=24 xoffset=1 yoffset=1 xadvance=14 page=0 chnl=0 letter="R" +char id=38 x=93 y=85 width=18 height=24 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="&" +char id=50 x=113 y=85 width=17 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="2" +char id=47 x=132 y=85 width=17 height=24 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="/" +char id=92 x=151 y=85 width=17 height=24 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="\" +char id=107 x=170 y=85 width=16 height=24 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="k" +char id=36 x=188 y=85 width=16 height=24 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="$" +char id=73 x=206 y=85 width=9 height=24 xoffset=1 yoffset=-0 xadvance=6 page=0 chnl=0 letter="I" +char id=105 x=217 y=85 width=8 height=24 xoffset=1 yoffset=1 xadvance=5 page=0 chnl=0 letter="i" +char id=33 x=227 y=85 width=8 height=24 xoffset=1 yoffset=1 xadvance=5 page=0 chnl=0 letter="!" +char id=121 x=237 y=85 width=16 height=23 xoffset=-0 yoffset=6 xadvance=11 page=0 chnl=0 letter="y" +char id=98 x=2 y=112 width=14 height=23 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 letter="b" +char id=100 x=18 y=112 width=14 height=23 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0 letter="d" +char id=112 x=34 y=112 width=14 height=23 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="p" +char id=113 x=50 y=112 width=14 height=23 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="q" +char id=103 x=66 y=112 width=13 height=23 xoffset=1 yoffset=5 xadvance=10 page=0 chnl=0 letter="g" +char id=116 x=81 y=112 width=14 height=22 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0 letter="t" +char id=59 x=97 y=112 width=10 height=20 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0 letter=";" +char id=119 x=109 y=112 width=23 height=19 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="w" +char id=109 x=134 y=112 width=21 height=19 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 letter="m" +char id=118 x=157 y=112 width=16 height=19 xoffset=-1 yoffset=6 xadvance=11 page=0 chnl=0 letter="v" +char id=122 x=175 y=112 width=16 height=19 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0 letter="z" +char id=97 x=193 y=112 width=15 height=19 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0 letter="a" +char id=110 x=210 y=112 width=15 height=19 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0 letter="n" +char id=111 x=227 y=112 width=14 height=19 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0 letter="o" +char id=114 x=2 y=137 width=14 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="r" +char id=120 x=18 y=137 width=14 height=19 xoffset=-0 yoffset=6 xadvance=10 page=0 chnl=0 letter="x" +char id=99 x=34 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="c" +char id=101 x=49 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="e" +char id=115 x=64 y=137 width=13 height=19 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0 letter="s" +char id=117 x=79 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="u" +char id=60 x=94 y=137 width=12 height=18 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="<" +char id=62 x=108 y=137 width=12 height=18 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter=">" +char id=58 x=122 y=137 width=8 height=18 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=0 letter=":" +char id=35 x=132 y=137 width=17 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=0 letter="#" +char id=43 x=151 y=137 width=14 height=15 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0 letter="+" +char id=42 x=167 y=137 width=15 height=13 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 letter="*" +char id=61 x=184 y=137 width=12 height=12 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="=" +char id=34 x=198 y=137 width=11 height=12 xoffset=0 yoffset=-0 xadvance=7 page=0 chnl=0 letter=""" +char id=39 x=211 y=137 width=7 height=11 xoffset=0 yoffset=-0 xadvance=4 page=0 chnl=0 letter="'" +char id=96 x=220 y=137 width=9 height=10 xoffset=0 yoffset=-0 xadvance=5 page=0 chnl=0 letter="`" +char id=44 x=231 y=137 width=9 height=10 xoffset=-1 yoffset=17 xadvance=5 page=0 chnl=0 letter="," +char id=94 x=242 y=137 width=11 height=9 xoffset=0 yoffset=-0 xadvance=7 page=0 chnl=0 letter="^" +char id=46 x=2 y=158 width=8 height=9 xoffset=1 yoffset=15 xadvance=5 page=0 chnl=0 letter="." +char id=95 x=12 y=158 width=15 height=8 xoffset=0 yoffset=21 xadvance=12 page=0 chnl=0 letter="_" +char id=45 x=29 y=158 width=12 height=8 xoffset=1 yoffset=10 xadvance=9 page=0 chnl=0 letter="-" +char id=126 x=43 y=158 width=12 height=8 xoffset=0 yoffset=-0 xadvance=8 page=0 chnl=0 letter="~" +char id=32 x=57 y=158 width=0 height=0 xoffset=6 yoffset=41 xadvance=6 page=0 chnl=0 letter="space" +kernings count=3632 +kerning first=106 second=106 amount=2 +kerning first=106 second=102 amount=1 +kerning first=106 second=56 amount=-1 +kerning first=106 second=63 amount=1 +kerning first=106 second=49 amount=-2 +kerning first=106 second=40 amount=1 +kerning first=106 second=108 amount=1 +kerning first=106 second=107 amount=1 +kerning first=106 second=105 amount=1 +kerning first=106 second=33 amount=1 +kerning first=106 second=121 amount=1 +kerning first=106 second=98 amount=1 +kerning first=106 second=100 amount=1 +kerning first=106 second=112 amount=1 +kerning first=106 second=103 amount=1 +kerning first=106 second=116 amount=1 +kerning first=106 second=59 amount=2 +kerning first=106 second=119 amount=2 +kerning first=106 second=118 amount=2 +kerning first=106 second=122 amount=1 +kerning first=106 second=97 amount=1 +kerning first=106 second=110 amount=1 +kerning first=106 second=111 amount=1 +kerning first=106 second=114 amount=1 +kerning first=106 second=120 amount=1 +kerning first=106 second=99 amount=1 +kerning first=106 second=101 amount=1 +kerning first=106 second=115 amount=1 +kerning first=106 second=117 amount=1 +kerning first=106 second=34 amount=1 +kerning first=106 second=39 amount=1 +kerning first=106 second=44 amount=1 +kerning first=106 second=46 amount=1 +kerning first=87 second=87 amount=1 +kerning first=87 second=81 amount=-1 +kerning first=87 second=88 amount=1 +kerning first=87 second=89 amount=1 +kerning first=87 second=90 amount=-1 +kerning first=87 second=65 amount=-3 +kerning first=87 second=75 amount=1 +kerning first=87 second=52 amount=-2 +kerning first=87 second=86 amount=1 +kerning first=87 second=53 amount=-1 +kerning first=87 second=71 amount=-1 +kerning first=87 second=79 amount=-1 +kerning first=87 second=83 amount=-1 +kerning first=87 second=85 amount=1 +kerning first=87 second=51 amount=-2 +kerning first=87 second=55 amount=-1 +kerning first=87 second=66 amount=1 +kerning first=87 second=67 amount=-1 +kerning first=87 second=80 amount=1 +kerning first=87 second=54 amount=-2 +kerning first=87 second=57 amount=-2 +kerning first=87 second=48 amount=-2 +kerning first=87 second=74 amount=-2 +kerning first=87 second=76 amount=1 +kerning first=87 second=102 amount=-1 +kerning first=87 second=56 amount=-2 +kerning first=87 second=93 amount=1 +kerning first=87 second=49 amount=-2 +kerning first=87 second=41 amount=1 +kerning first=87 second=108 amount=1 +kerning first=87 second=64 amount=-3 +kerning first=87 second=82 amount=1 +kerning first=87 second=50 amount=-2 +kerning first=87 second=47 amount=-3 +kerning first=87 second=92 amount=1 +kerning first=87 second=107 amount=1 +kerning first=87 second=73 amount=1 +kerning first=87 second=33 amount=1 +kerning first=87 second=100 amount=-2 +kerning first=87 second=112 amount=-1 +kerning first=87 second=113 amount=-2 +kerning first=87 second=103 amount=-2 +kerning first=87 second=116 amount=-1 +kerning first=87 second=59 amount=-2 +kerning first=87 second=109 amount=-1 +kerning first=87 second=122 amount=-2 +kerning first=87 second=97 amount=-1 +kerning first=87 second=110 amount=-1 +kerning first=87 second=111 amount=-2 +kerning first=87 second=114 amount=-1 +kerning first=87 second=120 amount=-1 +kerning first=87 second=99 amount=-2 +kerning first=87 second=101 amount=-2 +kerning first=87 second=115 amount=-2 +kerning first=87 second=117 amount=-1 +kerning first=87 second=58 amount=-2 +kerning first=87 second=35 amount=-1 +kerning first=87 second=34 amount=1 +kerning first=87 second=39 amount=2 +kerning first=87 second=44 amount=-4 +kerning first=87 second=46 amount=-3 +kerning first=87 second=45 amount=-2 +kerning first=81 second=106 amount=3 +kerning first=81 second=72 amount=1 +kerning first=81 second=77 amount=1 +kerning first=81 second=88 amount=2 +kerning first=81 second=89 amount=-1 +kerning first=81 second=90 amount=1 +kerning first=81 second=65 amount=1 +kerning first=81 second=75 amount=1 +kerning first=81 second=78 amount=1 +kerning first=81 second=86 amount=-1 +kerning first=81 second=51 amount=-1 +kerning first=81 second=55 amount=1 +kerning first=81 second=66 amount=1 +kerning first=81 second=67 amount=1 +kerning first=81 second=68 amount=1 +kerning first=81 second=80 amount=1 +kerning first=81 second=104 amount=1 +kerning first=81 second=54 amount=-1 +kerning first=81 second=57 amount=-1 +kerning first=81 second=76 amount=1 +kerning first=81 second=102 amount=1 +kerning first=81 second=56 amount=-1 +kerning first=81 second=69 amount=1 +kerning first=81 second=70 amount=1 +kerning first=81 second=93 amount=1 +kerning first=81 second=49 amount=-2 +kerning first=81 second=40 amount=1 +kerning first=81 second=41 amount=1 +kerning first=81 second=108 amount=2 +kerning first=81 second=82 amount=1 +kerning first=81 second=50 amount=1 +kerning first=81 second=47 amount=1 +kerning first=81 second=92 amount=-1 +kerning first=81 second=107 amount=2 +kerning first=81 second=73 amount=1 +kerning first=81 second=105 amount=2 +kerning first=81 second=33 amount=2 +kerning first=81 second=121 amount=1 +kerning first=81 second=98 amount=2 +kerning first=81 second=112 amount=2 +kerning first=81 second=103 amount=1 +kerning first=81 second=116 amount=1 +kerning first=81 second=59 amount=3 +kerning first=81 second=119 amount=1 +kerning first=81 second=118 amount=1 +kerning first=81 second=122 amount=2 +kerning first=81 second=97 amount=2 +kerning first=81 second=110 amount=2 +kerning first=81 second=111 amount=1 +kerning first=81 second=114 amount=2 +kerning first=81 second=120 amount=2 +kerning first=81 second=99 amount=1 +kerning first=81 second=115 amount=1 +kerning first=81 second=117 amount=1 +kerning first=81 second=58 amount=2 +kerning first=81 second=44 amount=3 +kerning first=81 second=46 amount=2 +kerning first=72 second=106 amount=1 +kerning first=72 second=87 amount=1 +kerning first=72 second=81 amount=1 +kerning first=72 second=72 amount=1 +kerning first=72 second=88 amount=1 +kerning first=72 second=75 amount=1 +kerning first=72 second=52 amount=1 +kerning first=72 second=86 amount=1 +kerning first=72 second=71 amount=1 +kerning first=72 second=79 amount=1 +kerning first=72 second=85 amount=1 +kerning first=72 second=51 amount=-1 +kerning first=72 second=66 amount=1 +kerning first=72 second=67 amount=1 +kerning first=72 second=80 amount=1 +kerning first=72 second=104 amount=1 +kerning first=72 second=57 amount=-1 +kerning first=72 second=76 amount=1 +kerning first=72 second=102 amount=1 +kerning first=72 second=56 amount=-1 +kerning first=72 second=69 amount=1 +kerning first=72 second=93 amount=1 +kerning first=72 second=49 amount=-2 +kerning first=72 second=40 amount=1 +kerning first=72 second=41 amount=1 +kerning first=72 second=108 amount=1 +kerning first=72 second=82 amount=1 +kerning first=72 second=92 amount=1 +kerning first=72 second=107 amount=1 +kerning first=72 second=73 amount=1 +kerning first=72 second=105 amount=1 +kerning first=72 second=33 amount=1 +kerning first=72 second=121 amount=1 +kerning first=72 second=98 amount=1 +kerning first=72 second=100 amount=1 +kerning first=72 second=112 amount=1 +kerning first=72 second=113 amount=1 +kerning first=72 second=103 amount=1 +kerning first=72 second=116 amount=2 +kerning first=72 second=59 amount=1 +kerning first=72 second=119 amount=1 +kerning first=72 second=118 amount=1 +kerning first=72 second=97 amount=1 +kerning first=72 second=110 amount=1 +kerning first=72 second=111 amount=1 +kerning first=72 second=114 amount=1 +kerning first=72 second=120 amount=1 +kerning first=72 second=99 amount=1 +kerning first=72 second=101 amount=1 +kerning first=72 second=115 amount=1 +kerning first=72 second=117 amount=1 +kerning first=72 second=35 amount=1 +kerning first=72 second=34 amount=1 +kerning first=72 second=39 amount=1 +kerning first=72 second=46 amount=1 +kerning first=72 second=45 amount=1 +kerning first=77 second=106 amount=1 +kerning first=77 second=88 amount=1 +kerning first=77 second=90 amount=1 +kerning first=77 second=65 amount=1 +kerning first=77 second=51 amount=-1 +kerning first=77 second=66 amount=1 +kerning first=77 second=80 amount=1 +kerning first=77 second=104 amount=1 +kerning first=77 second=54 amount=-1 +kerning first=77 second=57 amount=-1 +kerning first=77 second=48 amount=-1 +kerning first=77 second=56 amount=-1 +kerning first=77 second=69 amount=1 +kerning first=77 second=70 amount=1 +kerning first=77 second=49 amount=-3 +kerning first=77 second=41 amount=1 +kerning first=77 second=108 amount=1 +kerning first=77 second=47 amount=1 +kerning first=77 second=107 amount=1 +kerning first=77 second=73 amount=1 +kerning first=77 second=105 amount=1 +kerning first=77 second=33 amount=1 +kerning first=77 second=98 amount=1 +kerning first=77 second=112 amount=1 +kerning first=77 second=116 amount=1 +kerning first=77 second=59 amount=1 +kerning first=77 second=119 amount=1 +kerning first=77 second=118 amount=1 +kerning first=77 second=122 amount=1 +kerning first=77 second=97 amount=1 +kerning first=77 second=110 amount=1 +kerning first=77 second=114 amount=1 +kerning first=77 second=120 amount=1 +kerning first=77 second=115 amount=1 +kerning first=77 second=58 amount=1 +kerning first=77 second=44 amount=1 +kerning first=77 second=46 amount=1 +kerning first=88 second=106 amount=1 +kerning first=88 second=81 amount=-1 +kerning first=88 second=88 amount=1 +kerning first=88 second=90 amount=1 +kerning first=88 second=65 amount=1 +kerning first=88 second=52 amount=-2 +kerning first=88 second=71 amount=-1 +kerning first=88 second=79 amount=-1 +kerning first=88 second=83 amount=-1 +kerning first=88 second=84 amount=-1 +kerning first=88 second=51 amount=-1 +kerning first=88 second=80 amount=1 +kerning first=88 second=54 amount=-1 +kerning first=88 second=57 amount=-1 +kerning first=88 second=48 amount=-1 +kerning first=88 second=74 amount=-2 +kerning first=88 second=102 amount=-1 +kerning first=88 second=56 amount=-1 +kerning first=88 second=63 amount=-2 +kerning first=88 second=69 amount=1 +kerning first=88 second=49 amount=-3 +kerning first=88 second=41 amount=1 +kerning first=88 second=108 amount=1 +kerning first=88 second=64 amount=-1 +kerning first=88 second=47 amount=1 +kerning first=88 second=107 amount=1 +kerning first=88 second=73 amount=1 +kerning first=88 second=105 amount=1 +kerning first=88 second=33 amount=1 +kerning first=88 second=121 amount=-2 +kerning first=88 second=98 amount=1 +kerning first=88 second=112 amount=1 +kerning first=88 second=116 amount=-1 +kerning first=88 second=59 amount=1 +kerning first=88 second=118 amount=-1 +kerning first=88 second=122 amount=1 +kerning first=88 second=97 amount=1 +kerning first=88 second=110 amount=1 +kerning first=88 second=114 amount=1 +kerning first=88 second=120 amount=1 +kerning first=88 second=115 amount=1 +kerning first=88 second=58 amount=1 +kerning first=88 second=35 amount=-3 +kerning first=88 second=44 amount=1 +kerning first=88 second=46 amount=1 +kerning first=88 second=45 amount=-3 +kerning first=89 second=106 amount=1 +kerning first=89 second=87 amount=1 +kerning first=89 second=81 amount=-1 +kerning first=89 second=72 amount=1 +kerning first=89 second=77 amount=1 +kerning first=89 second=88 amount=1 +kerning first=89 second=89 amount=1 +kerning first=89 second=65 amount=-3 +kerning first=89 second=75 amount=1 +kerning first=89 second=52 amount=-3 +kerning first=89 second=78 amount=1 +kerning first=89 second=86 amount=2 +kerning first=89 second=84 amount=1 +kerning first=89 second=85 amount=1 +kerning first=89 second=51 amount=-2 +kerning first=89 second=66 amount=1 +kerning first=89 second=68 amount=1 +kerning first=89 second=80 amount=1 +kerning first=89 second=104 amount=1 +kerning first=89 second=54 amount=-1 +kerning first=89 second=57 amount=-1 +kerning first=89 second=48 amount=-1 +kerning first=89 second=74 amount=-3 +kerning first=89 second=76 amount=1 +kerning first=89 second=102 amount=-1 +kerning first=89 second=56 amount=-1 +kerning first=89 second=69 amount=1 +kerning first=89 second=70 amount=1 +kerning first=89 second=93 amount=1 +kerning first=89 second=49 amount=-2 +kerning first=89 second=41 amount=1 +kerning first=89 second=108 amount=1 +kerning first=89 second=64 amount=-3 +kerning first=89 second=82 amount=1 +kerning first=89 second=50 amount=-2 +kerning first=89 second=47 amount=-1 +kerning first=89 second=92 amount=1 +kerning first=89 second=107 amount=1 +kerning first=89 second=73 amount=1 +kerning first=89 second=105 amount=1 +kerning first=89 second=33 amount=1 +kerning first=89 second=121 amount=-1 +kerning first=89 second=98 amount=1 +kerning first=89 second=100 amount=-2 +kerning first=89 second=112 amount=-1 +kerning first=89 second=113 amount=-2 +kerning first=89 second=103 amount=-2 +kerning first=89 second=116 amount=-1 +kerning first=89 second=59 amount=-2 +kerning first=89 second=109 amount=-1 +kerning first=89 second=122 amount=-2 +kerning first=89 second=97 amount=-2 +kerning first=89 second=110 amount=-1 +kerning first=89 second=111 amount=-2 +kerning first=89 second=114 amount=-1 +kerning first=89 second=120 amount=-1 +kerning first=89 second=99 amount=-2 +kerning first=89 second=101 amount=-3 +kerning first=89 second=115 amount=-2 +kerning first=89 second=117 amount=-1 +kerning first=89 second=58 amount=-2 +kerning first=89 second=35 amount=-1 +kerning first=89 second=34 amount=2 +kerning first=89 second=39 amount=2 +kerning first=89 second=44 amount=-4 +kerning first=89 second=46 amount=-4 +kerning first=89 second=45 amount=-3 +kerning first=90 second=87 amount=1 +kerning first=90 second=81 amount=-1 +kerning first=90 second=88 amount=1 +kerning first=90 second=89 amount=1 +kerning first=90 second=65 amount=-1 +kerning first=90 second=75 amount=1 +kerning first=90 second=52 amount=-4 +kerning first=90 second=78 amount=1 +kerning first=90 second=86 amount=1 +kerning first=90 second=53 amount=-1 +kerning first=90 second=83 amount=-1 +kerning first=90 second=85 amount=1 +kerning first=90 second=51 amount=-2 +kerning first=90 second=66 amount=1 +kerning first=90 second=68 amount=1 +kerning first=90 second=80 amount=1 +kerning first=90 second=104 amount=1 +kerning first=90 second=54 amount=-1 +kerning first=90 second=57 amount=-1 +kerning first=90 second=48 amount=-1 +kerning first=90 second=74 amount=-2 +kerning first=90 second=76 amount=1 +kerning first=90 second=102 amount=-1 +kerning first=90 second=56 amount=-1 +kerning first=90 second=63 amount=-1 +kerning first=90 second=69 amount=1 +kerning first=90 second=93 amount=1 +kerning first=90 second=49 amount=-2 +kerning first=90 second=41 amount=1 +kerning first=90 second=108 amount=1 +kerning first=90 second=64 amount=-2 +kerning first=90 second=82 amount=1 +kerning first=90 second=50 amount=-1 +kerning first=90 second=92 amount=1 +kerning first=90 second=107 amount=1 +kerning first=90 second=73 amount=1 +kerning first=90 second=105 amount=1 +kerning first=90 second=33 amount=1 +kerning first=90 second=121 amount=-2 +kerning first=90 second=98 amount=1 +kerning first=90 second=100 amount=-1 +kerning first=90 second=112 amount=-1 +kerning first=90 second=113 amount=-1 +kerning first=90 second=103 amount=-1 +kerning first=90 second=116 amount=-2 +kerning first=90 second=59 amount=-1 +kerning first=90 second=119 amount=-1 +kerning first=90 second=109 amount=-1 +kerning first=90 second=118 amount=-1 +kerning first=90 second=122 amount=-1 +kerning first=90 second=110 amount=-1 +kerning first=90 second=111 amount=-1 +kerning first=90 second=114 amount=-1 +kerning first=90 second=99 amount=-1 +kerning first=90 second=101 amount=-1 +kerning first=90 second=115 amount=-1 +kerning first=90 second=117 amount=-1 +kerning first=90 second=58 amount=-1 +kerning first=90 second=35 amount=-3 +kerning first=90 second=34 amount=1 +kerning first=90 second=39 amount=2 +kerning first=90 second=45 amount=-5 +kerning first=65 second=87 amount=-2 +kerning first=65 second=88 amount=1 +kerning first=65 second=89 amount=-3 +kerning first=65 second=86 amount=-2 +kerning first=65 second=53 amount=-1 +kerning first=65 second=83 amount=1 +kerning first=65 second=84 amount=-2 +kerning first=65 second=51 amount=-2 +kerning first=65 second=67 amount=1 +kerning first=65 second=54 amount=-1 +kerning first=65 second=57 amount=-1 +kerning first=65 second=102 amount=-1 +kerning first=65 second=56 amount=-1 +kerning first=65 second=63 amount=-1 +kerning first=65 second=93 amount=-1 +kerning first=65 second=49 amount=-3 +kerning first=65 second=108 amount=1 +kerning first=65 second=92 amount=-3 +kerning first=65 second=100 amount=1 +kerning first=65 second=113 amount=1 +kerning first=65 second=103 amount=1 +kerning first=65 second=116 amount=-1 +kerning first=65 second=59 amount=1 +kerning first=65 second=122 amount=1 +kerning first=65 second=97 amount=1 +kerning first=65 second=110 amount=1 +kerning first=65 second=111 amount=1 +kerning first=65 second=120 amount=1 +kerning first=65 second=99 amount=1 +kerning first=65 second=101 amount=1 +kerning first=65 second=117 amount=1 +kerning first=65 second=34 amount=-3 +kerning first=65 second=39 amount=-3 +kerning first=65 second=44 amount=1 +kerning first=65 second=46 amount=1 +kerning first=75 second=106 amount=1 +kerning first=75 second=72 amount=1 +kerning first=75 second=77 amount=1 +kerning first=75 second=88 amount=1 +kerning first=75 second=90 amount=1 +kerning first=75 second=65 amount=1 +kerning first=75 second=75 amount=1 +kerning first=75 second=52 amount=-2 +kerning first=75 second=78 amount=1 +kerning first=75 second=53 amount=1 +kerning first=75 second=84 amount=-1 +kerning first=75 second=55 amount=1 +kerning first=75 second=66 amount=1 +kerning first=75 second=67 amount=1 +kerning first=75 second=80 amount=1 +kerning first=75 second=104 amount=1 +kerning first=75 second=54 amount=-1 +kerning first=75 second=74 amount=-1 +kerning first=75 second=76 amount=1 +kerning first=75 second=102 amount=-1 +kerning first=75 second=63 amount=-1 +kerning first=75 second=69 amount=1 +kerning first=75 second=70 amount=1 +kerning first=75 second=49 amount=-2 +kerning first=75 second=40 amount=1 +kerning first=75 second=41 amount=1 +kerning first=75 second=108 amount=1 +kerning first=75 second=82 amount=1 +kerning first=75 second=50 amount=1 +kerning first=75 second=47 amount=1 +kerning first=75 second=107 amount=1 +kerning first=75 second=73 amount=1 +kerning first=75 second=105 amount=1 +kerning first=75 second=33 amount=1 +kerning first=75 second=121 amount=-1 +kerning first=75 second=98 amount=1 +kerning first=75 second=100 amount=1 +kerning first=75 second=112 amount=1 +kerning first=75 second=113 amount=1 +kerning first=75 second=103 amount=1 +kerning first=75 second=116 amount=-1 +kerning first=75 second=59 amount=1 +kerning first=75 second=122 amount=1 +kerning first=75 second=97 amount=2 +kerning first=75 second=110 amount=1 +kerning first=75 second=111 amount=1 +kerning first=75 second=114 amount=1 +kerning first=75 second=120 amount=2 +kerning first=75 second=99 amount=1 +kerning first=75 second=101 amount=1 +kerning first=75 second=115 amount=1 +kerning first=75 second=117 amount=1 +kerning first=75 second=58 amount=1 +kerning first=75 second=35 amount=-3 +kerning first=75 second=44 amount=1 +kerning first=75 second=46 amount=2 +kerning first=75 second=45 amount=-4 +kerning first=52 second=106 amount=1 +kerning first=52 second=87 amount=-1 +kerning first=52 second=81 amount=1 +kerning first=52 second=72 amount=1 +kerning first=52 second=88 amount=-2 +kerning first=52 second=89 amount=-2 +kerning first=52 second=90 amount=-2 +kerning first=52 second=65 amount=-1 +kerning first=52 second=86 amount=-1 +kerning first=52 second=71 amount=1 +kerning first=52 second=79 amount=1 +kerning first=52 second=83 amount=-1 +kerning first=52 second=84 amount=-2 +kerning first=52 second=85 amount=1 +kerning first=52 second=67 amount=1 +kerning first=52 second=80 amount=1 +kerning first=52 second=104 amount=1 +kerning first=52 second=102 amount=1 +kerning first=52 second=63 amount=-1 +kerning first=52 second=69 amount=1 +kerning first=52 second=93 amount=-2 +kerning first=52 second=40 amount=1 +kerning first=52 second=41 amount=-1 +kerning first=52 second=108 amount=1 +kerning first=52 second=47 amount=-2 +kerning first=52 second=92 amount=-2 +kerning first=52 second=107 amount=1 +kerning first=52 second=73 amount=1 +kerning first=52 second=105 amount=1 +kerning first=52 second=33 amount=1 +kerning first=52 second=98 amount=1 +kerning first=52 second=100 amount=1 +kerning first=52 second=112 amount=1 +kerning first=52 second=113 amount=1 +kerning first=52 second=103 amount=1 +kerning first=52 second=116 amount=1 +kerning first=52 second=119 amount=1 +kerning first=52 second=118 amount=1 +kerning first=52 second=122 amount=-1 +kerning first=52 second=97 amount=1 +kerning first=52 second=110 amount=1 +kerning first=52 second=111 amount=1 +kerning first=52 second=114 amount=1 +kerning first=52 second=99 amount=1 +kerning first=52 second=101 amount=1 +kerning first=52 second=115 amount=1 +kerning first=52 second=117 amount=1 +kerning first=52 second=35 amount=1 +kerning first=52 second=34 amount=-2 +kerning first=52 second=39 amount=-1 +kerning first=52 second=44 amount=-2 +kerning first=52 second=46 amount=-2 +kerning first=52 second=45 amount=1 +kerning first=78 second=106 amount=1 +kerning first=78 second=87 amount=1 +kerning first=78 second=88 amount=1 +kerning first=78 second=90 amount=1 +kerning first=78 second=65 amount=1 +kerning first=78 second=75 amount=1 +kerning first=78 second=86 amount=1 +kerning first=78 second=83 amount=1 +kerning first=78 second=85 amount=1 +kerning first=78 second=66 amount=1 +kerning first=78 second=80 amount=1 +kerning first=78 second=104 amount=1 +kerning first=78 second=54 amount=-1 +kerning first=78 second=48 amount=-1 +kerning first=78 second=76 amount=1 +kerning first=78 second=102 amount=1 +kerning first=78 second=69 amount=1 +kerning first=78 second=93 amount=1 +kerning first=78 second=49 amount=-2 +kerning first=78 second=41 amount=1 +kerning first=78 second=108 amount=1 +kerning first=78 second=82 amount=1 +kerning first=78 second=47 amount=1 +kerning first=78 second=92 amount=1 +kerning first=78 second=107 amount=1 +kerning first=78 second=73 amount=1 +kerning first=78 second=105 amount=1 +kerning first=78 second=33 amount=1 +kerning first=78 second=121 amount=1 +kerning first=78 second=98 amount=1 +kerning first=78 second=112 amount=1 +kerning first=78 second=103 amount=1 +kerning first=78 second=116 amount=1 +kerning first=78 second=59 amount=1 +kerning first=78 second=119 amount=1 +kerning first=78 second=118 amount=1 +kerning first=78 second=122 amount=1 +kerning first=78 second=97 amount=1 +kerning first=78 second=110 amount=1 +kerning first=78 second=111 amount=1 +kerning first=78 second=114 amount=1 +kerning first=78 second=120 amount=1 +kerning first=78 second=99 amount=1 +kerning first=78 second=115 amount=1 +kerning first=78 second=117 amount=1 +kerning first=78 second=58 amount=1 +kerning first=78 second=34 amount=1 +kerning first=78 second=39 amount=1 +kerning first=78 second=46 amount=1 +kerning first=86 second=87 amount=1 +kerning first=86 second=81 amount=-1 +kerning first=86 second=88 amount=1 +kerning first=86 second=89 amount=1 +kerning first=86 second=90 amount=-1 +kerning first=86 second=65 amount=-3 +kerning first=86 second=75 amount=1 +kerning first=86 second=52 amount=-2 +kerning first=86 second=78 amount=1 +kerning first=86 second=86 amount=1 +kerning first=86 second=53 amount=-1 +kerning first=86 second=83 amount=-1 +kerning first=86 second=85 amount=1 +kerning first=86 second=51 amount=-2 +kerning first=86 second=66 amount=1 +kerning first=86 second=68 amount=1 +kerning first=86 second=80 amount=1 +kerning first=86 second=104 amount=1 +kerning first=86 second=54 amount=-2 +kerning first=86 second=57 amount=-1 +kerning first=86 second=48 amount=-1 +kerning first=86 second=74 amount=-2 +kerning first=86 second=76 amount=1 +kerning first=86 second=102 amount=-1 +kerning first=86 second=56 amount=-1 +kerning first=86 second=69 amount=1 +kerning first=86 second=93 amount=1 +kerning first=86 second=49 amount=-2 +kerning first=86 second=41 amount=1 +kerning first=86 second=108 amount=1 +kerning first=86 second=64 amount=-3 +kerning first=86 second=82 amount=1 +kerning first=86 second=50 amount=-2 +kerning first=86 second=47 amount=-3 +kerning first=86 second=92 amount=1 +kerning first=86 second=107 amount=1 +kerning first=86 second=73 amount=1 +kerning first=86 second=105 amount=1 +kerning first=86 second=33 amount=1 +kerning first=86 second=98 amount=1 +kerning first=86 second=100 amount=-2 +kerning first=86 second=112 amount=-1 +kerning first=86 second=113 amount=-2 +kerning first=86 second=103 amount=-2 +kerning first=86 second=59 amount=-1 +kerning first=86 second=109 amount=-1 +kerning first=86 second=122 amount=-2 +kerning first=86 second=97 amount=-1 +kerning first=86 second=110 amount=-1 +kerning first=86 second=111 amount=-2 +kerning first=86 second=114 amount=-1 +kerning first=86 second=120 amount=-1 +kerning first=86 second=99 amount=-2 +kerning first=86 second=101 amount=-2 +kerning first=86 second=115 amount=-2 +kerning first=86 second=117 amount=-1 +kerning first=86 second=58 amount=-2 +kerning first=86 second=35 amount=-1 +kerning first=86 second=34 amount=2 +kerning first=86 second=39 amount=2 +kerning first=86 second=44 amount=-3 +kerning first=86 second=46 amount=-3 +kerning first=86 second=45 amount=-2 +kerning first=53 second=81 amount=-1 +kerning first=53 second=90 amount=-1 +kerning first=53 second=65 amount=-3 +kerning first=53 second=86 amount=1 +kerning first=53 second=71 amount=-1 +kerning first=53 second=79 amount=-1 +kerning first=53 second=83 amount=-1 +kerning first=53 second=74 amount=-1 +kerning first=53 second=63 amount=-1 +kerning first=53 second=64 amount=-2 +kerning first=53 second=47 amount=-3 +kerning first=53 second=100 amount=-1 +kerning first=53 second=112 amount=-1 +kerning first=53 second=113 amount=-1 +kerning first=53 second=103 amount=-1 +kerning first=53 second=59 amount=-1 +kerning first=53 second=109 amount=-1 +kerning first=53 second=122 amount=-1 +kerning first=53 second=97 amount=-1 +kerning first=53 second=110 amount=-1 +kerning first=53 second=111 amount=-1 +kerning first=53 second=114 amount=-1 +kerning first=53 second=120 amount=-1 +kerning first=53 second=99 amount=-1 +kerning first=53 second=101 amount=-1 +kerning first=53 second=115 amount=-1 +kerning first=53 second=117 amount=-1 +kerning first=53 second=58 amount=-1 +kerning first=53 second=35 amount=-1 +kerning first=53 second=34 amount=1 +kerning first=53 second=39 amount=1 +kerning first=53 second=44 amount=-4 +kerning first=53 second=46 amount=-3 +kerning first=53 second=45 amount=-1 +kerning first=71 second=106 amount=1 +kerning first=71 second=81 amount=1 +kerning first=71 second=72 amount=1 +kerning first=71 second=88 amount=-1 +kerning first=71 second=89 amount=-2 +kerning first=71 second=90 amount=-1 +kerning first=71 second=75 amount=1 +kerning first=71 second=52 amount=1 +kerning first=71 second=86 amount=-1 +kerning first=71 second=53 amount=-1 +kerning first=71 second=71 amount=1 +kerning first=71 second=79 amount=1 +kerning first=71 second=83 amount=-1 +kerning first=71 second=84 amount=-1 +kerning first=71 second=85 amount=1 +kerning first=71 second=51 amount=-1 +kerning first=71 second=55 amount=-2 +kerning first=71 second=66 amount=1 +kerning first=71 second=67 amount=1 +kerning first=71 second=68 amount=1 +kerning first=71 second=80 amount=1 +kerning first=71 second=104 amount=1 +kerning first=71 second=57 amount=-1 +kerning first=71 second=48 amount=1 +kerning first=71 second=74 amount=1 +kerning first=71 second=76 amount=1 +kerning first=71 second=102 amount=1 +kerning first=71 second=56 amount=-1 +kerning first=71 second=63 amount=-1 +kerning first=71 second=69 amount=1 +kerning first=71 second=70 amount=1 +kerning first=71 second=93 amount=-2 +kerning first=71 second=49 amount=-3 +kerning first=71 second=40 amount=1 +kerning first=71 second=108 amount=1 +kerning first=71 second=64 amount=1 +kerning first=71 second=82 amount=1 +kerning first=71 second=50 amount=-2 +kerning first=71 second=47 amount=-1 +kerning first=71 second=92 amount=-2 +kerning first=71 second=107 amount=1 +kerning first=71 second=73 amount=1 +kerning first=71 second=105 amount=1 +kerning first=71 second=33 amount=1 +kerning first=71 second=121 amount=1 +kerning first=71 second=98 amount=1 +kerning first=71 second=100 amount=1 +kerning first=71 second=112 amount=1 +kerning first=71 second=113 amount=1 +kerning first=71 second=103 amount=1 +kerning first=71 second=116 amount=1 +kerning first=71 second=119 amount=2 +kerning first=71 second=109 amount=1 +kerning first=71 second=118 amount=1 +kerning first=71 second=122 amount=-1 +kerning first=71 second=97 amount=1 +kerning first=71 second=110 amount=1 +kerning first=71 second=111 amount=2 +kerning first=71 second=114 amount=1 +kerning first=71 second=99 amount=1 +kerning first=71 second=101 amount=1 +kerning first=71 second=115 amount=1 +kerning first=71 second=117 amount=1 +kerning first=71 second=35 amount=1 +kerning first=71 second=34 amount=-1 +kerning first=71 second=39 amount=-1 +kerning first=71 second=44 amount=-3 +kerning first=71 second=46 amount=-2 +kerning first=71 second=45 amount=2 +kerning first=79 second=106 amount=1 +kerning first=79 second=81 amount=1 +kerning first=79 second=72 amount=1 +kerning first=79 second=88 amount=-1 +kerning first=79 second=89 amount=-1 +kerning first=79 second=65 amount=-1 +kerning first=79 second=71 amount=1 +kerning first=79 second=79 amount=1 +kerning first=79 second=51 amount=-1 +kerning first=79 second=55 amount=-1 +kerning first=79 second=67 amount=1 +kerning first=79 second=57 amount=-1 +kerning first=79 second=102 amount=1 +kerning first=79 second=56 amount=-1 +kerning first=79 second=93 amount=-1 +kerning first=79 second=49 amount=-2 +kerning first=79 second=40 amount=1 +kerning first=79 second=41 amount=-1 +kerning first=79 second=108 amount=1 +kerning first=79 second=50 amount=-1 +kerning first=79 second=47 amount=-1 +kerning first=79 second=92 amount=-1 +kerning first=79 second=107 amount=1 +kerning first=79 second=105 amount=1 +kerning first=79 second=33 amount=1 +kerning first=79 second=121 amount=1 +kerning first=79 second=100 amount=1 +kerning first=79 second=112 amount=1 +kerning first=79 second=113 amount=1 +kerning first=79 second=103 amount=1 +kerning first=79 second=116 amount=2 +kerning first=79 second=59 amount=1 +kerning first=79 second=119 amount=2 +kerning first=79 second=118 amount=2 +kerning first=79 second=97 amount=1 +kerning first=79 second=110 amount=1 +kerning first=79 second=111 amount=1 +kerning first=79 second=114 amount=1 +kerning first=79 second=120 amount=1 +kerning first=79 second=99 amount=1 +kerning first=79 second=101 amount=1 +kerning first=79 second=117 amount=1 +kerning first=79 second=35 amount=1 +kerning first=79 second=44 amount=-1 +kerning first=79 second=45 amount=1 +kerning first=83 second=106 amount=1 +kerning first=83 second=88 amount=1 +kerning first=83 second=89 amount=-1 +kerning first=83 second=90 amount=1 +kerning first=83 second=53 amount=1 +kerning first=83 second=71 amount=1 +kerning first=83 second=83 amount=1 +kerning first=83 second=67 amount=1 +kerning first=83 second=104 amount=1 +kerning first=83 second=74 amount=1 +kerning first=83 second=49 amount=-2 +kerning first=83 second=40 amount=1 +kerning first=83 second=41 amount=1 +kerning first=83 second=108 amount=1 +kerning first=83 second=107 amount=1 +kerning first=83 second=105 amount=1 +kerning first=83 second=33 amount=1 +kerning first=83 second=121 amount=1 +kerning first=83 second=98 amount=1 +kerning first=83 second=100 amount=1 +kerning first=83 second=112 amount=1 +kerning first=83 second=113 amount=1 +kerning first=83 second=103 amount=1 +kerning first=83 second=116 amount=-1 +kerning first=83 second=119 amount=1 +kerning first=83 second=118 amount=1 +kerning first=83 second=122 amount=1 +kerning first=83 second=97 amount=1 +kerning first=83 second=110 amount=1 +kerning first=83 second=111 amount=1 +kerning first=83 second=114 amount=1 +kerning first=83 second=120 amount=1 +kerning first=83 second=99 amount=1 +kerning first=83 second=101 amount=1 +kerning first=83 second=115 amount=1 +kerning first=83 second=117 amount=1 +kerning first=83 second=46 amount=1 +kerning first=84 second=87 amount=1 +kerning first=84 second=81 amount=-1 +kerning first=84 second=88 amount=1 +kerning first=84 second=90 amount=-1 +kerning first=84 second=65 amount=-3 +kerning first=84 second=75 amount=1 +kerning first=84 second=52 amount=-3 +kerning first=84 second=86 amount=1 +kerning first=84 second=53 amount=-1 +kerning first=84 second=83 amount=-1 +kerning first=84 second=85 amount=1 +kerning first=84 second=51 amount=-2 +kerning first=84 second=66 amount=1 +kerning first=84 second=80 amount=1 +kerning first=84 second=54 amount=-2 +kerning first=84 second=57 amount=-1 +kerning first=84 second=48 amount=-1 +kerning first=84 second=74 amount=-3 +kerning first=84 second=76 amount=1 +kerning first=84 second=102 amount=-1 +kerning first=84 second=56 amount=-1 +kerning first=84 second=93 amount=1 +kerning first=84 second=49 amount=-2 +kerning first=84 second=108 amount=1 +kerning first=84 second=64 amount=-4 +kerning first=84 second=82 amount=1 +kerning first=84 second=50 amount=-2 +kerning first=84 second=47 amount=-3 +kerning first=84 second=92 amount=1 +kerning first=84 second=107 amount=1 +kerning first=84 second=73 amount=1 +kerning first=84 second=33 amount=1 +kerning first=84 second=121 amount=-3 +kerning first=84 second=98 amount=1 +kerning first=84 second=100 amount=-3 +kerning first=84 second=112 amount=-3 +kerning first=84 second=113 amount=-3 +kerning first=84 second=103 amount=-3 +kerning first=84 second=116 amount=-2 +kerning first=84 second=59 amount=-2 +kerning first=84 second=119 amount=-2 +kerning first=84 second=109 amount=-3 +kerning first=84 second=118 amount=-2 +kerning first=84 second=122 amount=-3 +kerning first=84 second=97 amount=-3 +kerning first=84 second=110 amount=-3 +kerning first=84 second=111 amount=-3 +kerning first=84 second=114 amount=-3 +kerning first=84 second=120 amount=-2 +kerning first=84 second=99 amount=-3 +kerning first=84 second=101 amount=-3 +kerning first=84 second=115 amount=-3 +kerning first=84 second=117 amount=-3 +kerning first=84 second=58 amount=-3 +kerning first=84 second=35 amount=-2 +kerning first=84 second=34 amount=1 +kerning first=84 second=39 amount=1 +kerning first=84 second=44 amount=-2 +kerning first=84 second=46 amount=-2 +kerning first=84 second=45 amount=-3 +kerning first=85 second=106 amount=1 +kerning first=85 second=87 amount=1 +kerning first=85 second=88 amount=1 +kerning first=85 second=89 amount=1 +kerning first=85 second=65 amount=-1 +kerning first=85 second=75 amount=1 +kerning first=85 second=86 amount=1 +kerning first=85 second=71 amount=1 +kerning first=85 second=84 amount=1 +kerning first=85 second=85 amount=1 +kerning first=85 second=51 amount=-1 +kerning first=85 second=66 amount=1 +kerning first=85 second=67 amount=1 +kerning first=85 second=68 amount=1 +kerning first=85 second=80 amount=1 +kerning first=85 second=54 amount=-1 +kerning first=85 second=57 amount=-1 +kerning first=85 second=76 amount=1 +kerning first=85 second=102 amount=1 +kerning first=85 second=56 amount=-1 +kerning first=85 second=63 amount=1 +kerning first=85 second=93 amount=1 +kerning first=85 second=49 amount=-2 +kerning first=85 second=40 amount=1 +kerning first=85 second=41 amount=1 +kerning first=85 second=108 amount=1 +kerning first=85 second=82 amount=1 +kerning first=85 second=50 amount=-1 +kerning first=85 second=47 amount=-1 +kerning first=85 second=92 amount=1 +kerning first=85 second=107 amount=1 +kerning first=85 second=73 amount=1 +kerning first=85 second=105 amount=1 +kerning first=85 second=33 amount=1 +kerning first=85 second=121 amount=1 +kerning first=85 second=98 amount=1 +kerning first=85 second=112 amount=1 +kerning first=85 second=116 amount=1 +kerning first=85 second=119 amount=2 +kerning first=85 second=118 amount=1 +kerning first=85 second=97 amount=1 +kerning first=85 second=110 amount=1 +kerning first=85 second=114 amount=1 +kerning first=85 second=120 amount=1 +kerning first=85 second=117 amount=1 +kerning first=85 second=34 amount=1 +kerning first=85 second=39 amount=1 +kerning first=85 second=44 amount=-2 +kerning first=85 second=46 amount=-1 +kerning first=51 second=77 amount=-1 +kerning first=51 second=89 amount=-1 +kerning first=51 second=90 amount=-2 +kerning first=51 second=65 amount=-2 +kerning first=51 second=75 amount=-1 +kerning first=51 second=78 amount=-1 +kerning first=51 second=83 amount=-1 +kerning first=51 second=84 amount=-1 +kerning first=51 second=68 amount=-1 +kerning first=51 second=74 amount=-1 +kerning first=51 second=76 amount=-1 +kerning first=51 second=63 amount=-1 +kerning first=51 second=70 amount=-1 +kerning first=51 second=93 amount=-1 +kerning first=51 second=41 amount=-1 +kerning first=51 second=64 amount=-1 +kerning first=51 second=47 amount=-3 +kerning first=51 second=92 amount=-1 +kerning first=51 second=59 amount=-1 +kerning first=51 second=109 amount=-1 +kerning first=51 second=122 amount=-2 +kerning first=51 second=120 amount=-1 +kerning first=51 second=58 amount=-1 +kerning first=51 second=44 amount=-4 +kerning first=51 second=46 amount=-3 +kerning first=55 second=106 amount=-1 +kerning first=55 second=81 amount=-2 +kerning first=55 second=72 amount=-1 +kerning first=55 second=77 amount=-1 +kerning first=55 second=89 amount=-1 +kerning first=55 second=90 amount=-2 +kerning first=55 second=65 amount=-4 +kerning first=55 second=78 amount=-1 +kerning first=55 second=71 amount=-1 +kerning first=55 second=79 amount=-1 +kerning first=55 second=83 amount=-2 +kerning first=55 second=67 amount=-1 +kerning first=55 second=68 amount=-1 +kerning first=55 second=104 amount=-1 +kerning first=55 second=74 amount=-3 +kerning first=55 second=102 amount=-2 +kerning first=55 second=63 amount=-1 +kerning first=55 second=69 amount=-1 +kerning first=55 second=70 amount=-1 +kerning first=55 second=40 amount=-1 +kerning first=55 second=64 amount=-5 +kerning first=55 second=47 amount=-5 +kerning first=55 second=105 amount=-1 +kerning first=55 second=121 amount=-2 +kerning first=55 second=100 amount=-4 +kerning first=55 second=112 amount=-3 +kerning first=55 second=113 amount=-4 +kerning first=55 second=103 amount=-4 +kerning first=55 second=116 amount=-2 +kerning first=55 second=59 amount=-3 +kerning first=55 second=119 amount=-2 +kerning first=55 second=109 amount=-3 +kerning first=55 second=118 amount=-2 +kerning first=55 second=122 amount=-4 +kerning first=55 second=97 amount=-3 +kerning first=55 second=110 amount=-3 +kerning first=55 second=111 amount=-4 +kerning first=55 second=114 amount=-3 +kerning first=55 second=120 amount=-3 +kerning first=55 second=99 amount=-4 +kerning first=55 second=101 amount=-4 +kerning first=55 second=115 amount=-4 +kerning first=55 second=117 amount=-3 +kerning first=55 second=58 amount=-4 +kerning first=55 second=35 amount=-3 +kerning first=55 second=39 amount=1 +kerning first=55 second=44 amount=-5 +kerning first=55 second=46 amount=-6 +kerning first=55 second=45 amount=-4 +kerning first=66 second=72 amount=1 +kerning first=66 second=89 amount=-1 +kerning first=66 second=90 amount=-1 +kerning first=66 second=65 amount=-1 +kerning first=66 second=53 amount=-1 +kerning first=66 second=71 amount=1 +kerning first=66 second=51 amount=-2 +kerning first=66 second=55 amount=-1 +kerning first=66 second=67 amount=1 +kerning first=66 second=57 amount=-1 +kerning first=66 second=56 amount=-1 +kerning first=66 second=49 amount=-3 +kerning first=66 second=40 amount=1 +kerning first=66 second=41 amount=-1 +kerning first=66 second=108 amount=1 +kerning first=66 second=50 amount=-2 +kerning first=66 second=47 amount=-2 +kerning first=66 second=107 amount=1 +kerning first=66 second=105 amount=1 +kerning first=66 second=33 amount=1 +kerning first=66 second=100 amount=1 +kerning first=66 second=113 amount=1 +kerning first=66 second=103 amount=1 +kerning first=66 second=116 amount=1 +kerning first=66 second=119 amount=1 +kerning first=66 second=122 amount=-1 +kerning first=66 second=110 amount=1 +kerning first=66 second=111 amount=1 +kerning first=66 second=114 amount=1 +kerning first=66 second=99 amount=1 +kerning first=66 second=101 amount=1 +kerning first=66 second=117 amount=1 +kerning first=66 second=35 amount=1 +kerning first=66 second=44 amount=-3 +kerning first=66 second=46 amount=-2 +kerning first=66 second=45 amount=1 +kerning first=67 second=106 amount=1 +kerning first=67 second=81 amount=1 +kerning first=67 second=88 amount=-1 +kerning first=67 second=89 amount=-1 +kerning first=67 second=52 amount=1 +kerning first=67 second=71 amount=1 +kerning first=67 second=79 amount=1 +kerning first=67 second=83 amount=1 +kerning first=67 second=85 amount=1 +kerning first=67 second=51 amount=-1 +kerning first=67 second=55 amount=-1 +kerning first=67 second=66 amount=1 +kerning first=67 second=67 amount=1 +kerning first=67 second=80 amount=1 +kerning first=67 second=104 amount=1 +kerning first=67 second=74 amount=1 +kerning first=67 second=102 amount=1 +kerning first=67 second=56 amount=-1 +kerning first=67 second=69 amount=1 +kerning first=67 second=93 amount=-1 +kerning first=67 second=49 amount=-2 +kerning first=67 second=40 amount=1 +kerning first=67 second=108 amount=1 +kerning first=67 second=64 amount=1 +kerning first=67 second=50 amount=-1 +kerning first=67 second=47 amount=-1 +kerning first=67 second=92 amount=-1 +kerning first=67 second=107 amount=1 +kerning first=67 second=73 amount=1 +kerning first=67 second=105 amount=1 +kerning first=67 second=33 amount=1 +kerning first=67 second=121 amount=1 +kerning first=67 second=98 amount=1 +kerning first=67 second=100 amount=1 +kerning first=67 second=112 amount=1 +kerning first=67 second=113 amount=1 +kerning first=67 second=103 amount=1 +kerning first=67 second=116 amount=1 +kerning first=67 second=119 amount=2 +kerning first=67 second=109 amount=1 +kerning first=67 second=118 amount=2 +kerning first=67 second=97 amount=1 +kerning first=67 second=110 amount=1 +kerning first=67 second=111 amount=1 +kerning first=67 second=114 amount=1 +kerning first=67 second=120 amount=1 +kerning first=67 second=99 amount=1 +kerning first=67 second=101 amount=1 +kerning first=67 second=117 amount=1 +kerning first=67 second=35 amount=1 +kerning first=67 second=34 amount=1 +kerning first=67 second=39 amount=1 +kerning first=67 second=44 amount=-1 +kerning first=68 second=106 amount=1 +kerning first=68 second=87 amount=1 +kerning first=68 second=90 amount=-1 +kerning first=68 second=65 amount=-2 +kerning first=68 second=75 amount=1 +kerning first=68 second=52 amount=-1 +kerning first=68 second=86 amount=1 +kerning first=68 second=53 amount=-1 +kerning first=68 second=84 amount=1 +kerning first=68 second=85 amount=1 +kerning first=68 second=66 amount=1 +kerning first=68 second=67 amount=1 +kerning first=68 second=80 amount=1 +kerning first=68 second=104 amount=1 +kerning first=68 second=54 amount=-1 +kerning first=68 second=74 amount=-1 +kerning first=68 second=102 amount=1 +kerning first=68 second=63 amount=1 +kerning first=68 second=49 amount=-2 +kerning first=68 second=40 amount=1 +kerning first=68 second=108 amount=1 +kerning first=68 second=64 amount=-1 +kerning first=68 second=82 amount=1 +kerning first=68 second=50 amount=-1 +kerning first=68 second=47 amount=-3 +kerning first=68 second=107 amount=1 +kerning first=68 second=73 amount=1 +kerning first=68 second=105 amount=1 +kerning first=68 second=33 amount=1 +kerning first=68 second=121 amount=1 +kerning first=68 second=98 amount=1 +kerning first=68 second=112 amount=1 +kerning first=68 second=116 amount=1 +kerning first=68 second=119 amount=1 +kerning first=68 second=118 amount=1 +kerning first=68 second=110 amount=1 +kerning first=68 second=114 amount=1 +kerning first=68 second=120 amount=1 +kerning first=68 second=101 amount=-1 +kerning first=68 second=117 amount=1 +kerning first=68 second=34 amount=1 +kerning first=68 second=39 amount=1 +kerning first=68 second=44 amount=-4 +kerning first=68 second=46 amount=-3 +kerning first=80 second=106 amount=1 +kerning first=80 second=87 amount=1 +kerning first=80 second=72 amount=1 +kerning first=80 second=77 amount=1 +kerning first=80 second=88 amount=1 +kerning first=80 second=89 amount=1 +kerning first=80 second=65 amount=-2 +kerning first=80 second=75 amount=1 +kerning first=80 second=52 amount=-2 +kerning first=80 second=78 amount=1 +kerning first=80 second=86 amount=1 +kerning first=80 second=71 amount=1 +kerning first=80 second=79 amount=1 +kerning first=80 second=84 amount=1 +kerning first=80 second=85 amount=1 +kerning first=80 second=66 amount=1 +kerning first=80 second=67 amount=1 +kerning first=80 second=68 amount=1 +kerning first=80 second=80 amount=1 +kerning first=80 second=104 amount=1 +kerning first=80 second=54 amount=-1 +kerning first=80 second=74 amount=-3 +kerning first=80 second=76 amount=1 +kerning first=80 second=63 amount=1 +kerning first=80 second=69 amount=1 +kerning first=80 second=70 amount=1 +kerning first=80 second=93 amount=1 +kerning first=80 second=49 amount=-1 +kerning first=80 second=40 amount=1 +kerning first=80 second=41 amount=1 +kerning first=80 second=108 amount=1 +kerning first=80 second=64 amount=-2 +kerning first=80 second=82 amount=1 +kerning first=80 second=50 amount=-1 +kerning first=80 second=47 amount=-4 +kerning first=80 second=92 amount=1 +kerning first=80 second=107 amount=1 +kerning first=80 second=73 amount=1 +kerning first=80 second=105 amount=1 +kerning first=80 second=33 amount=1 +kerning first=80 second=121 amount=1 +kerning first=80 second=98 amount=1 +kerning first=80 second=100 amount=-1 +kerning first=80 second=113 amount=-1 +kerning first=80 second=103 amount=-1 +kerning first=80 second=116 amount=1 +kerning first=80 second=119 amount=1 +kerning first=80 second=118 amount=1 +kerning first=80 second=122 amount=-1 +kerning first=80 second=111 amount=-1 +kerning first=80 second=99 amount=-1 +kerning first=80 second=101 amount=-1 +kerning first=80 second=115 amount=-1 +kerning first=80 second=58 amount=-1 +kerning first=80 second=34 amount=2 +kerning first=80 second=39 amount=2 +kerning first=80 second=44 amount=-4 +kerning first=80 second=46 amount=-4 +kerning first=80 second=45 amount=-2 +kerning first=104 second=106 amount=1 +kerning first=104 second=52 amount=1 +kerning first=104 second=102 amount=1 +kerning first=104 second=63 amount=-1 +kerning first=104 second=49 amount=-3 +kerning first=104 second=40 amount=1 +kerning first=104 second=108 amount=1 +kerning first=104 second=64 amount=1 +kerning first=104 second=92 amount=-3 +kerning first=104 second=107 amount=1 +kerning first=104 second=105 amount=1 +kerning first=104 second=33 amount=1 +kerning first=104 second=121 amount=1 +kerning first=104 second=98 amount=1 +kerning first=104 second=100 amount=1 +kerning first=104 second=112 amount=1 +kerning first=104 second=113 amount=1 +kerning first=104 second=103 amount=1 +kerning first=104 second=116 amount=1 +kerning first=104 second=59 amount=1 +kerning first=104 second=119 amount=1 +kerning first=104 second=109 amount=1 +kerning first=104 second=118 amount=1 +kerning first=104 second=122 amount=1 +kerning first=104 second=97 amount=1 +kerning first=104 second=110 amount=1 +kerning first=104 second=111 amount=1 +kerning first=104 second=114 amount=1 +kerning first=104 second=120 amount=1 +kerning first=104 second=99 amount=1 +kerning first=104 second=101 amount=1 +kerning first=104 second=115 amount=1 +kerning first=104 second=117 amount=1 +kerning first=104 second=58 amount=1 +kerning first=104 second=35 amount=1 +kerning first=104 second=34 amount=-2 +kerning first=104 second=39 amount=-2 +kerning first=104 second=46 amount=1 +kerning first=104 second=45 amount=1 +kerning first=54 second=106 amount=-1 +kerning first=54 second=87 amount=-1 +kerning first=54 second=81 amount=-1 +kerning first=54 second=72 amount=-1 +kerning first=54 second=77 amount=-1 +kerning first=54 second=88 amount=-2 +kerning first=54 second=89 amount=-2 +kerning first=54 second=90 amount=-1 +kerning first=54 second=65 amount=-2 +kerning first=54 second=75 amount=-1 +kerning first=54 second=78 amount=-1 +kerning first=54 second=86 amount=-1 +kerning first=54 second=79 amount=-1 +kerning first=54 second=83 amount=-1 +kerning first=54 second=66 amount=-1 +kerning first=54 second=68 amount=-1 +kerning first=54 second=80 amount=-1 +kerning first=54 second=104 amount=-1 +kerning first=54 second=74 amount=-1 +kerning first=54 second=76 amount=-1 +kerning first=54 second=102 amount=-1 +kerning first=54 second=69 amount=-1 +kerning first=54 second=70 amount=-1 +kerning first=54 second=93 amount=-1 +kerning first=54 second=40 amount=-1 +kerning first=54 second=41 amount=-1 +kerning first=54 second=64 amount=-1 +kerning first=54 second=82 amount=-1 +kerning first=54 second=47 amount=-2 +kerning first=54 second=92 amount=-2 +kerning first=54 second=73 amount=-1 +kerning first=54 second=121 amount=-1 +kerning first=54 second=98 amount=-1 +kerning first=54 second=100 amount=-1 +kerning first=54 second=112 amount=-1 +kerning first=54 second=113 amount=-1 +kerning first=54 second=59 amount=-1 +kerning first=54 second=109 amount=-1 +kerning first=54 second=118 amount=-1 +kerning first=54 second=122 amount=-2 +kerning first=54 second=97 amount=-1 +kerning first=54 second=110 amount=-1 +kerning first=54 second=114 amount=-1 +kerning first=54 second=120 amount=-1 +kerning first=54 second=101 amount=-1 +kerning first=54 second=115 amount=-1 +kerning first=54 second=58 amount=-2 +kerning first=54 second=35 amount=-1 +kerning first=54 second=44 amount=-2 +kerning first=54 second=46 amount=-1 +kerning first=54 second=45 amount=-1 +kerning first=57 second=87 amount=-1 +kerning first=57 second=81 amount=-1 +kerning first=57 second=77 amount=-1 +kerning first=57 second=88 amount=-2 +kerning first=57 second=89 amount=-2 +kerning first=57 second=90 amount=-1 +kerning first=57 second=65 amount=-2 +kerning first=57 second=75 amount=-1 +kerning first=57 second=78 amount=-1 +kerning first=57 second=86 amount=-2 +kerning first=57 second=79 amount=-1 +kerning first=57 second=83 amount=-1 +kerning first=57 second=84 amount=-1 +kerning first=57 second=85 amount=-1 +kerning first=57 second=66 amount=-1 +kerning first=57 second=68 amount=-1 +kerning first=57 second=80 amount=-1 +kerning first=57 second=104 amount=-1 +kerning first=57 second=74 amount=-1 +kerning first=57 second=76 amount=-1 +kerning first=57 second=63 amount=-1 +kerning first=57 second=69 amount=-1 +kerning first=57 second=70 amount=-1 +kerning first=57 second=93 amount=-2 +kerning first=57 second=41 amount=-2 +kerning first=57 second=64 amount=-1 +kerning first=57 second=82 amount=-1 +kerning first=57 second=47 amount=-2 +kerning first=57 second=92 amount=-2 +kerning first=57 second=73 amount=-1 +kerning first=57 second=98 amount=-1 +kerning first=57 second=100 amount=-1 +kerning first=57 second=116 amount=1 +kerning first=57 second=59 amount=-1 +kerning first=57 second=119 amount=1 +kerning first=57 second=109 amount=-1 +kerning first=57 second=118 amount=1 +kerning first=57 second=122 amount=-1 +kerning first=57 second=101 amount=-1 +kerning first=57 second=115 amount=-1 +kerning first=57 second=58 amount=-1 +kerning first=57 second=34 amount=-1 +kerning first=57 second=44 amount=-3 +kerning first=57 second=46 amount=-2 +kerning first=48 second=87 amount=-1 +kerning first=48 second=77 amount=-1 +kerning first=48 second=88 amount=-1 +kerning first=48 second=89 amount=-2 +kerning first=48 second=90 amount=-1 +kerning first=48 second=65 amount=-2 +kerning first=48 second=75 amount=-1 +kerning first=48 second=78 amount=-1 +kerning first=48 second=86 amount=-1 +kerning first=48 second=84 amount=-1 +kerning first=48 second=85 amount=-1 +kerning first=48 second=66 amount=-1 +kerning first=48 second=68 amount=-1 +kerning first=48 second=80 amount=-1 +kerning first=48 second=104 amount=-1 +kerning first=48 second=74 amount=-1 +kerning first=48 second=76 amount=-1 +kerning first=48 second=63 amount=-1 +kerning first=48 second=69 amount=-1 +kerning first=48 second=70 amount=-1 +kerning first=48 second=93 amount=-2 +kerning first=48 second=41 amount=-1 +kerning first=48 second=64 amount=-1 +kerning first=48 second=82 amount=-1 +kerning first=48 second=47 amount=-1 +kerning first=48 second=92 amount=-2 +kerning first=48 second=73 amount=-1 +kerning first=48 second=116 amount=1 +kerning first=48 second=119 amount=1 +kerning first=48 second=109 amount=-1 +kerning first=48 second=118 amount=1 +kerning first=48 second=122 amount=-1 +kerning first=48 second=115 amount=-1 +kerning first=48 second=58 amount=-1 +kerning first=48 second=34 amount=-1 +kerning first=48 second=39 amount=-1 +kerning first=48 second=44 amount=-2 +kerning first=48 second=46 amount=-1 +kerning first=74 second=106 amount=1 +kerning first=74 second=87 amount=1 +kerning first=74 second=72 amount=1 +kerning first=74 second=77 amount=1 +kerning first=74 second=88 amount=1 +kerning first=74 second=89 amount=1 +kerning first=74 second=75 amount=1 +kerning first=74 second=78 amount=1 +kerning first=74 second=86 amount=1 +kerning first=74 second=71 amount=1 +kerning first=74 second=84 amount=1 +kerning first=74 second=85 amount=1 +kerning first=74 second=51 amount=-1 +kerning first=74 second=66 amount=1 +kerning first=74 second=67 amount=1 +kerning first=74 second=68 amount=1 +kerning first=74 second=80 amount=1 +kerning first=74 second=104 amount=1 +kerning first=74 second=54 amount=-1 +kerning first=74 second=57 amount=-1 +kerning first=74 second=76 amount=1 +kerning first=74 second=102 amount=1 +kerning first=74 second=56 amount=-1 +kerning first=74 second=63 amount=1 +kerning first=74 second=69 amount=1 +kerning first=74 second=93 amount=1 +kerning first=74 second=49 amount=-2 +kerning first=74 second=41 amount=1 +kerning first=74 second=108 amount=1 +kerning first=74 second=82 amount=1 +kerning first=74 second=92 amount=1 +kerning first=74 second=107 amount=1 +kerning first=74 second=73 amount=1 +kerning first=74 second=105 amount=1 +kerning first=74 second=33 amount=1 +kerning first=74 second=121 amount=1 +kerning first=74 second=98 amount=1 +kerning first=74 second=116 amount=1 +kerning first=74 second=119 amount=1 +kerning first=74 second=118 amount=1 +kerning first=74 second=97 amount=1 +kerning first=74 second=111 amount=1 +kerning first=74 second=114 amount=1 +kerning first=74 second=120 amount=1 +kerning first=74 second=115 amount=1 +kerning first=74 second=34 amount=1 +kerning first=74 second=39 amount=1 +kerning first=76 second=106 amount=1 +kerning first=76 second=87 amount=-2 +kerning first=76 second=88 amount=1 +kerning first=76 second=89 amount=-3 +kerning first=76 second=90 amount=1 +kerning first=76 second=52 amount=-1 +kerning first=76 second=86 amount=-2 +kerning first=76 second=53 amount=1 +kerning first=76 second=83 amount=1 +kerning first=76 second=84 amount=-2 +kerning first=76 second=67 amount=1 +kerning first=76 second=104 amount=1 +kerning first=76 second=54 amount=-1 +kerning first=76 second=102 amount=-1 +kerning first=76 second=63 amount=-2 +kerning first=76 second=49 amount=-3 +kerning first=76 second=41 amount=1 +kerning first=76 second=108 amount=1 +kerning first=76 second=47 amount=1 +kerning first=76 second=92 amount=-4 +kerning first=76 second=107 amount=1 +kerning first=76 second=105 amount=1 +kerning first=76 second=33 amount=1 +kerning first=76 second=121 amount=-1 +kerning first=76 second=98 amount=1 +kerning first=76 second=100 amount=1 +kerning first=76 second=112 amount=1 +kerning first=76 second=113 amount=1 +kerning first=76 second=103 amount=1 +kerning first=76 second=116 amount=-1 +kerning first=76 second=59 amount=1 +kerning first=76 second=122 amount=1 +kerning first=76 second=97 amount=1 +kerning first=76 second=110 amount=1 +kerning first=76 second=111 amount=1 +kerning first=76 second=114 amount=1 +kerning first=76 second=120 amount=1 +kerning first=76 second=99 amount=1 +kerning first=76 second=101 amount=1 +kerning first=76 second=115 amount=1 +kerning first=76 second=117 amount=1 +kerning first=76 second=58 amount=1 +kerning first=76 second=35 amount=-4 +kerning first=76 second=34 amount=-3 +kerning first=76 second=39 amount=-3 +kerning first=76 second=44 amount=1 +kerning first=76 second=46 amount=1 +kerning first=76 second=45 amount=-4 +kerning first=102 second=106 amount=2 +kerning first=102 second=53 amount=1 +kerning first=102 second=55 amount=-1 +kerning first=102 second=104 amount=1 +kerning first=102 second=54 amount=1 +kerning first=102 second=57 amount=1 +kerning first=102 second=48 amount=1 +kerning first=102 second=102 amount=2 +kerning first=102 second=93 amount=1 +kerning first=102 second=49 amount=-2 +kerning first=102 second=40 amount=2 +kerning first=102 second=41 amount=1 +kerning first=102 second=108 amount=2 +kerning first=102 second=50 amount=-1 +kerning first=102 second=47 amount=-1 +kerning first=102 second=92 amount=1 +kerning first=102 second=107 amount=2 +kerning first=102 second=105 amount=2 +kerning first=102 second=33 amount=2 +kerning first=102 second=121 amount=2 +kerning first=102 second=98 amount=1 +kerning first=102 second=100 amount=1 +kerning first=102 second=112 amount=2 +kerning first=102 second=113 amount=1 +kerning first=102 second=103 amount=1 +kerning first=102 second=116 amount=2 +kerning first=102 second=59 amount=1 +kerning first=102 second=119 amount=3 +kerning first=102 second=109 amount=1 +kerning first=102 second=118 amount=3 +kerning first=102 second=122 amount=1 +kerning first=102 second=97 amount=2 +kerning first=102 second=110 amount=2 +kerning first=102 second=111 amount=1 +kerning first=102 second=114 amount=2 +kerning first=102 second=120 amount=2 +kerning first=102 second=99 amount=1 +kerning first=102 second=101 amount=1 +kerning first=102 second=115 amount=1 +kerning first=102 second=117 amount=2 +kerning first=102 second=58 amount=1 +kerning first=102 second=35 amount=2 +kerning first=102 second=34 amount=2 +kerning first=102 second=39 amount=2 +kerning first=102 second=46 amount=-1 +kerning first=102 second=45 amount=-2 +kerning first=56 second=106 amount=-1 +kerning first=56 second=87 amount=-1 +kerning first=56 second=81 amount=-1 +kerning first=56 second=72 amount=-2 +kerning first=56 second=77 amount=-2 +kerning first=56 second=88 amount=-1 +kerning first=56 second=89 amount=-2 +kerning first=56 second=90 amount=-1 +kerning first=56 second=65 amount=-2 +kerning first=56 second=75 amount=-1 +kerning first=56 second=78 amount=-2 +kerning first=56 second=86 amount=-1 +kerning first=56 second=71 amount=-1 +kerning first=56 second=79 amount=-1 +kerning first=56 second=83 amount=-1 +kerning first=56 second=84 amount=-1 +kerning first=56 second=85 amount=-1 +kerning first=56 second=66 amount=-1 +kerning first=56 second=67 amount=-1 +kerning first=56 second=68 amount=-2 +kerning first=56 second=80 amount=-1 +kerning first=56 second=104 amount=-1 +kerning first=56 second=74 amount=-1 +kerning first=56 second=76 amount=-2 +kerning first=56 second=102 amount=-2 +kerning first=56 second=63 amount=-1 +kerning first=56 second=69 amount=-1 +kerning first=56 second=70 amount=-2 +kerning first=56 second=93 amount=-1 +kerning first=56 second=40 amount=-1 +kerning first=56 second=41 amount=-2 +kerning first=56 second=108 amount=-1 +kerning first=56 second=64 amount=-1 +kerning first=56 second=82 amount=-1 +kerning first=56 second=47 amount=-2 +kerning first=56 second=92 amount=-1 +kerning first=56 second=107 amount=-1 +kerning first=56 second=73 amount=-1 +kerning first=56 second=105 amount=-1 +kerning first=56 second=33 amount=-1 +kerning first=56 second=121 amount=-1 +kerning first=56 second=98 amount=-1 +kerning first=56 second=100 amount=-1 +kerning first=56 second=112 amount=-1 +kerning first=56 second=113 amount=-1 +kerning first=56 second=103 amount=-1 +kerning first=56 second=116 amount=-2 +kerning first=56 second=59 amount=-2 +kerning first=56 second=119 amount=-1 +kerning first=56 second=109 amount=-1 +kerning first=56 second=118 amount=-1 +kerning first=56 second=122 amount=-2 +kerning first=56 second=97 amount=-1 +kerning first=56 second=110 amount=-1 +kerning first=56 second=111 amount=-1 +kerning first=56 second=114 amount=-1 +kerning first=56 second=120 amount=-2 +kerning first=56 second=99 amount=-1 +kerning first=56 second=101 amount=-1 +kerning first=56 second=115 amount=-1 +kerning first=56 second=117 amount=-1 +kerning first=56 second=58 amount=-2 +kerning first=56 second=35 amount=-2 +kerning first=56 second=34 amount=-1 +kerning first=56 second=39 amount=-1 +kerning first=56 second=44 amount=-3 +kerning first=56 second=46 amount=-2 +kerning first=56 second=45 amount=-1 +kerning first=63 second=87 amount=1 +kerning first=63 second=88 amount=1 +kerning first=63 second=90 amount=-1 +kerning first=63 second=65 amount=-2 +kerning first=63 second=75 amount=1 +kerning first=63 second=52 amount=-2 +kerning first=63 second=86 amount=1 +kerning first=63 second=53 amount=-1 +kerning first=63 second=84 amount=1 +kerning first=63 second=85 amount=1 +kerning first=63 second=51 amount=-1 +kerning first=63 second=66 amount=1 +kerning first=63 second=80 amount=1 +kerning first=63 second=54 amount=-1 +kerning first=63 second=57 amount=-1 +kerning first=63 second=48 amount=-1 +kerning first=63 second=74 amount=-2 +kerning first=63 second=102 amount=-1 +kerning first=63 second=56 amount=-1 +kerning first=63 second=63 amount=1 +kerning first=63 second=49 amount=-2 +kerning first=63 second=108 amount=1 +kerning first=63 second=64 amount=-3 +kerning first=63 second=82 amount=1 +kerning first=63 second=50 amount=-1 +kerning first=63 second=47 amount=-2 +kerning first=63 second=107 amount=1 +kerning first=63 second=73 amount=1 +kerning first=63 second=105 amount=1 +kerning first=63 second=33 amount=1 +kerning first=63 second=98 amount=1 +kerning first=63 second=100 amount=-2 +kerning first=63 second=113 amount=-1 +kerning first=63 second=103 amount=-1 +kerning first=63 second=59 amount=-1 +kerning first=63 second=119 amount=1 +kerning first=63 second=118 amount=1 +kerning first=63 second=122 amount=-1 +kerning first=63 second=97 amount=-1 +kerning first=63 second=111 amount=-1 +kerning first=63 second=99 amount=-2 +kerning first=63 second=101 amount=-2 +kerning first=63 second=115 amount=-2 +kerning first=63 second=58 amount=-1 +kerning first=63 second=35 amount=-1 +kerning first=63 second=34 amount=1 +kerning first=63 second=39 amount=1 +kerning first=63 second=44 amount=-1 +kerning first=63 second=46 amount=-1 +kerning first=63 second=45 amount=-2 +kerning first=69 second=87 amount=1 +kerning first=69 second=81 amount=-1 +kerning first=69 second=88 amount=1 +kerning first=69 second=90 amount=1 +kerning first=69 second=75 amount=1 +kerning first=69 second=52 amount=-1 +kerning first=69 second=86 amount=1 +kerning first=69 second=85 amount=1 +kerning first=69 second=51 amount=-1 +kerning first=69 second=66 amount=1 +kerning first=69 second=80 amount=1 +kerning first=69 second=54 amount=-1 +kerning first=69 second=57 amount=-1 +kerning first=69 second=48 amount=-1 +kerning first=69 second=74 amount=-1 +kerning first=69 second=76 amount=1 +kerning first=69 second=102 amount=-1 +kerning first=69 second=56 amount=-1 +kerning first=69 second=63 amount=-1 +kerning first=69 second=93 amount=1 +kerning first=69 second=49 amount=-2 +kerning first=69 second=41 amount=1 +kerning first=69 second=108 amount=1 +kerning first=69 second=64 amount=-1 +kerning first=69 second=82 amount=1 +kerning first=69 second=92 amount=1 +kerning first=69 second=107 amount=1 +kerning first=69 second=73 amount=1 +kerning first=69 second=105 amount=1 +kerning first=69 second=33 amount=1 +kerning first=69 second=121 amount=-1 +kerning first=69 second=98 amount=1 +kerning first=69 second=118 amount=-1 +kerning first=69 second=97 amount=1 +kerning first=69 second=120 amount=1 +kerning first=69 second=35 amount=-1 +kerning first=69 second=34 amount=1 +kerning first=69 second=39 amount=1 +kerning first=69 second=46 amount=1 +kerning first=70 second=87 amount=1 +kerning first=70 second=88 amount=1 +kerning first=70 second=90 amount=-1 +kerning first=70 second=65 amount=-2 +kerning first=70 second=75 amount=1 +kerning first=70 second=86 amount=1 +kerning first=70 second=53 amount=-1 +kerning first=70 second=83 amount=-1 +kerning first=70 second=85 amount=1 +kerning first=70 second=51 amount=-2 +kerning first=70 second=66 amount=1 +kerning first=70 second=80 amount=1 +kerning first=70 second=54 amount=-1 +kerning first=70 second=57 amount=-1 +kerning first=70 second=48 amount=-1 +kerning first=70 second=74 amount=-2 +kerning first=70 second=76 amount=1 +kerning first=70 second=56 amount=-1 +kerning first=70 second=63 amount=-1 +kerning first=70 second=93 amount=1 +kerning first=70 second=49 amount=-2 +kerning first=70 second=41 amount=1 +kerning first=70 second=108 amount=1 +kerning first=70 second=64 amount=-1 +kerning first=70 second=82 amount=1 +kerning first=70 second=50 amount=-3 +kerning first=70 second=47 amount=-3 +kerning first=70 second=92 amount=1 +kerning first=70 second=107 amount=1 +kerning first=70 second=73 amount=1 +kerning first=70 second=105 amount=1 +kerning first=70 second=33 amount=1 +kerning first=70 second=98 amount=1 +kerning first=70 second=59 amount=-1 +kerning first=70 second=109 amount=-1 +kerning first=70 second=122 amount=-2 +kerning first=70 second=120 amount=-1 +kerning first=70 second=58 amount=-1 +kerning first=70 second=34 amount=1 +kerning first=70 second=39 amount=1 +kerning first=70 second=44 amount=-3 +kerning first=70 second=46 amount=-3 +kerning first=93 second=106 amount=1 +kerning first=93 second=88 amount=1 +kerning first=93 second=90 amount=1 +kerning first=93 second=65 amount=1 +kerning first=93 second=75 amount=1 +kerning first=93 second=78 amount=1 +kerning first=93 second=86 amount=1 +kerning first=93 second=83 amount=1 +kerning first=93 second=55 amount=1 +kerning first=93 second=66 amount=1 +kerning first=93 second=67 amount=1 +kerning first=93 second=80 amount=1 +kerning first=93 second=104 amount=1 +kerning first=93 second=54 amount=-1 +kerning first=93 second=56 amount=-1 +kerning first=93 second=69 amount=1 +kerning first=93 second=70 amount=1 +kerning first=93 second=49 amount=-3 +kerning first=93 second=41 amount=1 +kerning first=93 second=108 amount=1 +kerning first=93 second=82 amount=1 +kerning first=93 second=50 amount=1 +kerning first=93 second=47 amount=1 +kerning first=93 second=107 amount=1 +kerning first=93 second=73 amount=1 +kerning first=93 second=105 amount=1 +kerning first=93 second=33 amount=1 +kerning first=93 second=121 amount=1 +kerning first=93 second=98 amount=1 +kerning first=93 second=112 amount=1 +kerning first=93 second=103 amount=1 +kerning first=93 second=116 amount=1 +kerning first=93 second=59 amount=1 +kerning first=93 second=119 amount=1 +kerning first=93 second=118 amount=1 +kerning first=93 second=122 amount=1 +kerning first=93 second=97 amount=1 +kerning first=93 second=110 amount=1 +kerning first=93 second=111 amount=1 +kerning first=93 second=114 amount=1 +kerning first=93 second=120 amount=2 +kerning first=93 second=99 amount=1 +kerning first=93 second=115 amount=1 +kerning first=93 second=117 amount=1 +kerning first=93 second=58 amount=1 +kerning first=93 second=34 amount=1 +kerning first=93 second=39 amount=1 +kerning first=93 second=44 amount=1 +kerning first=93 second=46 amount=1 +kerning first=123 second=32 amount=1 +kerning first=125 second=112 amount=1 +kerning first=125 second=109 amount=1 +kerning first=125 second=110 amount=1 +kerning first=125 second=111 amount=1 +kerning first=49 second=106 amount=-3 +kerning first=49 second=87 amount=-3 +kerning first=49 second=81 amount=-4 +kerning first=49 second=72 amount=-4 +kerning first=49 second=77 amount=-4 +kerning first=49 second=88 amount=-3 +kerning first=49 second=89 amount=-4 +kerning first=49 second=90 amount=-3 +kerning first=49 second=65 amount=-3 +kerning first=49 second=75 amount=-3 +kerning first=49 second=78 amount=-3 +kerning first=49 second=86 amount=-3 +kerning first=49 second=71 amount=-4 +kerning first=49 second=79 amount=-4 +kerning first=49 second=83 amount=-3 +kerning first=49 second=84 amount=-4 +kerning first=49 second=85 amount=-4 +kerning first=49 second=66 amount=-3 +kerning first=49 second=67 amount=-4 +kerning first=49 second=68 amount=-4 +kerning first=49 second=80 amount=-3 +kerning first=49 second=104 amount=-3 +kerning first=49 second=74 amount=-4 +kerning first=49 second=76 amount=-3 +kerning first=49 second=102 amount=-4 +kerning first=49 second=63 amount=-4 +kerning first=49 second=69 amount=-3 +kerning first=49 second=70 amount=-3 +kerning first=49 second=93 amount=-4 +kerning first=49 second=40 amount=-4 +kerning first=49 second=41 amount=-3 +kerning first=49 second=108 amount=-3 +kerning first=49 second=64 amount=-4 +kerning first=49 second=82 amount=-3 +kerning first=49 second=47 amount=-3 +kerning first=49 second=92 amount=-4 +kerning first=49 second=107 amount=-3 +kerning first=49 second=73 amount=-3 +kerning first=49 second=105 amount=-3 +kerning first=49 second=33 amount=-3 +kerning first=49 second=121 amount=-3 +kerning first=49 second=98 amount=-3 +kerning first=49 second=100 amount=-4 +kerning first=49 second=112 amount=-3 +kerning first=49 second=113 amount=-4 +kerning first=49 second=103 amount=-3 +kerning first=49 second=116 amount=-3 +kerning first=49 second=59 amount=-3 +kerning first=49 second=119 amount=-3 +kerning first=49 second=109 amount=-4 +kerning first=49 second=118 amount=-3 +kerning first=49 second=122 amount=-3 +kerning first=49 second=97 amount=-3 +kerning first=49 second=110 amount=-3 +kerning first=49 second=111 amount=-3 +kerning first=49 second=114 amount=-3 +kerning first=49 second=120 amount=-2 +kerning first=49 second=99 amount=-3 +kerning first=49 second=101 amount=-4 +kerning first=49 second=115 amount=-3 +kerning first=49 second=117 amount=-3 +kerning first=49 second=58 amount=-3 +kerning first=49 second=35 amount=-4 +kerning first=49 second=34 amount=-3 +kerning first=49 second=39 amount=-3 +kerning first=49 second=44 amount=-3 +kerning first=49 second=46 amount=-3 +kerning first=49 second=45 amount=-4 +kerning first=40 second=106 amount=1 +kerning first=40 second=87 amount=1 +kerning first=40 second=81 amount=-1 +kerning first=40 second=88 amount=1 +kerning first=40 second=89 amount=1 +kerning first=40 second=90 amount=1 +kerning first=40 second=65 amount=1 +kerning first=40 second=75 amount=1 +kerning first=40 second=52 amount=-1 +kerning first=40 second=78 amount=1 +kerning first=40 second=86 amount=1 +kerning first=40 second=85 amount=1 +kerning first=40 second=51 amount=-1 +kerning first=40 second=66 amount=1 +kerning first=40 second=68 amount=1 +kerning first=40 second=80 amount=1 +kerning first=40 second=104 amount=1 +kerning first=40 second=54 amount=-2 +kerning first=40 second=57 amount=-1 +kerning first=40 second=48 amount=-1 +kerning first=40 second=74 amount=-1 +kerning first=40 second=76 amount=1 +kerning first=40 second=56 amount=-1 +kerning first=40 second=69 amount=1 +kerning first=40 second=93 amount=1 +kerning first=40 second=49 amount=-2 +kerning first=40 second=41 amount=1 +kerning first=40 second=108 amount=1 +kerning first=40 second=64 amount=-1 +kerning first=40 second=82 amount=1 +kerning first=40 second=47 amount=1 +kerning first=40 second=92 amount=1 +kerning first=40 second=107 amount=1 +kerning first=40 second=73 amount=1 +kerning first=40 second=105 amount=1 +kerning first=40 second=33 amount=1 +kerning first=40 second=98 amount=1 +kerning first=40 second=112 amount=1 +kerning first=40 second=59 amount=1 +kerning first=40 second=122 amount=1 +kerning first=40 second=97 amount=1 +kerning first=40 second=110 amount=1 +kerning first=40 second=114 amount=1 +kerning first=40 second=120 amount=1 +kerning first=40 second=58 amount=1 +kerning first=40 second=35 amount=-1 +kerning first=40 second=34 amount=1 +kerning first=40 second=39 amount=1 +kerning first=40 second=44 amount=1 +kerning first=40 second=46 amount=1 +kerning first=40 second=45 amount=-1 +kerning first=41 second=106 amount=1 +kerning first=41 second=81 amount=1 +kerning first=41 second=72 amount=1 +kerning first=41 second=52 amount=1 +kerning first=41 second=71 amount=1 +kerning first=41 second=79 amount=1 +kerning first=41 second=83 amount=1 +kerning first=41 second=85 amount=1 +kerning first=41 second=55 amount=-1 +kerning first=41 second=66 amount=1 +kerning first=41 second=67 amount=1 +kerning first=41 second=80 amount=1 +kerning first=41 second=104 amount=1 +kerning first=41 second=74 amount=1 +kerning first=41 second=102 amount=1 +kerning first=41 second=56 amount=-1 +kerning first=41 second=63 amount=1 +kerning first=41 second=69 amount=1 +kerning first=41 second=49 amount=-2 +kerning first=41 second=40 amount=1 +kerning first=41 second=108 amount=1 +kerning first=41 second=50 amount=-1 +kerning first=41 second=107 amount=1 +kerning first=41 second=73 amount=1 +kerning first=41 second=105 amount=1 +kerning first=41 second=33 amount=1 +kerning first=41 second=121 amount=1 +kerning first=41 second=98 amount=1 +kerning first=41 second=100 amount=1 +kerning first=41 second=112 amount=1 +kerning first=41 second=113 amount=1 +kerning first=41 second=103 amount=1 +kerning first=41 second=116 amount=2 +kerning first=41 second=59 amount=1 +kerning first=41 second=119 amount=2 +kerning first=41 second=109 amount=1 +kerning first=41 second=118 amount=2 +kerning first=41 second=97 amount=1 +kerning first=41 second=110 amount=1 +kerning first=41 second=111 amount=1 +kerning first=41 second=114 amount=1 +kerning first=41 second=120 amount=1 +kerning first=41 second=99 amount=1 +kerning first=41 second=101 amount=1 +kerning first=41 second=115 amount=1 +kerning first=41 second=117 amount=1 +kerning first=41 second=35 amount=1 +kerning first=41 second=34 amount=1 +kerning first=41 second=39 amount=1 +kerning first=41 second=44 amount=-1 +kerning first=41 second=45 amount=1 +kerning first=108 second=106 amount=1 +kerning first=108 second=104 amount=1 +kerning first=108 second=102 amount=1 +kerning first=108 second=63 amount=1 +kerning first=108 second=93 amount=1 +kerning first=108 second=49 amount=-2 +kerning first=108 second=40 amount=1 +kerning first=108 second=41 amount=1 +kerning first=108 second=108 amount=1 +kerning first=108 second=50 amount=1 +kerning first=108 second=47 amount=1 +kerning first=108 second=92 amount=1 +kerning first=108 second=107 amount=1 +kerning first=108 second=105 amount=1 +kerning first=108 second=33 amount=1 +kerning first=108 second=121 amount=1 +kerning first=108 second=98 amount=1 +kerning first=108 second=100 amount=1 +kerning first=108 second=112 amount=1 +kerning first=108 second=113 amount=1 +kerning first=108 second=103 amount=1 +kerning first=108 second=116 amount=2 +kerning first=108 second=59 amount=2 +kerning first=108 second=119 amount=2 +kerning first=108 second=118 amount=2 +kerning first=108 second=122 amount=1 +kerning first=108 second=97 amount=1 +kerning first=108 second=110 amount=1 +kerning first=108 second=111 amount=1 +kerning first=108 second=114 amount=1 +kerning first=108 second=120 amount=1 +kerning first=108 second=99 amount=1 +kerning first=108 second=101 amount=1 +kerning first=108 second=115 amount=1 +kerning first=108 second=117 amount=1 +kerning first=108 second=58 amount=1 +kerning first=108 second=35 amount=1 +kerning first=108 second=34 amount=1 +kerning first=108 second=39 amount=1 +kerning first=108 second=44 amount=1 +kerning first=108 second=46 amount=1 +kerning first=108 second=45 amount=1 +kerning first=64 second=106 amount=1 +kerning first=64 second=87 amount=-1 +kerning first=64 second=81 amount=1 +kerning first=64 second=72 amount=1 +kerning first=64 second=88 amount=-2 +kerning first=64 second=89 amount=-2 +kerning first=64 second=90 amount=-1 +kerning first=64 second=65 amount=-1 +kerning first=64 second=52 amount=1 +kerning first=64 second=86 amount=-1 +kerning first=64 second=71 amount=1 +kerning first=64 second=79 amount=1 +kerning first=64 second=84 amount=-2 +kerning first=64 second=51 amount=-2 +kerning first=64 second=55 amount=-2 +kerning first=64 second=67 amount=1 +kerning first=64 second=57 amount=-1 +kerning first=64 second=74 amount=1 +kerning first=64 second=102 amount=1 +kerning first=64 second=56 amount=-1 +kerning first=64 second=63 amount=-1 +kerning first=64 second=93 amount=-3 +kerning first=64 second=49 amount=-4 +kerning first=64 second=40 amount=1 +kerning first=64 second=41 amount=-1 +kerning first=64 second=108 amount=1 +kerning first=64 second=50 amount=-3 +kerning first=64 second=47 amount=-1 +kerning first=64 second=92 amount=-3 +kerning first=64 second=107 amount=1 +kerning first=64 second=105 amount=1 +kerning first=64 second=33 amount=1 +kerning first=64 second=121 amount=1 +kerning first=64 second=100 amount=1 +kerning first=64 second=113 amount=1 +kerning first=64 second=103 amount=1 +kerning first=64 second=116 amount=1 +kerning first=64 second=119 amount=1 +kerning first=64 second=118 amount=1 +kerning first=64 second=122 amount=-1 +kerning first=64 second=97 amount=1 +kerning first=64 second=110 amount=1 +kerning first=64 second=111 amount=1 +kerning first=64 second=114 amount=1 +kerning first=64 second=99 amount=1 +kerning first=64 second=101 amount=1 +kerning first=64 second=117 amount=1 +kerning first=64 second=35 amount=1 +kerning first=64 second=34 amount=-2 +kerning first=64 second=39 amount=-2 +kerning first=64 second=44 amount=-3 +kerning first=64 second=46 amount=-2 +kerning first=64 second=45 amount=1 +kerning first=82 second=106 amount=1 +kerning first=82 second=72 amount=1 +kerning first=82 second=77 amount=1 +kerning first=82 second=88 amount=2 +kerning first=82 second=89 amount=-1 +kerning first=82 second=90 amount=2 +kerning first=82 second=65 amount=1 +kerning first=82 second=75 amount=1 +kerning first=82 second=52 amount=-3 +kerning first=82 second=78 amount=1 +kerning first=82 second=53 amount=1 +kerning first=82 second=55 amount=1 +kerning first=82 second=66 amount=1 +kerning first=82 second=67 amount=1 +kerning first=82 second=68 amount=1 +kerning first=82 second=80 amount=1 +kerning first=82 second=104 amount=1 +kerning first=82 second=54 amount=-1 +kerning first=82 second=57 amount=-1 +kerning first=82 second=74 amount=-1 +kerning first=82 second=76 amount=1 +kerning first=82 second=63 amount=-1 +kerning first=82 second=69 amount=1 +kerning first=82 second=70 amount=1 +kerning first=82 second=93 amount=1 +kerning first=82 second=49 amount=-2 +kerning first=82 second=40 amount=1 +kerning first=82 second=41 amount=1 +kerning first=82 second=108 amount=2 +kerning first=82 second=82 amount=1 +kerning first=82 second=50 amount=1 +kerning first=82 second=47 amount=1 +kerning first=82 second=107 amount=1 +kerning first=82 second=73 amount=1 +kerning first=82 second=105 amount=1 +kerning first=82 second=33 amount=1 +kerning first=82 second=121 amount=-1 +kerning first=82 second=98 amount=1 +kerning first=82 second=100 amount=1 +kerning first=82 second=112 amount=1 +kerning first=82 second=113 amount=1 +kerning first=82 second=103 amount=1 +kerning first=82 second=59 amount=1 +kerning first=82 second=122 amount=1 +kerning first=82 second=97 amount=2 +kerning first=82 second=110 amount=1 +kerning first=82 second=111 amount=1 +kerning first=82 second=114 amount=1 +kerning first=82 second=120 amount=2 +kerning first=82 second=99 amount=1 +kerning first=82 second=101 amount=1 +kerning first=82 second=115 amount=1 +kerning first=82 second=117 amount=1 +kerning first=82 second=58 amount=1 +kerning first=82 second=35 amount=-3 +kerning first=82 second=44 amount=2 +kerning first=82 second=46 amount=2 +kerning first=82 second=45 amount=-4 +kerning first=50 second=106 amount=1 +kerning first=50 second=81 amount=-1 +kerning first=50 second=88 amount=1 +kerning first=50 second=90 amount=1 +kerning first=50 second=74 amount=-1 +kerning first=50 second=41 amount=1 +kerning first=50 second=108 amount=1 +kerning first=50 second=47 amount=1 +kerning first=50 second=107 amount=1 +kerning first=50 second=105 amount=1 +kerning first=50 second=119 amount=1 +kerning first=50 second=118 amount=1 +kerning first=50 second=122 amount=1 +kerning first=50 second=97 amount=1 +kerning first=50 second=110 amount=1 +kerning first=50 second=120 amount=1 +kerning first=50 second=115 amount=1 +kerning first=50 second=35 amount=-1 +kerning first=50 second=34 amount=1 +kerning first=50 second=39 amount=1 +kerning first=50 second=46 amount=1 +kerning first=50 second=45 amount=-2 +kerning first=47 second=87 amount=1 +kerning first=47 second=81 amount=-2 +kerning first=47 second=88 amount=1 +kerning first=47 second=90 amount=-1 +kerning first=47 second=65 amount=-4 +kerning first=47 second=75 amount=1 +kerning first=47 second=52 amount=-4 +kerning first=47 second=86 amount=1 +kerning first=47 second=53 amount=-1 +kerning first=47 second=71 amount=-1 +kerning first=47 second=79 amount=-1 +kerning first=47 second=83 amount=-1 +kerning first=47 second=51 amount=-2 +kerning first=47 second=55 amount=-1 +kerning first=47 second=66 amount=1 +kerning first=47 second=67 amount=-1 +kerning first=47 second=54 amount=-2 +kerning first=47 second=57 amount=-2 +kerning first=47 second=48 amount=-2 +kerning first=47 second=74 amount=-4 +kerning first=47 second=102 amount=-2 +kerning first=47 second=56 amount=-2 +kerning first=47 second=63 amount=-1 +kerning first=47 second=49 amount=-2 +kerning first=47 second=40 amount=-1 +kerning first=47 second=64 amount=-5 +kerning first=47 second=50 amount=-3 +kerning first=47 second=47 amount=-6 +kerning first=47 second=121 amount=-2 +kerning first=47 second=100 amount=-3 +kerning first=47 second=112 amount=-2 +kerning first=47 second=113 amount=-3 +kerning first=47 second=103 amount=-3 +kerning first=47 second=116 amount=-2 +kerning first=47 second=59 amount=-3 +kerning first=47 second=119 amount=-1 +kerning first=47 second=109 amount=-2 +kerning first=47 second=118 amount=-1 +kerning first=47 second=122 amount=-3 +kerning first=47 second=97 amount=-3 +kerning first=47 second=110 amount=-2 +kerning first=47 second=111 amount=-3 +kerning first=47 second=114 amount=-2 +kerning first=47 second=120 amount=-2 +kerning first=47 second=99 amount=-4 +kerning first=47 second=101 amount=-4 +kerning first=47 second=115 amount=-4 +kerning first=47 second=117 amount=-2 +kerning first=47 second=58 amount=-3 +kerning first=47 second=35 amount=-2 +kerning first=47 second=34 amount=1 +kerning first=47 second=39 amount=1 +kerning first=47 second=44 amount=-4 +kerning first=47 second=46 amount=-5 +kerning first=47 second=45 amount=-4 +kerning first=92 second=87 amount=-3 +kerning first=92 second=81 amount=-1 +kerning first=92 second=88 amount=1 +kerning first=92 second=89 amount=-3 +kerning first=92 second=52 amount=-2 +kerning first=92 second=86 amount=-2 +kerning first=92 second=71 amount=-1 +kerning first=92 second=79 amount=-1 +kerning first=92 second=83 amount=-1 +kerning first=92 second=84 amount=-2 +kerning first=92 second=85 amount=-1 +kerning first=92 second=51 amount=-1 +kerning first=92 second=54 amount=-2 +kerning first=92 second=57 amount=-1 +kerning first=92 second=48 amount=-1 +kerning first=92 second=74 amount=-1 +kerning first=92 second=102 amount=-2 +kerning first=92 second=56 amount=-1 +kerning first=92 second=63 amount=-2 +kerning first=92 second=93 amount=-1 +kerning first=92 second=49 amount=-3 +kerning first=92 second=108 amount=1 +kerning first=92 second=64 amount=-1 +kerning first=92 second=92 amount=-4 +kerning first=92 second=121 amount=-2 +kerning first=92 second=116 amount=-1 +kerning first=92 second=59 amount=1 +kerning first=92 second=118 amount=-1 +kerning first=92 second=122 amount=1 +kerning first=92 second=97 amount=1 +kerning first=92 second=110 amount=1 +kerning first=92 second=114 amount=1 +kerning first=92 second=120 amount=1 +kerning first=92 second=115 amount=1 +kerning first=92 second=58 amount=1 +kerning first=92 second=35 amount=-3 +kerning first=92 second=34 amount=-6 +kerning first=92 second=39 amount=-4 +kerning first=92 second=44 amount=1 +kerning first=92 second=46 amount=1 +kerning first=92 second=45 amount=-2 +kerning first=107 second=106 amount=1 +kerning first=107 second=52 amount=-1 +kerning first=107 second=53 amount=1 +kerning first=107 second=55 amount=1 +kerning first=107 second=104 amount=1 +kerning first=107 second=102 amount=1 +kerning first=107 second=49 amount=-2 +kerning first=107 second=40 amount=1 +kerning first=107 second=41 amount=1 +kerning first=107 second=108 amount=1 +kerning first=107 second=50 amount=1 +kerning first=107 second=47 amount=1 +kerning first=107 second=92 amount=-2 +kerning first=107 second=107 amount=1 +kerning first=107 second=105 amount=1 +kerning first=107 second=33 amount=1 +kerning first=107 second=121 amount=2 +kerning first=107 second=98 amount=1 +kerning first=107 second=100 amount=1 +kerning first=107 second=112 amount=1 +kerning first=107 second=113 amount=1 +kerning first=107 second=103 amount=1 +kerning first=107 second=116 amount=1 +kerning first=107 second=59 amount=2 +kerning first=107 second=119 amount=2 +kerning first=107 second=109 amount=1 +kerning first=107 second=118 amount=2 +kerning first=107 second=122 amount=2 +kerning first=107 second=97 amount=2 +kerning first=107 second=110 amount=2 +kerning first=107 second=111 amount=1 +kerning first=107 second=114 amount=1 +kerning first=107 second=120 amount=2 +kerning first=107 second=99 amount=1 +kerning first=107 second=101 amount=1 +kerning first=107 second=115 amount=2 +kerning first=107 second=117 amount=1 +kerning first=107 second=58 amount=1 +kerning first=107 second=35 amount=1 +kerning first=107 second=34 amount=-1 +kerning first=107 second=39 amount=-1 +kerning first=107 second=44 amount=2 +kerning first=107 second=46 amount=2 +kerning first=107 second=45 amount=-2 +kerning first=73 second=106 amount=1 +kerning first=73 second=87 amount=1 +kerning first=73 second=72 amount=1 +kerning first=73 second=88 amount=1 +kerning first=73 second=90 amount=1 +kerning first=73 second=65 amount=1 +kerning first=73 second=75 amount=1 +kerning first=73 second=86 amount=1 +kerning first=73 second=71 amount=1 +kerning first=73 second=83 amount=1 +kerning first=73 second=85 amount=1 +kerning first=73 second=66 amount=1 +kerning first=73 second=67 amount=1 +kerning first=73 second=80 amount=1 +kerning first=73 second=54 amount=-1 +kerning first=73 second=76 amount=1 +kerning first=73 second=102 amount=1 +kerning first=73 second=56 amount=-1 +kerning first=73 second=93 amount=1 +kerning first=73 second=49 amount=-2 +kerning first=73 second=41 amount=1 +kerning first=73 second=108 amount=1 +kerning first=73 second=82 amount=1 +kerning first=73 second=47 amount=1 +kerning first=73 second=92 amount=1 +kerning first=73 second=107 amount=1 +kerning first=73 second=73 amount=1 +kerning first=73 second=105 amount=1 +kerning first=73 second=33 amount=1 +kerning first=73 second=121 amount=1 +kerning first=73 second=98 amount=1 +kerning first=73 second=112 amount=1 +kerning first=73 second=113 amount=1 +kerning first=73 second=103 amount=1 +kerning first=73 second=116 amount=1 +kerning first=73 second=59 amount=1 +kerning first=73 second=119 amount=1 +kerning first=73 second=118 amount=1 +kerning first=73 second=122 amount=1 +kerning first=73 second=97 amount=1 +kerning first=73 second=110 amount=1 +kerning first=73 second=111 amount=1 +kerning first=73 second=114 amount=1 +kerning first=73 second=120 amount=1 +kerning first=73 second=99 amount=1 +kerning first=73 second=115 amount=1 +kerning first=73 second=117 amount=1 +kerning first=73 second=58 amount=1 +kerning first=73 second=34 amount=1 +kerning first=73 second=39 amount=1 +kerning first=73 second=44 amount=1 +kerning first=73 second=46 amount=1 +kerning first=105 second=106 amount=1 +kerning first=105 second=104 amount=1 +kerning first=105 second=102 amount=1 +kerning first=105 second=63 amount=1 +kerning first=105 second=93 amount=1 +kerning first=105 second=49 amount=-2 +kerning first=105 second=40 amount=1 +kerning first=105 second=41 amount=1 +kerning first=105 second=108 amount=1 +kerning first=105 second=47 amount=1 +kerning first=105 second=92 amount=1 +kerning first=105 second=107 amount=1 +kerning first=105 second=105 amount=1 +kerning first=105 second=33 amount=1 +kerning first=105 second=121 amount=2 +kerning first=105 second=98 amount=1 +kerning first=105 second=100 amount=1 +kerning first=105 second=112 amount=1 +kerning first=105 second=113 amount=1 +kerning first=105 second=103 amount=1 +kerning first=105 second=116 amount=2 +kerning first=105 second=59 amount=2 +kerning first=105 second=119 amount=2 +kerning first=105 second=109 amount=1 +kerning first=105 second=118 amount=2 +kerning first=105 second=122 amount=1 +kerning first=105 second=97 amount=1 +kerning first=105 second=110 amount=1 +kerning first=105 second=111 amount=1 +kerning first=105 second=114 amount=1 +kerning first=105 second=120 amount=1 +kerning first=105 second=99 amount=1 +kerning first=105 second=115 amount=1 +kerning first=105 second=117 amount=1 +kerning first=105 second=58 amount=1 +kerning first=105 second=35 amount=1 +kerning first=105 second=34 amount=1 +kerning first=105 second=39 amount=1 +kerning first=105 second=44 amount=1 +kerning first=105 second=46 amount=1 +kerning first=33 second=106 amount=1 +kerning first=33 second=87 amount=1 +kerning first=33 second=81 amount=1 +kerning first=33 second=72 amount=1 +kerning first=33 second=88 amount=1 +kerning first=33 second=89 amount=1 +kerning first=33 second=90 amount=1 +kerning first=33 second=65 amount=1 +kerning first=33 second=75 amount=1 +kerning first=33 second=52 amount=1 +kerning first=33 second=78 amount=1 +kerning first=33 second=86 amount=1 +kerning first=33 second=53 amount=2 +kerning first=33 second=71 amount=1 +kerning first=33 second=79 amount=1 +kerning first=33 second=83 amount=1 +kerning first=33 second=84 amount=1 +kerning first=33 second=85 amount=1 +kerning first=33 second=66 amount=1 +kerning first=33 second=67 amount=1 +kerning first=33 second=68 amount=1 +kerning first=33 second=80 amount=1 +kerning first=33 second=104 amount=1 +kerning first=33 second=74 amount=1 +kerning first=33 second=76 amount=1 +kerning first=33 second=102 amount=1 +kerning first=33 second=63 amount=1 +kerning first=33 second=69 amount=1 +kerning first=33 second=93 amount=1 +kerning first=33 second=49 amount=-2 +kerning first=33 second=40 amount=1 +kerning first=33 second=41 amount=1 +kerning first=33 second=108 amount=1 +kerning first=33 second=82 amount=1 +kerning first=33 second=47 amount=1 +kerning first=33 second=92 amount=1 +kerning first=33 second=107 amount=1 +kerning first=33 second=73 amount=2 +kerning first=33 second=105 amount=1 +kerning first=33 second=33 amount=1 +kerning first=33 second=121 amount=1 +kerning first=33 second=98 amount=1 +kerning first=33 second=100 amount=1 +kerning first=33 second=112 amount=1 +kerning first=33 second=113 amount=1 +kerning first=33 second=103 amount=1 +kerning first=33 second=116 amount=2 +kerning first=33 second=59 amount=1 +kerning first=33 second=119 amount=2 +kerning first=33 second=118 amount=2 +kerning first=33 second=122 amount=1 +kerning first=33 second=97 amount=1 +kerning first=33 second=110 amount=1 +kerning first=33 second=111 amount=1 +kerning first=33 second=114 amount=1 +kerning first=33 second=120 amount=1 +kerning first=33 second=99 amount=1 +kerning first=33 second=101 amount=1 +kerning first=33 second=115 amount=1 +kerning first=33 second=117 amount=1 +kerning first=33 second=58 amount=1 +kerning first=33 second=35 amount=1 +kerning first=33 second=43 amount=1 +kerning first=33 second=34 amount=1 +kerning first=33 second=39 amount=1 +kerning first=33 second=44 amount=1 +kerning first=33 second=46 amount=1 +kerning first=33 second=45 amount=1 +kerning first=121 second=106 amount=1 +kerning first=121 second=51 amount=-1 +kerning first=121 second=55 amount=-3 +kerning first=121 second=104 amount=1 +kerning first=121 second=102 amount=1 +kerning first=121 second=93 amount=-3 +kerning first=121 second=49 amount=-3 +kerning first=121 second=40 amount=1 +kerning first=121 second=41 amount=-1 +kerning first=121 second=108 amount=1 +kerning first=121 second=64 amount=-1 +kerning first=121 second=50 amount=-2 +kerning first=121 second=47 amount=-2 +kerning first=121 second=92 amount=-2 +kerning first=121 second=107 amount=1 +kerning first=121 second=105 amount=1 +kerning first=121 second=33 amount=1 +kerning first=121 second=121 amount=1 +kerning first=121 second=98 amount=1 +kerning first=121 second=112 amount=1 +kerning first=121 second=116 amount=2 +kerning first=121 second=59 amount=1 +kerning first=121 second=119 amount=2 +kerning first=121 second=109 amount=1 +kerning first=121 second=118 amount=2 +kerning first=121 second=97 amount=1 +kerning first=121 second=110 amount=1 +kerning first=121 second=111 amount=1 +kerning first=121 second=114 amount=1 +kerning first=121 second=120 amount=1 +kerning first=121 second=117 amount=1 +kerning first=121 second=35 amount=1 +kerning first=121 second=44 amount=-2 +kerning first=121 second=46 amount=-2 +kerning first=121 second=32 amount=1 +kerning first=98 second=52 amount=1 +kerning first=98 second=102 amount=1 +kerning first=98 second=56 amount=-1 +kerning first=98 second=63 amount=-1 +kerning first=98 second=93 amount=-1 +kerning first=98 second=49 amount=-4 +kerning first=98 second=40 amount=1 +kerning first=98 second=108 amount=1 +kerning first=98 second=92 amount=-3 +kerning first=98 second=107 amount=1 +kerning first=98 second=105 amount=1 +kerning first=98 second=33 amount=1 +kerning first=98 second=100 amount=1 +kerning first=98 second=112 amount=1 +kerning first=98 second=113 amount=1 +kerning first=98 second=103 amount=1 +kerning first=98 second=116 amount=1 +kerning first=98 second=119 amount=1 +kerning first=98 second=118 amount=1 +kerning first=98 second=97 amount=1 +kerning first=98 second=110 amount=1 +kerning first=98 second=111 amount=1 +kerning first=98 second=114 amount=1 +kerning first=98 second=120 amount=1 +kerning first=98 second=99 amount=1 +kerning first=98 second=101 amount=1 +kerning first=98 second=115 amount=1 +kerning first=98 second=117 amount=1 +kerning first=98 second=35 amount=1 +kerning first=98 second=34 amount=-3 +kerning first=98 second=39 amount=-3 +kerning first=98 second=46 amount=1 +kerning first=98 second=45 amount=1 +kerning first=100 second=106 amount=1 +kerning first=100 second=102 amount=1 +kerning first=100 second=56 amount=-1 +kerning first=100 second=63 amount=1 +kerning first=100 second=93 amount=1 +kerning first=100 second=49 amount=-2 +kerning first=100 second=41 amount=1 +kerning first=100 second=108 amount=1 +kerning first=100 second=47 amount=1 +kerning first=100 second=92 amount=1 +kerning first=100 second=107 amount=1 +kerning first=100 second=105 amount=1 +kerning first=100 second=33 amount=1 +kerning first=100 second=121 amount=1 +kerning first=100 second=98 amount=1 +kerning first=100 second=112 amount=1 +kerning first=100 second=113 amount=1 +kerning first=100 second=103 amount=1 +kerning first=100 second=116 amount=1 +kerning first=100 second=59 amount=1 +kerning first=100 second=119 amount=2 +kerning first=100 second=118 amount=1 +kerning first=100 second=122 amount=1 +kerning first=100 second=97 amount=1 +kerning first=100 second=110 amount=1 +kerning first=100 second=111 amount=1 +kerning first=100 second=114 amount=1 +kerning first=100 second=120 amount=1 +kerning first=100 second=99 amount=1 +kerning first=100 second=115 amount=1 +kerning first=100 second=117 amount=1 +kerning first=100 second=58 amount=1 +kerning first=100 second=34 amount=1 +kerning first=100 second=39 amount=1 +kerning first=100 second=44 amount=1 +kerning first=100 second=46 amount=1 +kerning first=112 second=106 amount=1 +kerning first=112 second=52 amount=1 +kerning first=112 second=104 amount=1 +kerning first=112 second=102 amount=1 +kerning first=112 second=63 amount=-1 +kerning first=112 second=93 amount=-1 +kerning first=112 second=49 amount=-3 +kerning first=112 second=40 amount=1 +kerning first=112 second=108 amount=1 +kerning first=112 second=50 amount=-1 +kerning first=112 second=92 amount=-3 +kerning first=112 second=107 amount=1 +kerning first=112 second=105 amount=1 +kerning first=112 second=33 amount=1 +kerning first=112 second=98 amount=1 +kerning first=112 second=100 amount=1 +kerning first=112 second=113 amount=1 +kerning first=112 second=103 amount=1 +kerning first=112 second=116 amount=2 +kerning first=112 second=119 amount=1 +kerning first=112 second=118 amount=1 +kerning first=112 second=97 amount=1 +kerning first=112 second=110 amount=1 +kerning first=112 second=111 amount=1 +kerning first=112 second=114 amount=1 +kerning first=112 second=120 amount=1 +kerning first=112 second=99 amount=1 +kerning first=112 second=101 amount=1 +kerning first=112 second=115 amount=1 +kerning first=112 second=117 amount=1 +kerning first=112 second=35 amount=1 +kerning first=112 second=34 amount=-2 +kerning first=112 second=39 amount=-2 +kerning first=112 second=44 amount=-1 +kerning first=112 second=45 amount=1 +kerning first=113 second=106 amount=3 +kerning first=113 second=52 amount=1 +kerning first=113 second=104 amount=1 +kerning first=113 second=102 amount=1 +kerning first=113 second=49 amount=-3 +kerning first=113 second=40 amount=1 +kerning first=113 second=41 amount=1 +kerning first=113 second=108 amount=1 +kerning first=113 second=47 amount=1 +kerning first=113 second=92 amount=-2 +kerning first=113 second=107 amount=1 +kerning first=113 second=105 amount=1 +kerning first=113 second=33 amount=1 +kerning first=113 second=121 amount=1 +kerning first=113 second=98 amount=1 +kerning first=113 second=100 amount=1 +kerning first=113 second=112 amount=1 +kerning first=113 second=103 amount=1 +kerning first=113 second=116 amount=2 +kerning first=113 second=59 amount=2 +kerning first=113 second=119 amount=2 +kerning first=113 second=109 amount=1 +kerning first=113 second=118 amount=2 +kerning first=113 second=122 amount=1 +kerning first=113 second=97 amount=1 +kerning first=113 second=110 amount=1 +kerning first=113 second=111 amount=1 +kerning first=113 second=114 amount=1 +kerning first=113 second=120 amount=1 +kerning first=113 second=99 amount=1 +kerning first=113 second=101 amount=1 +kerning first=113 second=115 amount=1 +kerning first=113 second=117 amount=1 +kerning first=113 second=58 amount=1 +kerning first=113 second=35 amount=1 +kerning first=113 second=44 amount=2 +kerning first=113 second=46 amount=1 +kerning first=113 second=45 amount=1 +kerning first=103 second=106 amount=3 +kerning first=103 second=52 amount=1 +kerning first=103 second=53 amount=1 +kerning first=103 second=104 amount=1 +kerning first=103 second=102 amount=1 +kerning first=103 second=49 amount=-3 +kerning first=103 second=40 amount=1 +kerning first=103 second=41 amount=1 +kerning first=103 second=108 amount=1 +kerning first=103 second=47 amount=1 +kerning first=103 second=92 amount=-2 +kerning first=103 second=107 amount=1 +kerning first=103 second=105 amount=1 +kerning first=103 second=33 amount=1 +kerning first=103 second=121 amount=1 +kerning first=103 second=98 amount=1 +kerning first=103 second=100 amount=1 +kerning first=103 second=112 amount=1 +kerning first=103 second=113 amount=1 +kerning first=103 second=103 amount=1 +kerning first=103 second=116 amount=2 +kerning first=103 second=59 amount=2 +kerning first=103 second=119 amount=2 +kerning first=103 second=118 amount=2 +kerning first=103 second=122 amount=1 +kerning first=103 second=97 amount=1 +kerning first=103 second=110 amount=1 +kerning first=103 second=111 amount=1 +kerning first=103 second=114 amount=1 +kerning first=103 second=120 amount=1 +kerning first=103 second=99 amount=1 +kerning first=103 second=101 amount=1 +kerning first=103 second=115 amount=1 +kerning first=103 second=117 amount=1 +kerning first=103 second=58 amount=1 +kerning first=103 second=35 amount=1 +kerning first=103 second=34 amount=-1 +kerning first=103 second=44 amount=2 +kerning first=103 second=46 amount=1 +kerning first=103 second=45 amount=1 +kerning first=116 second=106 amount=2 +kerning first=116 second=52 amount=-1 +kerning first=116 second=55 amount=-1 +kerning first=116 second=104 amount=1 +kerning first=116 second=54 amount=1 +kerning first=116 second=57 amount=1 +kerning first=116 second=48 amount=1 +kerning first=116 second=102 amount=2 +kerning first=116 second=63 amount=1 +kerning first=116 second=93 amount=-1 +kerning first=116 second=49 amount=-3 +kerning first=116 second=40 amount=2 +kerning first=116 second=108 amount=2 +kerning first=116 second=50 amount=-1 +kerning first=116 second=92 amount=-1 +kerning first=116 second=107 amount=2 +kerning first=116 second=105 amount=2 +kerning first=116 second=33 amount=2 +kerning first=116 second=121 amount=2 +kerning first=116 second=98 amount=1 +kerning first=116 second=100 amount=1 +kerning first=116 second=112 amount=2 +kerning first=116 second=113 amount=1 +kerning first=116 second=103 amount=1 +kerning first=116 second=116 amount=2 +kerning first=116 second=59 amount=1 +kerning first=116 second=119 amount=3 +kerning first=116 second=109 amount=1 +kerning first=116 second=118 amount=3 +kerning first=116 second=122 amount=1 +kerning first=116 second=97 amount=1 +kerning first=116 second=110 amount=2 +kerning first=116 second=111 amount=1 +kerning first=116 second=114 amount=2 +kerning first=116 second=120 amount=2 +kerning first=116 second=99 amount=1 +kerning first=116 second=101 amount=1 +kerning first=116 second=115 amount=1 +kerning first=116 second=117 amount=2 +kerning first=116 second=58 amount=1 +kerning first=116 second=35 amount=1 +kerning first=116 second=34 amount=1 +kerning first=116 second=39 amount=1 +kerning first=116 second=45 amount=-1 +kerning first=116 second=32 amount=1 +kerning first=59 second=106 amount=1 +kerning first=59 second=87 amount=-1 +kerning first=59 second=89 amount=-2 +kerning first=59 second=52 amount=-1 +kerning first=59 second=86 amount=-1 +kerning first=59 second=53 amount=-1 +kerning first=59 second=84 amount=-2 +kerning first=59 second=51 amount=-1 +kerning first=59 second=67 amount=1 +kerning first=59 second=54 amount=-1 +kerning first=59 second=57 amount=-1 +kerning first=59 second=74 amount=-2 +kerning first=59 second=102 amount=1 +kerning first=59 second=56 amount=-1 +kerning first=59 second=63 amount=-1 +kerning first=59 second=93 amount=-1 +kerning first=59 second=49 amount=-4 +kerning first=59 second=64 amount=-1 +kerning first=59 second=92 amount=-2 +kerning first=59 second=105 amount=1 +kerning first=59 second=33 amount=1 +kerning first=59 second=121 amount=1 +kerning first=59 second=112 amount=1 +kerning first=59 second=116 amount=1 +kerning first=59 second=59 amount=1 +kerning first=59 second=119 amount=2 +kerning first=59 second=118 amount=1 +kerning first=59 second=110 amount=1 +kerning first=59 second=114 amount=1 +kerning first=59 second=120 amount=1 +kerning first=59 second=117 amount=1 +kerning first=59 second=34 amount=-1 +kerning first=59 second=44 amount=1 +kerning first=59 second=45 amount=-1 +kerning first=119 second=106 amount=1 +kerning first=119 second=55 amount=-2 +kerning first=119 second=104 amount=1 +kerning first=119 second=102 amount=1 +kerning first=119 second=63 amount=1 +kerning first=119 second=93 amount=-3 +kerning first=119 second=49 amount=-3 +kerning first=119 second=40 amount=1 +kerning first=119 second=108 amount=1 +kerning first=119 second=64 amount=-1 +kerning first=119 second=50 amount=-1 +kerning first=119 second=47 amount=-2 +kerning first=119 second=92 amount=-1 +kerning first=119 second=107 amount=1 +kerning first=119 second=105 amount=1 +kerning first=119 second=33 amount=1 +kerning first=119 second=121 amount=2 +kerning first=119 second=98 amount=1 +kerning first=119 second=112 amount=1 +kerning first=119 second=116 amount=1 +kerning first=119 second=59 amount=1 +kerning first=119 second=119 amount=2 +kerning first=119 second=109 amount=1 +kerning first=119 second=118 amount=2 +kerning first=119 second=110 amount=1 +kerning first=119 second=114 amount=1 +kerning first=119 second=120 amount=1 +kerning first=119 second=117 amount=1 +kerning first=119 second=35 amount=1 +kerning first=119 second=34 amount=1 +kerning first=119 second=39 amount=1 +kerning first=119 second=44 amount=-2 +kerning first=119 second=46 amount=-2 +kerning first=109 second=106 amount=1 +kerning first=109 second=51 amount=-1 +kerning first=109 second=55 amount=1 +kerning first=109 second=104 amount=1 +kerning first=109 second=54 amount=-1 +kerning first=109 second=57 amount=-1 +kerning first=109 second=102 amount=1 +kerning first=109 second=56 amount=-1 +kerning first=109 second=63 amount=-2 +kerning first=109 second=49 amount=-3 +kerning first=109 second=41 amount=1 +kerning first=109 second=108 amount=1 +kerning first=109 second=50 amount=1 +kerning first=109 second=47 amount=1 +kerning first=109 second=92 amount=-3 +kerning first=109 second=107 amount=1 +kerning first=109 second=105 amount=1 +kerning first=109 second=33 amount=1 +kerning first=109 second=121 amount=1 +kerning first=109 second=98 amount=1 +kerning first=109 second=100 amount=1 +kerning first=109 second=112 amount=1 +kerning first=109 second=116 amount=1 +kerning first=109 second=59 amount=2 +kerning first=109 second=119 amount=1 +kerning first=109 second=118 amount=1 +kerning first=109 second=122 amount=1 +kerning first=109 second=97 amount=1 +kerning first=109 second=110 amount=1 +kerning first=109 second=111 amount=1 +kerning first=109 second=114 amount=1 +kerning first=109 second=120 amount=2 +kerning first=109 second=115 amount=1 +kerning first=109 second=58 amount=1 +kerning first=109 second=39 amount=-1 +kerning first=109 second=44 amount=2 +kerning first=109 second=46 amount=1 +kerning first=118 second=106 amount=2 +kerning first=118 second=55 amount=-2 +kerning first=118 second=104 amount=1 +kerning first=118 second=54 amount=1 +kerning first=118 second=57 amount=1 +kerning first=118 second=48 amount=1 +kerning first=118 second=102 amount=2 +kerning first=118 second=63 amount=1 +kerning first=118 second=93 amount=-2 +kerning first=118 second=49 amount=-3 +kerning first=118 second=40 amount=2 +kerning first=118 second=108 amount=2 +kerning first=118 second=50 amount=-1 +kerning first=118 second=47 amount=-1 +kerning first=118 second=92 amount=-1 +kerning first=118 second=107 amount=2 +kerning first=118 second=105 amount=2 +kerning first=118 second=33 amount=2 +kerning first=118 second=121 amount=2 +kerning first=118 second=98 amount=1 +kerning first=118 second=100 amount=1 +kerning first=118 second=112 amount=2 +kerning first=118 second=113 amount=1 +kerning first=118 second=103 amount=1 +kerning first=118 second=116 amount=2 +kerning first=118 second=59 amount=1 +kerning first=118 second=119 amount=3 +kerning first=118 second=109 amount=1 +kerning first=118 second=118 amount=3 +kerning first=118 second=122 amount=1 +kerning first=118 second=97 amount=1 +kerning first=118 second=110 amount=2 +kerning first=118 second=111 amount=1 +kerning first=118 second=114 amount=2 +kerning first=118 second=120 amount=2 +kerning first=118 second=99 amount=1 +kerning first=118 second=101 amount=1 +kerning first=118 second=115 amount=1 +kerning first=118 second=117 amount=2 +kerning first=118 second=58 amount=1 +kerning first=118 second=35 amount=2 +kerning first=118 second=34 amount=1 +kerning first=118 second=39 amount=1 +kerning first=118 second=44 amount=-2 +kerning first=118 second=46 amount=-1 +kerning first=118 second=32 amount=1 +kerning first=122 second=106 amount=1 +kerning first=122 second=52 amount=-1 +kerning first=122 second=104 amount=1 +kerning first=122 second=102 amount=1 +kerning first=122 second=49 amount=-3 +kerning first=122 second=40 amount=1 +kerning first=122 second=41 amount=1 +kerning first=122 second=108 amount=1 +kerning first=122 second=50 amount=1 +kerning first=122 second=47 amount=1 +kerning first=122 second=92 amount=-2 +kerning first=122 second=107 amount=1 +kerning first=122 second=105 amount=1 +kerning first=122 second=33 amount=1 +kerning first=122 second=121 amount=2 +kerning first=122 second=98 amount=1 +kerning first=122 second=100 amount=1 +kerning first=122 second=112 amount=1 +kerning first=122 second=103 amount=1 +kerning first=122 second=116 amount=2 +kerning first=122 second=59 amount=1 +kerning first=122 second=119 amount=2 +kerning first=122 second=109 amount=1 +kerning first=122 second=118 amount=2 +kerning first=122 second=122 amount=1 +kerning first=122 second=97 amount=1 +kerning first=122 second=110 amount=1 +kerning first=122 second=111 amount=1 +kerning first=122 second=114 amount=1 +kerning first=122 second=120 amount=1 +kerning first=122 second=99 amount=1 +kerning first=122 second=115 amount=1 +kerning first=122 second=117 amount=1 +kerning first=122 second=58 amount=1 +kerning first=122 second=35 amount=1 +kerning first=122 second=44 amount=1 +kerning first=122 second=46 amount=1 +kerning first=122 second=45 amount=-1 +kerning first=122 second=32 amount=1 +kerning first=97 second=106 amount=1 +kerning first=97 second=55 amount=1 +kerning first=97 second=104 amount=1 +kerning first=97 second=54 amount=-1 +kerning first=97 second=57 amount=-1 +kerning first=97 second=48 amount=-1 +kerning first=97 second=63 amount=-2 +kerning first=97 second=49 amount=-3 +kerning first=97 second=41 amount=1 +kerning first=97 second=108 amount=1 +kerning first=97 second=50 amount=1 +kerning first=97 second=47 amount=1 +kerning first=97 second=92 amount=-4 +kerning first=97 second=107 amount=1 +kerning first=97 second=105 amount=1 +kerning first=97 second=33 amount=1 +kerning first=97 second=98 amount=1 +kerning first=97 second=100 amount=1 +kerning first=97 second=112 amount=1 +kerning first=97 second=116 amount=1 +kerning first=97 second=59 amount=1 +kerning first=97 second=119 amount=1 +kerning first=97 second=118 amount=1 +kerning first=97 second=122 amount=1 +kerning first=97 second=97 amount=1 +kerning first=97 second=110 amount=1 +kerning first=97 second=111 amount=1 +kerning first=97 second=114 amount=1 +kerning first=97 second=120 amount=2 +kerning first=97 second=99 amount=1 +kerning first=97 second=115 amount=1 +kerning first=97 second=117 amount=1 +kerning first=97 second=58 amount=1 +kerning first=97 second=34 amount=-3 +kerning first=97 second=39 amount=-2 +kerning first=97 second=44 amount=1 +kerning first=97 second=46 amount=1 +kerning first=110 second=106 amount=1 +kerning first=110 second=52 amount=1 +kerning first=110 second=55 amount=1 +kerning first=110 second=104 amount=1 +kerning first=110 second=102 amount=1 +kerning first=110 second=63 amount=-1 +kerning first=110 second=49 amount=-3 +kerning first=110 second=40 amount=1 +kerning first=110 second=41 amount=1 +kerning first=110 second=108 amount=1 +kerning first=110 second=50 amount=1 +kerning first=110 second=47 amount=1 +kerning first=110 second=92 amount=-3 +kerning first=110 second=107 amount=1 +kerning first=110 second=105 amount=1 +kerning first=110 second=33 amount=1 +kerning first=110 second=121 amount=1 +kerning first=110 second=98 amount=1 +kerning first=110 second=100 amount=1 +kerning first=110 second=112 amount=1 +kerning first=110 second=113 amount=1 +kerning first=110 second=103 amount=1 +kerning first=110 second=116 amount=1 +kerning first=110 second=59 amount=1 +kerning first=110 second=119 amount=1 +kerning first=110 second=118 amount=1 +kerning first=110 second=122 amount=1 +kerning first=110 second=97 amount=1 +kerning first=110 second=110 amount=1 +kerning first=110 second=111 amount=1 +kerning first=110 second=114 amount=1 +kerning first=110 second=120 amount=2 +kerning first=110 second=99 amount=1 +kerning first=110 second=101 amount=1 +kerning first=110 second=115 amount=1 +kerning first=110 second=117 amount=1 +kerning first=110 second=58 amount=1 +kerning first=110 second=35 amount=1 +kerning first=110 second=34 amount=-1 +kerning first=110 second=39 amount=-1 +kerning first=110 second=46 amount=1 +kerning first=110 second=45 amount=1 +kerning first=111 second=106 amount=1 +kerning first=111 second=52 amount=1 +kerning first=111 second=53 amount=1 +kerning first=111 second=104 amount=1 +kerning first=111 second=102 amount=1 +kerning first=111 second=63 amount=-1 +kerning first=111 second=93 amount=-1 +kerning first=111 second=49 amount=-3 +kerning first=111 second=40 amount=1 +kerning first=111 second=108 amount=1 +kerning first=111 second=64 amount=1 +kerning first=111 second=47 amount=1 +kerning first=111 second=92 amount=-3 +kerning first=111 second=107 amount=1 +kerning first=111 second=105 amount=1 +kerning first=111 second=33 amount=1 +kerning first=111 second=121 amount=1 +kerning first=111 second=98 amount=1 +kerning first=111 second=100 amount=1 +kerning first=111 second=112 amount=1 +kerning first=111 second=113 amount=1 +kerning first=111 second=103 amount=1 +kerning first=111 second=116 amount=2 +kerning first=111 second=59 amount=1 +kerning first=111 second=119 amount=1 +kerning first=111 second=109 amount=1 +kerning first=111 second=118 amount=1 +kerning first=111 second=97 amount=1 +kerning first=111 second=110 amount=1 +kerning first=111 second=111 amount=1 +kerning first=111 second=114 amount=1 +kerning first=111 second=120 amount=1 +kerning first=111 second=99 amount=1 +kerning first=111 second=101 amount=1 +kerning first=111 second=115 amount=1 +kerning first=111 second=117 amount=1 +kerning first=111 second=35 amount=1 +kerning first=111 second=34 amount=-2 +kerning first=111 second=39 amount=-2 +kerning first=111 second=46 amount=1 +kerning first=111 second=45 amount=1 +kerning first=114 second=106 amount=1 +kerning first=114 second=52 amount=-1 +kerning first=114 second=55 amount=-2 +kerning first=114 second=104 amount=1 +kerning first=114 second=48 amount=1 +kerning first=114 second=102 amount=1 +kerning first=114 second=63 amount=1 +kerning first=114 second=93 amount=-3 +kerning first=114 second=49 amount=-3 +kerning first=114 second=40 amount=1 +kerning first=114 second=108 amount=1 +kerning first=114 second=64 amount=-1 +kerning first=114 second=50 amount=-1 +kerning first=114 second=47 amount=-3 +kerning first=114 second=92 amount=-1 +kerning first=114 second=107 amount=1 +kerning first=114 second=105 amount=1 +kerning first=114 second=33 amount=1 +kerning first=114 second=121 amount=2 +kerning first=114 second=98 amount=1 +kerning first=114 second=112 amount=1 +kerning first=114 second=113 amount=1 +kerning first=114 second=103 amount=1 +kerning first=114 second=116 amount=1 +kerning first=114 second=59 amount=1 +kerning first=114 second=119 amount=2 +kerning first=114 second=109 amount=1 +kerning first=114 second=118 amount=2 +kerning first=114 second=122 amount=1 +kerning first=114 second=97 amount=1 +kerning first=114 second=110 amount=1 +kerning first=114 second=111 amount=1 +kerning first=114 second=114 amount=2 +kerning first=114 second=120 amount=2 +kerning first=114 second=117 amount=1 +kerning first=114 second=35 amount=1 +kerning first=114 second=34 amount=1 +kerning first=114 second=39 amount=2 +kerning first=114 second=44 amount=-3 +kerning first=114 second=46 amount=-3 +kerning first=114 second=45 amount=-2 +kerning first=120 second=106 amount=1 +kerning first=120 second=52 amount=-1 +kerning first=120 second=53 amount=-1 +kerning first=120 second=104 amount=1 +kerning first=120 second=102 amount=1 +kerning first=120 second=63 amount=1 +kerning first=120 second=93 amount=-1 +kerning first=120 second=49 amount=-3 +kerning first=120 second=40 amount=1 +kerning first=120 second=108 amount=1 +kerning first=120 second=64 amount=-1 +kerning first=120 second=47 amount=1 +kerning first=120 second=92 amount=-1 +kerning first=120 second=107 amount=1 +kerning first=120 second=105 amount=1 +kerning first=120 second=33 amount=1 +kerning first=120 second=121 amount=2 +kerning first=120 second=98 amount=1 +kerning first=120 second=112 amount=1 +kerning first=120 second=116 amount=1 +kerning first=120 second=59 amount=1 +kerning first=120 second=119 amount=2 +kerning first=120 second=109 amount=1 +kerning first=120 second=118 amount=2 +kerning first=120 second=122 amount=1 +kerning first=120 second=97 amount=1 +kerning first=120 second=110 amount=1 +kerning first=120 second=114 amount=1 +kerning first=120 second=120 amount=1 +kerning first=120 second=117 amount=1 +kerning first=120 second=35 amount=1 +kerning first=120 second=34 amount=1 +kerning first=120 second=39 amount=1 +kerning first=120 second=44 amount=1 +kerning first=120 second=46 amount=1 +kerning first=120 second=45 amount=-1 +kerning first=120 second=32 amount=1 +kerning first=99 second=106 amount=1 +kerning first=99 second=52 amount=1 +kerning first=99 second=53 amount=1 +kerning first=99 second=104 amount=1 +kerning first=99 second=102 amount=1 +kerning first=99 second=63 amount=-1 +kerning first=99 second=93 amount=-1 +kerning first=99 second=49 amount=-4 +kerning first=99 second=40 amount=1 +kerning first=99 second=108 amount=1 +kerning first=99 second=50 amount=-1 +kerning first=99 second=92 amount=-3 +kerning first=99 second=107 amount=1 +kerning first=99 second=105 amount=1 +kerning first=99 second=33 amount=1 +kerning first=99 second=121 amount=1 +kerning first=99 second=98 amount=1 +kerning first=99 second=100 amount=1 +kerning first=99 second=112 amount=1 +kerning first=99 second=113 amount=1 +kerning first=99 second=103 amount=1 +kerning first=99 second=116 amount=1 +kerning first=99 second=119 amount=1 +kerning first=99 second=118 amount=1 +kerning first=99 second=97 amount=1 +kerning first=99 second=110 amount=1 +kerning first=99 second=111 amount=1 +kerning first=99 second=114 amount=1 +kerning first=99 second=120 amount=1 +kerning first=99 second=99 amount=1 +kerning first=99 second=101 amount=1 +kerning first=99 second=115 amount=1 +kerning first=99 second=117 amount=1 +kerning first=99 second=58 amount=1 +kerning first=99 second=35 amount=1 +kerning first=99 second=34 amount=-2 +kerning first=99 second=39 amount=-2 +kerning first=99 second=46 amount=1 +kerning first=99 second=45 amount=1 +kerning first=101 second=106 amount=1 +kerning first=101 second=52 amount=1 +kerning first=101 second=53 amount=1 +kerning first=101 second=51 amount=1 +kerning first=101 second=55 amount=1 +kerning first=101 second=104 amount=1 +kerning first=101 second=57 amount=1 +kerning first=101 second=102 amount=1 +kerning first=101 second=63 amount=-1 +kerning first=101 second=49 amount=-2 +kerning first=101 second=40 amount=1 +kerning first=101 second=41 amount=1 +kerning first=101 second=108 amount=2 +kerning first=101 second=64 amount=1 +kerning first=101 second=50 amount=1 +kerning first=101 second=47 amount=2 +kerning first=101 second=92 amount=-2 +kerning first=101 second=107 amount=1 +kerning first=101 second=105 amount=2 +kerning first=101 second=33 amount=1 +kerning first=101 second=121 amount=1 +kerning first=101 second=98 amount=1 +kerning first=101 second=100 amount=2 +kerning first=101 second=112 amount=1 +kerning first=101 second=113 amount=1 +kerning first=101 second=103 amount=1 +kerning first=101 second=116 amount=2 +kerning first=101 second=59 amount=1 +kerning first=101 second=119 amount=2 +kerning first=101 second=109 amount=1 +kerning first=101 second=118 amount=2 +kerning first=101 second=122 amount=1 +kerning first=101 second=97 amount=2 +kerning first=101 second=110 amount=2 +kerning first=101 second=111 amount=2 +kerning first=101 second=114 amount=1 +kerning first=101 second=120 amount=2 +kerning first=101 second=99 amount=1 +kerning first=101 second=101 amount=1 +kerning first=101 second=115 amount=2 +kerning first=101 second=117 amount=1 +kerning first=101 second=58 amount=1 +kerning first=101 second=35 amount=1 +kerning first=101 second=34 amount=-1 +kerning first=101 second=39 amount=-1 +kerning first=101 second=44 amount=1 +kerning first=101 second=46 amount=2 +kerning first=101 second=45 amount=1 +kerning first=115 second=106 amount=1 +kerning first=115 second=53 amount=1 +kerning first=115 second=104 amount=1 +kerning first=115 second=102 amount=1 +kerning first=115 second=63 amount=-1 +kerning first=115 second=49 amount=-3 +kerning first=115 second=40 amount=1 +kerning first=115 second=41 amount=1 +kerning first=115 second=108 amount=1 +kerning first=115 second=47 amount=1 +kerning first=115 second=92 amount=-3 +kerning first=115 second=107 amount=1 +kerning first=115 second=105 amount=1 +kerning first=115 second=33 amount=1 +kerning first=115 second=121 amount=1 +kerning first=115 second=98 amount=1 +kerning first=115 second=100 amount=1 +kerning first=115 second=112 amount=1 +kerning first=115 second=113 amount=1 +kerning first=115 second=103 amount=1 +kerning first=115 second=116 amount=2 +kerning first=115 second=59 amount=1 +kerning first=115 second=119 amount=1 +kerning first=115 second=109 amount=1 +kerning first=115 second=118 amount=1 +kerning first=115 second=122 amount=1 +kerning first=115 second=97 amount=1 +kerning first=115 second=110 amount=1 +kerning first=115 second=111 amount=1 +kerning first=115 second=114 amount=1 +kerning first=115 second=120 amount=1 +kerning first=115 second=99 amount=1 +kerning first=115 second=101 amount=1 +kerning first=115 second=115 amount=1 +kerning first=115 second=117 amount=1 +kerning first=115 second=58 amount=1 +kerning first=115 second=35 amount=1 +kerning first=115 second=34 amount=-2 +kerning first=115 second=39 amount=-2 +kerning first=115 second=46 amount=1 +kerning first=117 second=106 amount=1 +kerning first=117 second=52 amount=1 +kerning first=117 second=51 amount=-1 +kerning first=117 second=104 amount=1 +kerning first=117 second=102 amount=1 +kerning first=117 second=56 amount=-1 +kerning first=117 second=63 amount=-1 +kerning first=117 second=93 amount=-1 +kerning first=117 second=49 amount=-3 +kerning first=117 second=40 amount=1 +kerning first=117 second=108 amount=1 +kerning first=117 second=50 amount=-1 +kerning first=117 second=92 amount=-2 +kerning first=117 second=107 amount=1 +kerning first=117 second=105 amount=1 +kerning first=117 second=33 amount=1 +kerning first=117 second=121 amount=1 +kerning first=117 second=98 amount=1 +kerning first=117 second=100 amount=1 +kerning first=117 second=112 amount=1 +kerning first=117 second=113 amount=1 +kerning first=117 second=103 amount=1 +kerning first=117 second=116 amount=2 +kerning first=117 second=59 amount=1 +kerning first=117 second=119 amount=2 +kerning first=117 second=109 amount=1 +kerning first=117 second=118 amount=2 +kerning first=117 second=97 amount=1 +kerning first=117 second=110 amount=1 +kerning first=117 second=111 amount=1 +kerning first=117 second=114 amount=1 +kerning first=117 second=120 amount=1 +kerning first=117 second=99 amount=1 +kerning first=117 second=101 amount=1 +kerning first=117 second=115 amount=1 +kerning first=117 second=117 amount=1 +kerning first=117 second=35 amount=1 +kerning first=117 second=34 amount=-2 +kerning first=117 second=39 amount=-2 +kerning first=117 second=44 amount=-1 +kerning first=117 second=45 amount=1 +kerning first=58 second=87 amount=-1 +kerning first=58 second=77 amount=-1 +kerning first=58 second=89 amount=-2 +kerning first=58 second=65 amount=-1 +kerning first=58 second=52 amount=-1 +kerning first=58 second=86 amount=-1 +kerning first=58 second=53 amount=-1 +kerning first=58 second=84 amount=-2 +kerning first=58 second=51 amount=-1 +kerning first=58 second=55 amount=-1 +kerning first=58 second=54 amount=-1 +kerning first=58 second=57 amount=-1 +kerning first=58 second=48 amount=-1 +kerning first=58 second=74 amount=-2 +kerning first=58 second=56 amount=-1 +kerning first=58 second=63 amount=-1 +kerning first=58 second=93 amount=-1 +kerning first=58 second=49 amount=-4 +kerning first=58 second=64 amount=-1 +kerning first=58 second=50 amount=-1 +kerning first=58 second=92 amount=-3 +kerning first=58 second=121 amount=1 +kerning first=58 second=116 amount=1 +kerning first=58 second=119 amount=1 +kerning first=58 second=118 amount=1 +kerning first=58 second=114 amount=1 +kerning first=58 second=120 amount=1 +kerning first=58 second=58 amount=-1 +kerning first=58 second=34 amount=-2 +kerning first=58 second=39 amount=-1 +kerning first=58 second=45 amount=-2 +kerning first=35 second=106 amount=1 +kerning first=35 second=81 amount=1 +kerning first=35 second=72 amount=1 +kerning first=35 second=88 amount=-2 +kerning first=35 second=89 amount=-1 +kerning first=35 second=90 amount=-3 +kerning first=35 second=65 amount=-1 +kerning first=35 second=53 amount=-1 +kerning first=35 second=71 amount=1 +kerning first=35 second=79 amount=1 +kerning first=35 second=85 amount=1 +kerning first=35 second=51 amount=-1 +kerning first=35 second=55 amount=-1 +kerning first=35 second=67 amount=1 +kerning first=35 second=57 amount=-1 +kerning first=35 second=74 amount=-1 +kerning first=35 second=102 amount=1 +kerning first=35 second=56 amount=-1 +kerning first=35 second=63 amount=1 +kerning first=35 second=93 amount=-2 +kerning first=35 second=49 amount=-3 +kerning first=35 second=40 amount=1 +kerning first=35 second=41 amount=-1 +kerning first=35 second=108 amount=1 +kerning first=35 second=50 amount=-1 +kerning first=35 second=47 amount=-2 +kerning first=35 second=92 amount=-1 +kerning first=35 second=107 amount=1 +kerning first=35 second=105 amount=1 +kerning first=35 second=33 amount=1 +kerning first=35 second=121 amount=1 +kerning first=35 second=112 amount=1 +kerning first=35 second=113 amount=1 +kerning first=35 second=103 amount=1 +kerning first=35 second=116 amount=1 +kerning first=35 second=119 amount=2 +kerning first=35 second=109 amount=1 +kerning first=35 second=118 amount=2 +kerning first=35 second=122 amount=-1 +kerning first=35 second=97 amount=1 +kerning first=35 second=110 amount=1 +kerning first=35 second=111 amount=1 +kerning first=35 second=114 amount=1 +kerning first=35 second=120 amount=1 +kerning first=35 second=117 amount=1 +kerning first=35 second=34 amount=1 +kerning first=35 second=39 amount=1 +kerning first=35 second=44 amount=-5 +kerning first=35 second=46 amount=-3 +kerning first=42 second=83 amount=1 +kerning first=42 second=93 amount=1 +kerning first=42 second=113 amount=1 +kerning first=42 second=103 amount=1 +kerning first=34 second=106 amount=1 +kerning first=34 second=87 amount=1 +kerning first=34 second=88 amount=1 +kerning first=34 second=89 amount=1 +kerning first=34 second=90 amount=-1 +kerning first=34 second=65 amount=-3 +kerning first=34 second=75 amount=1 +kerning first=34 second=52 amount=-3 +kerning first=34 second=86 amount=1 +kerning first=34 second=53 amount=-1 +kerning first=34 second=84 amount=1 +kerning first=34 second=85 amount=1 +kerning first=34 second=66 amount=1 +kerning first=34 second=80 amount=1 +kerning first=34 second=54 amount=-1 +kerning first=34 second=57 amount=-1 +kerning first=34 second=48 amount=-1 +kerning first=34 second=74 amount=-4 +kerning first=34 second=76 amount=1 +kerning first=34 second=102 amount=-1 +kerning first=34 second=56 amount=-1 +kerning first=34 second=63 amount=1 +kerning first=34 second=93 amount=1 +kerning first=34 second=49 amount=-2 +kerning first=34 second=41 amount=1 +kerning first=34 second=108 amount=1 +kerning first=34 second=64 amount=-3 +kerning first=34 second=82 amount=1 +kerning first=34 second=50 amount=-1 +kerning first=34 second=47 amount=-1 +kerning first=34 second=92 amount=1 +kerning first=34 second=107 amount=1 +kerning first=34 second=73 amount=1 +kerning first=34 second=105 amount=1 +kerning first=34 second=33 amount=1 +kerning first=34 second=121 amount=2 +kerning first=34 second=98 amount=1 +kerning first=34 second=100 amount=-2 +kerning first=34 second=112 amount=1 +kerning first=34 second=113 amount=-1 +kerning first=34 second=103 amount=-1 +kerning first=34 second=116 amount=-1 +kerning first=34 second=119 amount=1 +kerning first=34 second=109 amount=1 +kerning first=34 second=118 amount=1 +kerning first=34 second=122 amount=-1 +kerning first=34 second=97 amount=-2 +kerning first=34 second=110 amount=1 +kerning first=34 second=111 amount=-1 +kerning first=34 second=120 amount=1 +kerning first=34 second=99 amount=-2 +kerning first=34 second=101 amount=-2 +kerning first=34 second=115 amount=-1 +kerning first=34 second=117 amount=1 +kerning first=34 second=35 amount=-1 +kerning first=34 second=34 amount=1 +kerning first=34 second=39 amount=1 +kerning first=34 second=44 amount=-3 +kerning first=34 second=46 amount=-2 +kerning first=34 second=45 amount=-1 +kerning first=39 second=87 amount=1 +kerning first=39 second=88 amount=1 +kerning first=39 second=89 amount=1 +kerning first=39 second=90 amount=-1 +kerning first=39 second=65 amount=-3 +kerning first=39 second=75 amount=1 +kerning first=39 second=52 amount=-2 +kerning first=39 second=78 amount=1 +kerning first=39 second=86 amount=1 +kerning first=39 second=53 amount=-1 +kerning first=39 second=84 amount=1 +kerning first=39 second=85 amount=1 +kerning first=39 second=66 amount=1 +kerning first=39 second=68 amount=1 +kerning first=39 second=80 amount=1 +kerning first=39 second=104 amount=1 +kerning first=39 second=54 amount=-1 +kerning first=39 second=74 amount=-4 +kerning first=39 second=76 amount=1 +kerning first=39 second=102 amount=-1 +kerning first=39 second=63 amount=1 +kerning first=39 second=69 amount=1 +kerning first=39 second=93 amount=1 +kerning first=39 second=49 amount=-1 +kerning first=39 second=41 amount=1 +kerning first=39 second=108 amount=1 +kerning first=39 second=64 amount=-5 +kerning first=39 second=82 amount=1 +kerning first=39 second=50 amount=-1 +kerning first=39 second=47 amount=-4 +kerning first=39 second=92 amount=2 +kerning first=39 second=107 amount=1 +kerning first=39 second=73 amount=1 +kerning first=39 second=105 amount=1 +kerning first=39 second=33 amount=1 +kerning first=39 second=121 amount=1 +kerning first=39 second=98 amount=1 +kerning first=39 second=100 amount=-2 +kerning first=39 second=113 amount=-2 +kerning first=39 second=103 amount=-1 +kerning first=39 second=116 amount=-1 +kerning first=39 second=59 amount=-1 +kerning first=39 second=118 amount=1 +kerning first=39 second=122 amount=-1 +kerning first=39 second=97 amount=-1 +kerning first=39 second=111 amount=-2 +kerning first=39 second=114 amount=-1 +kerning first=39 second=99 amount=-2 +kerning first=39 second=101 amount=-2 +kerning first=39 second=115 amount=-2 +kerning first=39 second=58 amount=-1 +kerning first=39 second=35 amount=-1 +kerning first=39 second=34 amount=1 +kerning first=39 second=39 amount=1 +kerning first=39 second=44 amount=-3 +kerning first=39 second=46 amount=-1 +kerning first=39 second=45 amount=-2 +kerning first=44 second=106 amount=1 +kerning first=44 second=87 amount=-3 +kerning first=44 second=81 amount=-2 +kerning first=44 second=88 amount=1 +kerning first=44 second=89 amount=-3 +kerning first=44 second=90 amount=1 +kerning first=44 second=65 amount=1 +kerning first=44 second=52 amount=-2 +kerning first=44 second=86 amount=-2 +kerning first=44 second=71 amount=-1 +kerning first=44 second=79 amount=-2 +kerning first=44 second=83 amount=-1 +kerning first=44 second=84 amount=-1 +kerning first=44 second=85 amount=-1 +kerning first=44 second=51 amount=-1 +kerning first=44 second=55 amount=1 +kerning first=44 second=80 amount=1 +kerning first=44 second=54 amount=-2 +kerning first=44 second=57 amount=-2 +kerning first=44 second=48 amount=-1 +kerning first=44 second=74 amount=-2 +kerning first=44 second=102 amount=-1 +kerning first=44 second=56 amount=-1 +kerning first=44 second=63 amount=-2 +kerning first=44 second=49 amount=-3 +kerning first=44 second=41 amount=1 +kerning first=44 second=108 amount=1 +kerning first=44 second=64 amount=-1 +kerning first=44 second=50 amount=1 +kerning first=44 second=47 amount=2 +kerning first=44 second=92 amount=-4 +kerning first=44 second=107 amount=1 +kerning first=44 second=73 amount=1 +kerning first=44 second=105 amount=1 +kerning first=44 second=33 amount=1 +kerning first=44 second=121 amount=-2 +kerning first=44 second=98 amount=1 +kerning first=44 second=113 amount=-1 +kerning first=44 second=116 amount=-1 +kerning first=44 second=59 amount=2 +kerning first=44 second=119 amount=-1 +kerning first=44 second=109 amount=-1 +kerning first=44 second=118 amount=-1 +kerning first=44 second=122 amount=1 +kerning first=44 second=97 amount=1 +kerning first=44 second=110 amount=1 +kerning first=44 second=114 amount=1 +kerning first=44 second=120 amount=1 +kerning first=44 second=58 amount=1 +kerning first=44 second=35 amount=-2 +kerning first=44 second=34 amount=-2 +kerning first=44 second=39 amount=-4 +kerning first=44 second=44 amount=1 +kerning first=44 second=46 amount=1 +kerning first=44 second=45 amount=-2 +kerning first=46 second=106 amount=1 +kerning first=46 second=87 amount=-2 +kerning first=46 second=88 amount=1 +kerning first=46 second=89 amount=-2 +kerning first=46 second=90 amount=2 +kerning first=46 second=65 amount=1 +kerning first=46 second=52 amount=-3 +kerning first=46 second=86 amount=-1 +kerning first=46 second=53 amount=1 +kerning first=46 second=79 amount=-1 +kerning first=46 second=84 amount=-2 +kerning first=46 second=85 amount=-1 +kerning first=46 second=55 amount=1 +kerning first=46 second=80 amount=1 +kerning first=46 second=104 amount=1 +kerning first=46 second=54 amount=-1 +kerning first=46 second=48 amount=-1 +kerning first=46 second=74 amount=-1 +kerning first=46 second=102 amount=-1 +kerning first=46 second=63 amount=-2 +kerning first=46 second=49 amount=-3 +kerning first=46 second=41 amount=1 +kerning first=46 second=108 amount=1 +kerning first=46 second=50 amount=1 +kerning first=46 second=47 amount=1 +kerning first=46 second=92 amount=-5 +kerning first=46 second=107 amount=1 +kerning first=46 second=73 amount=1 +kerning first=46 second=105 amount=1 +kerning first=46 second=33 amount=1 +kerning first=46 second=121 amount=-2 +kerning first=46 second=98 amount=1 +kerning first=46 second=100 amount=1 +kerning first=46 second=112 amount=1 +kerning first=46 second=103 amount=1 +kerning first=46 second=116 amount=-1 +kerning first=46 second=59 amount=1 +kerning first=46 second=118 amount=-1 +kerning first=46 second=122 amount=1 +kerning first=46 second=97 amount=1 +kerning first=46 second=110 amount=1 +kerning first=46 second=111 amount=1 +kerning first=46 second=114 amount=1 +kerning first=46 second=120 amount=1 +kerning first=46 second=99 amount=1 +kerning first=46 second=115 amount=1 +kerning first=46 second=117 amount=1 +kerning first=46 second=58 amount=1 +kerning first=46 second=35 amount=-4 +kerning first=46 second=34 amount=-4 +kerning first=46 second=39 amount=-1 +kerning first=46 second=44 amount=1 +kerning first=46 second=46 amount=1 +kerning first=46 second=45 amount=-2 +kerning first=45 second=87 amount=-1 +kerning first=45 second=81 amount=1 +kerning first=45 second=72 amount=1 +kerning first=45 second=88 amount=-2 +kerning first=45 second=89 amount=-3 +kerning first=45 second=90 amount=-2 +kerning first=45 second=65 amount=-1 +kerning first=45 second=52 amount=1 +kerning first=45 second=86 amount=-1 +kerning first=45 second=53 amount=-1 +kerning first=45 second=71 amount=1 +kerning first=45 second=79 amount=1 +kerning first=45 second=83 amount=-2 +kerning first=45 second=84 amount=-2 +kerning first=45 second=51 amount=-2 +kerning first=45 second=55 amount=-3 +kerning first=45 second=67 amount=1 +kerning first=45 second=57 amount=-1 +kerning first=45 second=56 amount=-2 +kerning first=45 second=63 amount=-1 +kerning first=45 second=93 amount=-4 +kerning first=45 second=49 amount=-4 +kerning first=45 second=40 amount=1 +kerning first=45 second=41 amount=-1 +kerning first=45 second=108 amount=1 +kerning first=45 second=50 amount=-4 +kerning first=45 second=47 amount=-2 +kerning first=45 second=92 amount=-4 +kerning first=45 second=107 amount=1 +kerning first=45 second=105 amount=1 +kerning first=45 second=33 amount=1 +kerning first=45 second=100 amount=1 +kerning first=45 second=113 amount=1 +kerning first=45 second=103 amount=1 +kerning first=45 second=116 amount=1 +kerning first=45 second=119 amount=1 +kerning first=45 second=118 amount=1 +kerning first=45 second=122 amount=-2 +kerning first=45 second=110 amount=1 +kerning first=45 second=111 amount=1 +kerning first=45 second=114 amount=1 +kerning first=45 second=120 amount=-1 +kerning first=45 second=99 amount=1 +kerning first=45 second=101 amount=1 +kerning first=45 second=117 amount=1 +kerning first=45 second=58 amount=-1 +kerning first=45 second=35 amount=1 +kerning first=45 second=34 amount=-1 +kerning first=45 second=39 amount=-1 +kerning first=45 second=44 amount=-3 +kerning first=45 second=46 amount=-3 +kerning first=45 second=45 amount=1 +kerning first=126 second=33 amount=-1 +kerning first=126 second=32 amount=-1 +kerning first=32 second=53 amount=-1 +kerning first=32 second=83 amount=1 +kerning first=32 second=123 amount=1 diff --git a/tests/cpp-tests/Resources/ccb/markerfelt24shadow.png b/tests/cpp-tests/Resources/ccb/markerfelt24shadow.png new file mode 100755 index 0000000000..5bab028496 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/markerfelt24shadow.png differ diff --git a/tests/cpp-tests/Resources/ccb/particle-fire.png b/tests/cpp-tests/Resources/ccb/particle-fire.png new file mode 100755 index 0000000000..81c6d2410b Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/particle-fire.png differ diff --git a/tests/cpp-tests/Resources/ccb/particle-smoke.png b/tests/cpp-tests/Resources/ccb/particle-smoke.png new file mode 100755 index 0000000000..a289b1371e Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/particle-smoke.png differ diff --git a/tests/cpp-tests/Resources/ccb/particle-snow.png b/tests/cpp-tests/Resources/ccb/particle-snow.png new file mode 100755 index 0000000000..9e12963498 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/particle-snow.png differ diff --git a/tests/cpp-tests/Resources/ccb/particle-stars.png b/tests/cpp-tests/Resources/ccb/particle-stars.png new file mode 100755 index 0000000000..f493dcc334 Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/particle-stars.png differ diff --git a/tests/cpp-tests/Resources/ccb/scale-9-demo.png b/tests/cpp-tests/Resources/ccb/scale-9-demo.png new file mode 100755 index 0000000000..ee4537207f Binary files /dev/null and b/tests/cpp-tests/Resources/ccb/scale-9-demo.png differ diff --git a/tests/cpp-tests/Resources/commonly_used_words.txt b/tests/cpp-tests/Resources/commonly_used_words.txt new file mode 100755 index 0000000000..ede487b2c8 --- /dev/null +++ b/tests/cpp-tests/Resources/commonly_used_words.txt @@ -0,0 +1,60 @@ +三画 +三于干äºå£«å·¥åœŸæ‰å¯¸ä¸‹å¤§ä¸ˆä¸Žä¸‡ä¸Šå°å£å·¾å±±åƒä¹žå·äº¿ä¸ªå‹ºä¹…凡åŠå¤•ä¸¸ä¹ˆå¹¿ +亡门义之尸弓己已å­å«ä¹Ÿå¥³é£žåˆƒä¹ å‰é©¬ä¹¡ + +四画 +丰王井开夫天无元专云扎艺木五支厅ä¸å¤ªçŠ¬åŒºåŽ†å°¤å‹åŒ¹è½¦å·¨ç‰™å±¯æ¯”互切瓦 +止少日中冈è´å†…æ°´è§åˆç‰›æ‰‹æ¯›æ°”å‡é•¿ä»ä»€ç‰‡ä»†åŒ–仇å¸ä»ä»…斤爪å介父从今 +凶分ä¹å…¬ä»“月æ°å‹¿æ¬ é£Žä¸¹åŒ€ä¹Œå‡¤å‹¾æ–‡å…­æ–¹ç«ä¸ºæ–—忆订计户认心尺引丑巴孔 +队办以å…予åŠåŒä¹¦å¹» + +五画 +玉刊示末未击打巧正扑扒功扔去甘世å¤èŠ‚本术å¯ä¸™å·¦åŽ‰å³çŸ³å¸ƒé¾™å¹³ç­è½§ä¸œ +å¡åŒ—å ä¸šæ—§å¸…归且旦目å¶ç”²ç”³å®ç”µå·ç”°ç”±å²åªå¤®å…„å¼å«å¦å¨å¹å››ç”Ÿå¤±ç¦¾ä¸˜ +付仗代仙们仪白仔他斥瓜乎丛令用甩å°ä¹å¥åŒ†å†ŒçŠ¯å¤–处冬鸟务包饥主市立 +闪兰åŠæ±æ±‡å¤´æ±‰å®ç©´å®ƒè®¨å†™è®©ç¤¼è®­å¿…议讯记永å¸å°¼æ°‘出辽奶奴加å¬çš®è¾¹å‘ +孕圣对å°çŸ›çº æ¯å¹¼ä¸ + +å…­ç”» +å¼åˆ‘动扛寺å‰æ‰£è€ƒæ‰˜è€æ‰§å·©åœ¾æ‰©æ‰«åœ°æ‰¬åœºè€³å…±èŠ’亚èŠæœ½æœ´æœºæƒè¿‡è‡£å†å西 +压厌在有百存而页匠夸夺ç°è¾¾åˆ—æ­»æˆå¤¹è½¨é‚ªåˆ’迈毕至此贞师尘尖劣光当早 +åå“虫曲团åŒåŠåƒå› å¸å—屿帆å²å›žå²‚刚则肉网年朱先丢舌竹è¿ä¹”伟传乒乓 +休ä¼ä¼ä¼˜ä¼å»¶ä»¶ä»»ä¼¤ä»·ä»½åŽä»°ä»¿ä¼™ä¼ªè‡ªè¡€å‘ä¼¼åŽè¡ŒèˆŸå…¨ä¼šæ€åˆå…†ä¼ä¼—爷伞 +创肌朵æ‚å±æ—¬æ—¨è´Ÿå„å多争色壮冲冰庄庆亦刘é½äº¤æ¬¡è¡£äº§å†³å……妄闭问闯羊 +并关米ç¯å·žæ±—污江池汤忙兴宇守宅字安讲军许论农讽设访寻那迅尽导异孙 +阵阳收阶阴防奸如妇好她妈æˆç¾½è§‚欢买红纤级约纪驰巡 + +七画 +寿弄麦形进戒åžè¿œè¿è¿æ‰¶æŠšå›æŠ€å扰拒找批扯å€èµ°æŠ„åè´¡æ”»èµ¤æŠ˜æŠ“æ‰®æŠ¢å­ +å‡æŠ›æŠ•åŸæŠ—å‘åŠæŠ–护壳志扭å—声把报å´åŠ«èŠ½èŠ±èŠ¹èŠ¬è‹èŠ³ä¸¥èŠ¦åŠ³å…‹è‹æ†æ æœ +ææ‘ææžæŽæ¨æ±‚æ›´æŸè±†ä¸¤ä¸½åŒ»è¾°åŠ±å¦è¿˜æ­¼æ¥è¿žæ­¥åšæ—±ç›¯å‘ˆæ—¶å´åŠ©åŽ¿é‡Œå‘†å›­ +æ—·å›´å‘€å¨è¶³é‚®ç”·å›°åµä¸²å‘˜å¬å©å¹å‘œå§å¼åˆ«å²—å¸è´¢é’ˆé’‰å‘Šæˆ‘乱利秃秀ç§æ¯å…µ +估体何但伸作伯伶佣低你ä½ä½ä¼´èº«çš‚佛近彻役返余希å谷妥å«é‚»å²”è‚è‚šè‚  +龟å…狂犹角删æ¡åµå²›è¿Žé¥­é¥®ç³»è¨€å†»çŠ¶äº©å†µåºŠåº“疗应冷这åºè¾›å¼ƒå†¶å¿˜é—²é—´é—· +判ç¶ç¿å¼Ÿæ±ªæ²™æ±½æ²ƒæ³›æ²Ÿæ²¡æ²ˆæ²‰æ€€å¿§å¿«å®Œå®‹å®ç‰¢ç©¶ç©·ç¾è‰¯è¯å¯è¯„è¡¥åˆç¤¾è¯†è¯‰ +诊è¯è¯‘å›çµå³å±‚尿尾迟局改张忌际陆阿陈阻附妙妖妨努å¿åŠ²é¸¡é©±çº¯çº±çº³çº² +驳纵纷纸纹纺驴纽 + +å…«ç”» +奉玩环武é’责现表规抹拢拔拣担å¦æŠ¼æŠ½æ‹æ‹–æ‹è€…顶拆拥抵拘势抱垃拉拦拌 +幸招å¡æŠ«æ‹¨æ‹©æŠ¬å…¶å–苦若茂苹苗英范直茄茎茅林æžæ¯æŸœæžæ¿æ¾æžªæž„æ°è¿°æž• +丧或画å§äº‹åˆºæž£é›¨å–矿ç åŽ•å¥”奇奋æ€æ¬§åž„妻轰顷转斩轮软到éžå”肯齿些虎 +è™è‚¾è´¤å°šæ—ºå…·æžœå‘³æ˜†å›½æ˜Œç•…明易昂典固忠å’呼鸣å’呢岸岩帖罗帜岭凯败贩 +购图钓制知垂牧物乖刮秆和季委佳ä¾ä¾›ä½¿ä¾‹ç‰ˆä¾„侦侧凭侨佩货ä¾çš„迫质欣 +å¾å¾€çˆ¬å½¼å¾„所èˆé‡‘命斧爸采å—乳贪念贫肤肺肢肿胀朋股肥æœèƒå‘¨æ˜é±¼å…”ç‹ +忽狗备饰饱饲å˜äº¬äº«åº—夜庙府底剂郊废净盲放刻育闸闹郑券å·å•ç‚’ç‚Šç‚•ç‚Ž +炉沫浅法泄河沾泪油泊沿泡注泻泳泥沸波泼泽治怖性怕怜怪学å®å®—定宜审 +宙官空帘实试郎诗肩房诚衬衫视è¯è¯žè¯¢è¯¥è¯¦å»ºè‚ƒå½•éš¶å±…届刷屈弦承孟孤陕 +é™é™å¦¹å§‘å§å§“始驾å‚艰线练组细驶织终驻驼ç»ç»è´¯ + +ä¹ç”» +å¥æ˜¥å¸®ç玻毒型挂å°æŒé¡¹åž®æŒŽåŸŽæŒ æ”¿èµ´èµµæŒ¡æŒºæ‹¬æ‹´æ‹¾æŒ‘指垫挣挤拼挖按挥 +挪æŸç”šé©è巷带è‰èŒ§èŒ¶è’茫è¡è£æ•…胡å—è¯æ ‡æž¯æŸ„栋相查æŸæŸ³æŸ±æŸ¿æ æ ‘è¦å’¸ +å¨æ­ªç ”砖厘厚砌ç é¢è€è€ç‰µæ®‹æ®ƒè½»é¸¦çš†èƒŒæˆ˜ç‚¹ä¸´è§ˆç«–çœå‰Šå°æ˜¯ç›¼çœ¨å“„显哑 +冒映星昨ç•è¶´èƒƒè´µç•Œè™¹è™¾èšæ€èš‚虽å“咽骂哗咱å“哈咬咳哪炭峡罚贱贴骨钞 +钟钢钥钩å¸ç¼¸æ‹œçœ‹çŸ©æ€Žç‰²é€‰é€‚秒香ç§ç§‹ç§‘é‡å¤ç«¿æ®µä¾¿ä¿©è´·é¡ºä¿®ä¿ä¿ƒä¾®ä¿­ä¿— +俘信皇泉鬼侵追俊盾待律很须å™å‰‘逃食盆胆胜胞胖脉勉狭狮独狡狱狠贸怨 +急饶蚀饺饼弯将奖哀亭亮度迹庭疮疯疫疤姿亲音å¸æ–½é—»é˜€é˜å·®å…»ç¾Žå§œå›é€ +类迷å‰é¦–逆总炼炸炮烂剃æ´æ´ªæ´’浇浊洞测洗活派洽染济洋洲浑浓津æ’æ¢æ° +æ¼æ¨ä¸¾è§‰å®£å®¤å®«å®ªçªç©¿çªƒå®¢å† è¯­æ‰è¢„祖神ç¥è¯¯è¯±è¯´è¯µåž¦é€€æ—¢å±‹æ˜¼è´¹é™¡çœ‰å­© +除险院娃姥姨姻娇怒架贺盈勇怠柔垒绑绒结绕骄绘给络骆ç»ç»žç»Ÿ \ No newline at end of file diff --git a/tests/cpp-tests/Resources/components/Player.png b/tests/cpp-tests/Resources/components/Player.png new file mode 100755 index 0000000000..77d4470de0 Binary files /dev/null and b/tests/cpp-tests/Resources/components/Player.png differ diff --git a/tests/cpp-tests/Resources/components/Projectile.png b/tests/cpp-tests/Resources/components/Projectile.png new file mode 100755 index 0000000000..548fe43293 Binary files /dev/null and b/tests/cpp-tests/Resources/components/Projectile.png differ diff --git a/tests/cpp-tests/Resources/components/Target.png b/tests/cpp-tests/Resources/components/Target.png new file mode 100755 index 0000000000..22906f3c02 Binary files /dev/null and b/tests/cpp-tests/Resources/components/Target.png differ diff --git a/tests/cpp-tests/Resources/configs/config-example.plist b/tests/cpp-tests/Resources/configs/config-example.plist new file mode 100755 index 0000000000..b680f89421 --- /dev/null +++ b/tests/cpp-tests/Resources/configs/config-example.plist @@ -0,0 +1,24 @@ + + + + + data + + cocos2d.x.fps + 60 + cocos2d.x.display_fps + + cocos2d.x.gl.projection + 3d + cocos2d.x.texture.pixel_format_for_png + rgba8888 + cocos2d.x.texture.pvrv2_has_alpha_premultiplied + + + metadata + + format + 1 + + + diff --git a/tests/cpp-tests/Resources/configs/config-test-invalid.plist b/tests/cpp-tests/Resources/configs/config-test-invalid.plist new file mode 100755 index 0000000000..2c894b6f3a --- /dev/null +++ b/tests/cpp-tests/Resources/configs/config-test-invalid.plist @@ -0,0 +1,282 @@ + + + + + texture + + width + 512 + height + 256 + + frames + + grossini_dance_01.png + + x + 347 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_02.png + + x + 215 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_03.png + + x + 151 + y + 111 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_04.png + + x + 1 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_05.png + + x + 76 + y + 111 + width + 74 + height + 109 + offsetX + -0.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_06.png + + x + 399 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_07.png + + x + 105 + y + 1 + width + 63 + height + 109 + offsetX + -6 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_08.png + + x + 1 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_09.png + + x + 295 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_10.png + + x + 232 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_11.png + + x + 169 + y + 1 + width + 62 + height + 109 + offsetX + 5.5 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_12.png + + x + 279 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_13.png + + x + 53 + y + 1 + width + 51 + height + 109 + offsetX + 0 + offsetY + -1 + originalWidth + 85 + originalHeight + -121 + + grossini_dance_14.png + + x + 331 + y + 111 + width + 51 + height + 106 + offsetX + 0 + offsetY + -2.5 + originalWidth + 85 + originalHeight + -121 + + + + diff --git a/tests/cpp-tests/Resources/configs/config-test-ok.plist b/tests/cpp-tests/Resources/configs/config-test-ok.plist new file mode 100755 index 0000000000..a4d08007cc --- /dev/null +++ b/tests/cpp-tests/Resources/configs/config-test-ok.plist @@ -0,0 +1,30 @@ + + + + + data + + test.1 + test1 + test.2 + test2 + test.3 + test3 + cocos2d.x.fps + 60 + cocos2d.x.display_fps + + cocos2d.x.gl.projection + 3d + cocos2d.x.texture.pixel_format_for_png + rgba8888 + cocos2d.x.texture.pvrv2_has_alpha_premultiplied + + + metadata + + format + 1 + + + diff --git a/tests/cpp-tests/Resources/effect1.raw b/tests/cpp-tests/Resources/effect1.raw new file mode 100755 index 0000000000..d427d2844a Binary files /dev/null and b/tests/cpp-tests/Resources/effect1.raw differ diff --git a/tests/cpp-tests/Resources/effect1.wav b/tests/cpp-tests/Resources/effect1.wav new file mode 100755 index 0000000000..f8d4292d0f Binary files /dev/null and b/tests/cpp-tests/Resources/effect1.wav differ diff --git a/tests/cpp-tests/Resources/effect2.ogg b/tests/cpp-tests/Resources/effect2.ogg new file mode 100755 index 0000000000..32a10e3a01 Binary files /dev/null and b/tests/cpp-tests/Resources/effect2.ogg differ diff --git a/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.plist b/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.plist new file mode 100755 index 0000000000..040712dafb --- /dev/null +++ b/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.plist @@ -0,0 +1,113 @@ + + + + + frames + + colourPicker.png + + frame + {{484,2},{15,15}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{15,15}} + sourceSize + {15,15} + + colourPickerBackground.png + + frame + {{182,156},{112,112}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{112,112}} + sourceSize + {112,112} + + colourPickerOverlay.png + + frame + {{336,116},{112,112}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{112,112}} + sourceSize + {112,112} + + colourPickerShadow.png + + frame + {{336,2},{112,112}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{112,112}} + sourceSize + {112,112} + + huePickerBackground.png + + frame + {{182,2},{152,152}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{152,152}} + sourceSize + {152,152} + + menuCircleWhite.png + + frame + {{450,2},{32,32}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{32,32}} + sourceSize + {32,32} + + menuColourPanelBackground.png + + frame + {{2,2},{178,168}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{178,168}} + sourceSize + {178,168} + + + metadata + + format + 2 + realTextureFileName + CCControlColourPickerSpriteSheet.png + size + {512,512} + smartupdate + $TexturePacker:SmartUpdate:d2864960f8710950545c0c206dff4f61$ + textureFileName + CCControlColourPickerSpriteSheet.png + + + diff --git a/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.png b/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.png new file mode 100755 index 0000000000..c49479ffaa Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/CCControlColourPickerSpriteSheet.png differ diff --git a/tests/cpp-tests/Resources/extensions/background.png b/tests/cpp-tests/Resources/extensions/background.png new file mode 100755 index 0000000000..500d95937f Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/background.png differ diff --git a/tests/cpp-tests/Resources/extensions/button.png b/tests/cpp-tests/Resources/extensions/button.png new file mode 100755 index 0000000000..816cf6e36c Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/button.png differ diff --git a/tests/cpp-tests/Resources/extensions/buttonBackground.png b/tests/cpp-tests/Resources/extensions/buttonBackground.png new file mode 100755 index 0000000000..a46706102b Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/buttonBackground.png differ diff --git a/tests/cpp-tests/Resources/extensions/buttonHighlighted.png b/tests/cpp-tests/Resources/extensions/buttonHighlighted.png new file mode 100755 index 0000000000..f2073e86d2 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/buttonHighlighted.png differ diff --git a/tests/cpp-tests/Resources/extensions/green_edit.png b/tests/cpp-tests/Resources/extensions/green_edit.png new file mode 100755 index 0000000000..f3b22a4adc Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/green_edit.png differ diff --git a/tests/cpp-tests/Resources/extensions/orange_edit.png b/tests/cpp-tests/Resources/extensions/orange_edit.png new file mode 100755 index 0000000000..e1f7c30f74 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/orange_edit.png differ diff --git a/tests/cpp-tests/Resources/extensions/potentiometerButton.png b/tests/cpp-tests/Resources/extensions/potentiometerButton.png new file mode 100755 index 0000000000..fb76d094d5 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/potentiometerButton.png differ diff --git a/tests/cpp-tests/Resources/extensions/potentiometerProgress.png b/tests/cpp-tests/Resources/extensions/potentiometerProgress.png new file mode 100755 index 0000000000..6bd8b32636 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/potentiometerProgress.png differ diff --git a/tests/cpp-tests/Resources/extensions/potentiometerTrack.png b/tests/cpp-tests/Resources/extensions/potentiometerTrack.png new file mode 100755 index 0000000000..445c3ba657 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/potentiometerTrack.png differ diff --git a/tests/cpp-tests/Resources/extensions/ribbon.png b/tests/cpp-tests/Resources/extensions/ribbon.png new file mode 100755 index 0000000000..b80fb94444 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/ribbon.png differ diff --git a/tests/cpp-tests/Resources/extensions/sliderProgress.png b/tests/cpp-tests/Resources/extensions/sliderProgress.png new file mode 100755 index 0000000000..81d517307d Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/sliderProgress.png differ diff --git a/tests/cpp-tests/Resources/extensions/sliderProgress2.png b/tests/cpp-tests/Resources/extensions/sliderProgress2.png new file mode 100755 index 0000000000..3b8794e38c Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/sliderProgress2.png differ diff --git a/tests/cpp-tests/Resources/extensions/sliderThumb.png b/tests/cpp-tests/Resources/extensions/sliderThumb.png new file mode 100755 index 0000000000..901803d70f Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/sliderThumb.png differ diff --git a/tests/cpp-tests/Resources/extensions/sliderTrack.png b/tests/cpp-tests/Resources/extensions/sliderTrack.png new file mode 100755 index 0000000000..59b8dc91b1 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/sliderTrack.png differ diff --git a/tests/cpp-tests/Resources/extensions/sliderTrack2.png b/tests/cpp-tests/Resources/extensions/sliderTrack2.png new file mode 100755 index 0000000000..dbc3173b87 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/sliderTrack2.png differ diff --git a/tests/cpp-tests/Resources/extensions/stepper-minus.png b/tests/cpp-tests/Resources/extensions/stepper-minus.png new file mode 100755 index 0000000000..bae9cb4725 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/stepper-minus.png differ diff --git a/tests/cpp-tests/Resources/extensions/stepper-plus.png b/tests/cpp-tests/Resources/extensions/stepper-plus.png new file mode 100755 index 0000000000..82b0673077 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/stepper-plus.png differ diff --git a/tests/cpp-tests/Resources/extensions/switch-mask.png b/tests/cpp-tests/Resources/extensions/switch-mask.png new file mode 100755 index 0000000000..fc49f947d7 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/switch-mask.png differ diff --git a/tests/cpp-tests/Resources/extensions/switch-off.png b/tests/cpp-tests/Resources/extensions/switch-off.png new file mode 100755 index 0000000000..ec2992a424 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/switch-off.png differ diff --git a/tests/cpp-tests/Resources/extensions/switch-on.png b/tests/cpp-tests/Resources/extensions/switch-on.png new file mode 100755 index 0000000000..2d8acc00e3 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/switch-on.png differ diff --git a/tests/cpp-tests/Resources/extensions/switch-thumb.png b/tests/cpp-tests/Resources/extensions/switch-thumb.png new file mode 100755 index 0000000000..a7363e5ac3 Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/switch-thumb.png differ diff --git a/tests/cpp-tests/Resources/extensions/yellow_edit.png b/tests/cpp-tests/Resources/extensions/yellow_edit.png new file mode 100755 index 0000000000..f9dc6b114d Binary files /dev/null and b/tests/cpp-tests/Resources/extensions/yellow_edit.png differ diff --git a/tests/cpp-tests/Resources/fileLookup.plist b/tests/cpp-tests/Resources/fileLookup.plist new file mode 100755 index 0000000000..7a04cd9ea7 --- /dev/null +++ b/tests/cpp-tests/Resources/fileLookup.plist @@ -0,0 +1,13 @@ + + + + + filenames + + metadata + + version + 1 + + + diff --git a/tests/cpp-tests/Resources/fonts/A Damn Mess.ttf b/tests/cpp-tests/Resources/fonts/A Damn Mess.ttf new file mode 100755 index 0000000000..e3d2a40095 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/A Damn Mess.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Abberancy.ttf b/tests/cpp-tests/Resources/fonts/Abberancy.ttf new file mode 100755 index 0000000000..cb1b43ee08 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Abberancy.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Abduction.ttf b/tests/cpp-tests/Resources/fonts/Abduction.ttf new file mode 100755 index 0000000000..1c20f9ab22 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Abduction.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/American Typewriter.ttf b/tests/cpp-tests/Resources/fonts/American Typewriter.ttf new file mode 100755 index 0000000000..8ef0d3c9a5 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/American Typewriter.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Courier New.ttf b/tests/cpp-tests/Resources/fonts/Courier New.ttf new file mode 100755 index 0000000000..ebb3361a7a Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Courier New.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Japanese.ttf b/tests/cpp-tests/Resources/fonts/Japanese.ttf new file mode 100755 index 0000000000..a96886e6a2 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Japanese.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Marker Felt.ttf b/tests/cpp-tests/Resources/fonts/Marker Felt.ttf new file mode 100755 index 0000000000..3752ef3110 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Marker Felt.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Paint Boy.ttf b/tests/cpp-tests/Resources/fonts/Paint Boy.ttf new file mode 100755 index 0000000000..42088720ca Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Paint Boy.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Roboto.bmf.fnt b/tests/cpp-tests/Resources/fonts/Roboto.bmf.fnt new file mode 100755 index 0000000000..23d70cfbb9 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Roboto.bmf.fnt differ diff --git a/tests/cpp-tests/Resources/fonts/Roboto.bmf_0.png b/tests/cpp-tests/Resources/fonts/Roboto.bmf_0.png new file mode 100755 index 0000000000..ddf50bdd13 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Roboto.bmf_0.png differ diff --git a/tests/cpp-tests/Resources/fonts/Schwarzwald Regular.ttf b/tests/cpp-tests/Resources/fonts/Schwarzwald Regular.ttf new file mode 100755 index 0000000000..1062de0d1c Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Schwarzwald Regular.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Scissor Cuts.ttf b/tests/cpp-tests/Resources/fonts/Scissor Cuts.ttf new file mode 100755 index 0000000000..0203661868 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Scissor Cuts.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/Thonburi.ttf b/tests/cpp-tests/Resources/fonts/Thonburi.ttf new file mode 100755 index 0000000000..ab579da818 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/Thonburi.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/ThonburiBold.ttf b/tests/cpp-tests/Resources/fonts/ThonburiBold.ttf new file mode 100755 index 0000000000..cce195a8ee Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/ThonburiBold.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/arial-26-en-ru.fnt b/tests/cpp-tests/Resources/fonts/arial-26-en-ru.fnt new file mode 100755 index 0000000000..47ec88cef4 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/arial-26-en-ru.fnt @@ -0,0 +1,638 @@ +info face="Arial" size=26 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=4 padding=0,0,0,0 spacing=2,2 outline=1 +common lineHeight=26 base=21 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=2 redChnl=0 greenChnl=0 blueChnl=0 +page id=0 file="arial-26-en-ru_0.png" +chars count=447 +char id=32 x=344 y=306 width=3 height=3 xoffset=-1 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=33 x=233 y=232 width=5 height=19 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=34 x=133 y=312 width=9 height=9 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=15 +char id=35 x=68 y=217 width=15 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=36 x=268 y=78 width=14 height=23 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=37 x=262 y=103 width=21 height=20 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=15 +char id=38 x=177 y=125 width=17 height=20 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=15 +char id=39 x=144 y=312 width=5 height=9 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=15 +char id=40 x=222 y=52 width=8 height=24 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=15 +char id=41 x=232 y=52 width=8 height=24 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=15 +char id=42 x=110 y=312 width=10 height=10 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=15 +char id=43 x=428 y=284 width=14 height=14 xoffset=0 yoffset=6 xadvance=13 page=0 chnl=15 +char id=44 x=151 y=312 width=5 height=8 xoffset=0 yoffset=17 xadvance=6 page=0 chnl=15 +char id=45 x=292 y=307 width=9 height=5 xoffset=-1 yoffset=12 xadvance=7 page=0 chnl=15 +char id=46 x=325 y=306 width=5 height=5 xoffset=0 yoffset=17 xadvance=6 page=0 chnl=15 +char id=47 x=222 y=232 width=9 height=19 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=48 x=176 y=148 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=49 x=501 y=145 width=9 height=19 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=50 x=416 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=51 x=144 y=148 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=52 x=400 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=53 x=384 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=54 x=112 y=149 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=55 x=120 y=237 width=13 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=56 x=80 y=152 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=57 x=64 y=152 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=58 x=389 y=286 width=5 height=15 xoffset=0 yoffset=7 xadvance=6 page=0 chnl=15 +char id=59 x=337 y=252 width=5 height=18 xoffset=0 yoffset=7 xadvance=6 page=0 chnl=15 +char id=60 x=396 y=286 width=14 height=14 xoffset=0 yoffset=6 xadvance=13 page=0 chnl=15 +char id=61 x=78 y=313 width=14 height=10 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=15 +char id=62 x=412 y=284 width=14 height=14 xoffset=0 yoffset=6 xadvance=13 page=0 chnl=15 +char id=63 x=494 y=123 width=14 height=20 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=64 x=66 y=0 width=24 height=25 xoffset=0 yoffset=2 xadvance=23 page=0 chnl=15 +char id=65 x=431 y=167 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=66 x=204 y=211 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=67 x=139 y=126 width=17 height=20 xoffset=-1 yoffset=2 xadvance=16 page=0 chnl=15 +char id=68 x=415 y=188 width=16 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=69 x=102 y=216 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=70 x=320 y=211 width=14 height=19 xoffset=0 yoffset=3 xadvance=14 page=0 chnl=15 +char id=71 x=42 y=130 width=18 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=72 x=187 y=212 width=15 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=73 x=247 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 +char id=74 x=460 y=145 width=12 height=20 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=15 +char id=75 x=451 y=188 width=16 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=76 x=30 y=239 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=77 x=451 y=167 width=18 height=19 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=15 +char id=78 x=170 y=212 width=15 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=79 x=484 y=101 width=19 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=80 x=153 y=213 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=81 x=22 y=107 width=19 height=21 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=82 x=140 y=192 width=17 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=83 x=232 y=125 width=16 height=20 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=15 +char id=84 x=271 y=190 width=16 height=19 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=85 x=250 y=125 width=15 height=20 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=86 x=40 y=196 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=87 x=66 y=174 width=25 height=19 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=15 +char id=88 x=20 y=196 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=89 x=100 y=195 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=90 x=289 y=190 width=16 height=19 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=91 x=278 y=52 width=7 height=24 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 +char id=92 x=211 y=232 width=9 height=19 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=93 x=287 y=52 width=7 height=24 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=94 x=0 y=314 width=12 height=12 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=95 x=256 y=307 width=16 height=5 xoffset=-1 yoffset=22 xadvance=13 page=0 chnl=15 +char id=96 x=238 y=308 width=7 height=6 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=15 +char id=97 x=32 y=297 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=98 x=222 y=147 width=13 height=20 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=99 x=94 y=296 width=13 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=100 x=237 y=147 width=13 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=101 x=16 y=297 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=102 x=0 y=175 width=10 height=20 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=15 +char id=103 x=417 y=145 width=13 height=20 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=104 x=45 y=238 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=105 x=240 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=106 x=242 y=52 width=7 height=24 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=107 x=105 y=237 width=13 height=19 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=15 +char id=108 x=505 y=98 width=5 height=19 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=109 x=21 y=280 width=19 height=15 xoffset=0 yoffset=7 xadvance=19 page=0 chnl=15 +char id=110 x=124 y=295 width=13 height=15 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=111 x=0 y=297 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=112 x=297 y=147 width=13 height=20 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=113 x=327 y=146 width=13 height=20 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=114 x=378 y=288 width=9 height=15 xoffset=0 yoffset=7 xadvance=7 page=0 chnl=15 +char id=115 x=64 y=296 width=13 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=116 x=200 y=233 width=9 height=19 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=117 x=169 y=292 width=13 height=15 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=118 x=465 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=119 x=488 y=250 width=20 height=15 xoffset=-1 yoffset=7 xadvance=16 page=0 chnl=15 +char id=120 x=449 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=121 x=334 y=123 width=14 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=122 x=497 y=267 width=13 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=123 x=211 y=52 width=9 height=24 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=124 x=505 y=26 width=4 height=24 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=125 x=200 y=52 width=9 height=24 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=126 x=175 y=309 width=14 height=7 xoffset=-1 yoffset=9 xadvance=13 page=0 chnl=15 +char id=160 x=339 y=306 width=3 height=3 xoffset=-1 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=161 x=275 y=232 width=5 height=19 xoffset=1 yoffset=7 xadvance=7 page=0 chnl=15 +char id=162 x=127 y=53 width=13 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=163 x=267 y=125 width=15 height=20 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=164 x=444 y=284 width=14 height=13 xoffset=-1 yoffset=6 xadvance=13 page=0 chnl=15 +char id=165 x=0 y=218 width=15 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=166 x=296 y=52 width=4 height=24 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=167 x=32 y=56 width=14 height=24 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=168 x=314 y=306 width=9 height=5 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=15 +char id=169 x=354 y=101 width=20 height=20 xoffset=-1 yoffset=2 xadvance=17 page=0 chnl=15 +char id=170 x=66 y=313 width=10 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=171 x=489 y=284 width=12 height=13 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=15 +char id=172 x=94 y=313 width=14 height=10 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=15 +char id=173 x=303 y=307 width=9 height=5 xoffset=-1 yoffset=12 xadvance=7 page=0 chnl=15 +char id=174 x=420 y=101 width=20 height=20 xoffset=-1 yoffset=2 xadvance=17 page=0 chnl=15 +char id=175 x=274 y=307 width=16 height=5 xoffset=-1 yoffset=0 xadvance=12 page=0 chnl=15 +char id=176 x=122 y=312 width=9 height=9 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=15 +char id=177 x=362 y=252 width=14 height=17 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=15 +char id=178 x=42 y=314 width=10 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=179 x=54 y=314 width=10 height=11 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=180 x=247 y=307 width=7 height=6 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=15 +char id=181 x=15 y=239 width=13 height=19 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=182 x=301 y=26 width=15 height=24 xoffset=-1 yoffset=3 xadvance=12 page=0 chnl=15 +char id=183 x=332 y=306 width=5 height=5 xoffset=1 yoffset=10 xadvance=7 page=0 chnl=15 +char id=184 x=203 y=308 width=7 height=7 xoffset=0 yoffset=19 xadvance=7 page=0 chnl=15 +char id=185 x=503 y=284 width=7 height=11 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=15 +char id=186 x=30 y=314 width=10 height=11 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=187 x=475 y=284 width=12 height=13 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=15 +char id=188 x=376 y=101 width=20 height=20 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=15 +char id=189 x=398 y=101 width=20 height=20 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=15 +char id=190 x=191 y=103 width=22 height=20 xoffset=-1 yoffset=2 xadvance=19 page=0 chnl=15 +char id=191 x=267 y=147 width=13 height=20 xoffset=0 yoffset=7 xadvance=14 page=0 chnl=15 +char id=192 x=20 y=30 width=18 height=24 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=193 x=0 y=30 width=18 height=24 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=194 x=40 y=28 width=18 height=24 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=195 x=0 y=82 width=18 height=23 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=196 x=376 y=77 width=18 height=22 xoffset=-1 yoffset=0 xadvance=15 page=0 chnl=15 +char id=197 x=473 y=52 width=18 height=23 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=198 x=12 y=175 width=25 height=19 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=15 +char id=199 x=117 y=27 width=17 height=24 xoffset=-1 yoffset=2 xadvance=16 page=0 chnl=15 +char id=200 x=318 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=201 x=420 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=202 x=471 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=203 x=469 y=77 width=15 height=22 xoffset=0 yoffset=0 xadvance=15 page=0 chnl=15 +char id=204 x=260 y=52 width=7 height=24 xoffset=-1 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=205 x=269 y=52 width=7 height=24 xoffset=0 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=206 x=500 y=0 width=10 height=24 xoffset=-1 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=207 x=0 y=107 width=9 height=22 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=208 x=411 y=167 width=18 height=19 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=15 +char id=209 x=186 y=78 width=15 height=23 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=210 x=358 y=0 width=19 height=24 xoffset=-1 yoffset=-1 xadvance=18 page=0 chnl=15 +char id=211 x=337 y=0 width=19 height=24 xoffset=-1 yoffset=-1 xadvance=18 page=0 chnl=15 +char id=212 x=316 y=0 width=19 height=24 xoffset=-1 yoffset=-1 xadvance=18 page=0 chnl=15 +char id=213 x=379 y=0 width=19 height=24 xoffset=-1 yoffset=-1 xadvance=18 page=0 chnl=15 +char id=214 x=452 y=52 width=19 height=23 xoffset=-1 yoffset=0 xadvance=18 page=0 chnl=15 +char id=215 x=460 y=284 width=13 height=13 xoffset=0 yoffset=6 xadvance=13 page=0 chnl=15 +char id=216 x=43 y=107 width=19 height=21 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=217 x=488 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=218 x=386 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=219 x=335 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=220 x=203 y=78 width=15 height=23 xoffset=0 yoffset=0 xadvance=16 page=0 chnl=15 +char id=221 x=400 y=0 width=18 height=24 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=222 x=85 y=216 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=223 x=398 y=123 width=14 height=20 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=15 +char id=224 x=414 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=225 x=430 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=226 x=446 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=227 x=352 y=210 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=228 x=144 y=258 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=229 x=64 y=105 width=14 height=21 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=230 x=418 y=250 width=22 height=15 xoffset=-1 yoffset=7 xadvance=20 page=0 chnl=15 +char id=231 x=282 y=147 width=13 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=232 x=160 y=148 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=233 x=32 y=153 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=234 x=48 y=152 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=235 x=64 y=259 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=236 x=503 y=188 width=7 height=19 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=237 x=503 y=77 width=7 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 +char id=238 x=188 y=233 width=10 height=19 xoffset=-1 yoffset=3 xadvance=6 page=0 chnl=15 +char id=239 x=326 y=252 width=9 height=18 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=15 +char id=240 x=462 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=241 x=135 y=237 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=242 x=366 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=243 x=350 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=244 x=478 y=123 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=245 x=480 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=246 x=80 y=259 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=247 x=14 y=314 width=14 height=11 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=248 x=378 y=250 width=14 height=17 xoffset=0 yoffset=6 xadvance=14 page=0 chnl=15 +char id=249 x=192 y=147 width=13 height=20 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=250 x=387 y=145 width=13 height=20 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=251 x=402 y=145 width=13 height=20 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=252 x=160 y=255 width=13 height=18 xoffset=0 yoffset=4 xadvance=13 page=0 chnl=15 +char id=253 x=80 y=53 width=14 height=24 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=15 +char id=254 x=157 y=52 width=13 height=24 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=255 x=220 y=78 width=14 height=23 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=15 +char id=1024 x=352 y=26 width=15 height=24 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=1025 x=486 y=77 width=15 height=22 xoffset=0 yoffset=0 xadvance=15 page=0 chnl=15 +char id=1026 x=285 y=102 width=21 height=20 xoffset=-1 yoffset=3 xadvance=20 page=0 chnl=15 +char id=1027 x=112 y=53 width=13 height=24 xoffset=0 yoffset=-1 xadvance=12 page=0 chnl=15 +char id=1028 x=101 y=127 width=17 height=20 xoffset=-1 yoffset=2 xadvance=16 page=0 chnl=15 +char id=1029 x=214 y=125 width=16 height=20 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=15 +char id=1030 x=268 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1031 x=11 y=107 width=9 height=22 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=1032 x=446 y=145 width=12 height=20 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1033 x=113 y=104 width=26 height=20 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=15 +char id=1034 x=145 y=170 width=23 height=19 xoffset=0 yoffset=3 xadvance=23 page=0 chnl=15 +char id=1035 x=283 y=169 width=20 height=19 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=15 +char id=1036 x=0 y=56 width=14 height=24 xoffset=0 yoffset=-1 xadvance=13 page=0 chnl=15 +char id=1037 x=230 y=26 width=16 height=24 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=1038 x=60 y=28 width=17 height=24 xoffset=-1 yoffset=-1 xadvance=14 page=0 chnl=15 +char id=1039 x=212 y=26 width=16 height=24 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1040 x=60 y=196 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1041 x=34 y=217 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1042 x=469 y=188 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1043 x=496 y=209 width=13 height=19 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1044 x=493 y=52 width=17 height=23 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1045 x=119 y=216 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1046 x=119 y=171 width=24 height=19 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=15 +char id=1047 x=301 y=124 width=15 height=20 xoffset=-1 yoffset=2 xadvance=14 page=0 chnl=15 +char id=1048 x=253 y=190 width=16 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1049 x=117 y=79 width=16 height=23 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=1050 x=288 y=211 width=14 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1051 x=196 y=125 width=16 height=20 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1052 x=0 y=197 width=18 height=19 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=15 +char id=1053 x=221 y=211 width=15 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1054 x=442 y=101 width=19 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=1055 x=235 y=190 width=16 height=19 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1056 x=51 y=217 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1057 x=120 y=126 width=17 height=20 xoffset=-1 yoffset=2 xadvance=16 page=0 chnl=15 +char id=1058 x=325 y=190 width=16 height=19 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1059 x=158 y=126 width=17 height=20 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1060 x=390 y=167 width=19 height=19 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=15 +char id=1061 x=491 y=167 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1062 x=155 y=26 width=17 height=24 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=15 +char id=1063 x=17 y=218 width=15 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1064 x=170 y=170 width=21 height=19 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=15 +char id=1065 x=225 y=0 width=22 height=24 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=15 +char id=1066 x=261 y=169 width=20 height=19 xoffset=-1 yoffset=3 xadvance=18 page=0 chnl=15 +char id=1067 x=369 y=167 width=19 height=19 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=15 +char id=1068 x=486 y=188 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1069 x=82 y=127 width=17 height=20 xoffset=-1 yoffset=2 xadvance=16 page=0 chnl=15 +char id=1070 x=166 y=103 width=23 height=20 xoffset=0 yoffset=2 xadvance=23 page=0 chnl=15 +char id=1071 x=159 y=191 width=17 height=19 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1072 x=321 y=272 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1073 x=382 y=123 width=14 height=20 xoffset=-1 yoffset=2 xadvance=13 page=0 chnl=15 +char id=1074 x=283 y=290 width=12 height=15 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1075 x=366 y=288 width=10 height=15 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1076 x=445 y=230 width=15 height=18 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1077 x=353 y=271 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1078 x=63 y=279 width=18 height=15 xoffset=-1 yoffset=7 xadvance=15 page=0 chnl=15 +char id=1079 x=269 y=290 width=12 height=15 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1080 x=139 y=295 width=13 height=15 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1081 x=0 y=239 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1082 x=339 y=289 width=12 height=15 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1083 x=369 y=271 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1084 x=270 y=273 width=16 height=15 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1085 x=213 y=291 width=12 height=15 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1086 x=385 y=269 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1087 x=227 y=291 width=12 height=15 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1088 x=372 y=145 width=13 height=20 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1089 x=154 y=295 width=13 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1090 x=184 y=292 width=13 height=15 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1091 x=318 y=124 width=14 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1092 x=294 y=0 width=20 height=24 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=15 +char id=1093 x=401 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1094 x=48 y=259 width=14 height=18 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1095 x=297 y=290 width=12 height=15 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1096 x=0 y=280 width=19 height=15 xoffset=0 yoffset=7 xadvance=18 page=0 chnl=15 +char id=1097 x=289 y=232 width=20 height=18 xoffset=0 yoffset=7 xadvance=19 page=0 chnl=15 +char id=1098 x=198 y=274 width=16 height=15 xoffset=-1 yoffset=7 xadvance=14 page=0 chnl=15 +char id=1099 x=252 y=273 width=16 height=15 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1100 x=311 y=289 width=12 height=15 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1101 x=325 y=289 width=12 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1102 x=83 y=279 width=18 height=15 xoffset=0 yoffset=7 xadvance=17 page=0 chnl=15 +char id=1103 x=79 y=296 width=13 height=15 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1104 x=16 y=153 width=14 height=20 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1105 x=0 y=260 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1106 x=48 y=54 width=14 height=24 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1107 x=176 y=233 width=10 height=19 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=15 +char id=1108 x=241 y=290 width=12 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1109 x=109 y=295 width=13 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1110 x=254 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1111 x=315 y=252 width=9 height=18 xoffset=-1 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1112 x=251 y=52 width=7 height=24 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1113 x=442 y=250 width=22 height=15 xoffset=-1 yoffset=7 xadvance=21 page=0 chnl=15 +char id=1114 x=42 y=280 width=19 height=15 xoffset=0 yoffset=7 xadvance=19 page=0 chnl=15 +char id=1115 x=464 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1116 x=150 y=234 width=12 height=19 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1117 x=90 y=237 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1118 x=16 y=56 width=14 height=24 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1119 x=276 y=253 width=12 height=18 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1120 x=80 y=105 width=31 height=20 xoffset=0 yoffset=2 xadvance=31 page=0 chnl=15 +char id=1121 x=179 y=275 width=17 height=15 xoffset=-1 yoffset=7 xadvance=14 page=0 chnl=15 +char id=1122 x=305 y=169 width=20 height=19 xoffset=-1 yoffset=3 xadvance=18 page=0 chnl=15 +char id=1123 x=379 y=188 width=16 height=19 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1124 x=215 y=103 width=22 height=20 xoffset=1 yoffset=2 xadvance=22 page=0 chnl=15 +char id=1125 x=103 y=278 width=17 height=15 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1126 x=471 y=167 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1127 x=433 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1128 x=193 y=169 width=21 height=19 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=15 +char id=1129 x=160 y=275 width=17 height=15 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1130 x=239 y=169 width=20 height=19 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=15 +char id=1131 x=216 y=274 width=16 height=15 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1132 x=93 y=174 width=24 height=19 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=15 +char id=1133 x=466 y=250 width=20 height=15 xoffset=0 yoffset=7 xadvance=20 page=0 chnl=15 +char id=1134 x=20 y=0 width=14 height=28 xoffset=0 yoffset=-1 xadvance=14 page=0 chnl=15 +char id=1135 x=172 y=52 width=13 height=24 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1136 x=348 y=167 width=19 height=19 xoffset=-1 yoffset=3 xadvance=18 page=0 chnl=15 +char id=1137 x=307 y=190 width=16 height=19 xoffset=-1 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1138 x=0 y=131 width=19 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=1139 x=481 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1140 x=308 y=102 width=21 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=1141 x=122 y=278 width=17 height=15 xoffset=-1 yoffset=7 xadvance=14 page=0 chnl=15 +char id=1142 x=249 y=0 width=21 height=24 xoffset=-1 yoffset=-1 xadvance=18 page=0 chnl=15 +char id=1143 x=178 y=191 width=17 height=19 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1144 x=118 y=0 width=26 height=24 xoffset=0 yoffset=2 xadvance=25 page=0 chnl=15 +char id=1145 x=141 y=104 width=23 height=20 xoffset=-1 yoffset=7 xadvance=20 page=0 chnl=15 +char id=1146 x=310 y=77 width=21 height=22 xoffset=-1 yoffset=1 xadvance=19 page=0 chnl=15 +char id=1147 x=344 y=252 width=16 height=17 xoffset=-1 yoffset=6 xadvance=14 page=0 chnl=15 +char id=1148 x=36 y=0 width=28 height=26 xoffset=0 yoffset=-3 xadvance=27 page=0 chnl=15 +char id=1149 x=333 y=77 width=20 height=22 xoffset=-1 yoffset=0 xadvance=19 page=0 chnl=15 +char id=1150 x=302 y=52 width=31 height=23 xoffset=0 yoffset=-1 xadvance=31 page=0 chnl=15 +char id=1151 x=390 y=230 width=17 height=18 xoffset=-1 yoffset=4 xadvance=14 page=0 chnl=15 +char id=1152 x=174 y=26 width=17 height=24 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=15 +char id=1153 x=207 y=147 width=13 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1154 x=0 y=153 width=14 height=20 xoffset=-1 yoffset=2 xadvance=11 page=0 chnl=15 +char id=1155 x=191 y=309 width=10 height=7 xoffset=-5 yoffset=2 xadvance=0 page=0 chnl=15 +char id=1156 x=226 y=308 width=10 height=6 xoffset=-4 yoffset=3 xadvance=0 page=0 chnl=15 +char id=1157 x=212 y=308 width=5 height=7 xoffset=-2 yoffset=3 xadvance=0 page=0 chnl=15 +char id=1158 x=219 y=308 width=5 height=7 xoffset=-2 yoffset=3 xadvance=0 page=0 chnl=15 +char id=1159 x=158 y=312 width=15 height=7 xoffset=-7 yoffset=0 xadvance=0 page=0 chnl=15 +char id=1160 x=335 y=52 width=24 height=23 xoffset=-12 yoffset=3 xadvance=0 page=0 chnl=15 +char id=1161 x=92 y=0 width=24 height=25 xoffset=-11 yoffset=2 xadvance=0 page=0 chnl=15 +char id=1162 x=0 y=0 width=18 height=28 xoffset=0 yoffset=-1 xadvance=16 page=0 chnl=15 +char id=1163 x=152 y=78 width=15 height=23 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1164 x=216 y=190 width=17 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1165 x=368 y=209 width=14 height=19 xoffset=-1 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1166 x=433 y=188 width=16 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1167 x=252 y=147 width=13 height=20 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1168 x=187 y=52 width=11 height=24 xoffset=0 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=1169 x=164 y=234 width=10 height=19 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1170 x=136 y=213 width=15 height=19 xoffset=-1 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1171 x=353 y=288 width=11 height=15 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1172 x=369 y=26 width=15 height=24 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1173 x=312 y=146 width=13 height=20 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1174 x=174 y=0 width=24 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=15 +char id=1175 x=311 y=232 width=18 height=18 xoffset=-1 yoffset=7 xadvance=15 page=0 chnl=15 +char id=1176 x=437 y=26 width=15 height=24 xoffset=-1 yoffset=2 xadvance=14 page=0 chnl=15 +char id=1177 x=474 y=145 width=12 height=20 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1178 x=96 y=53 width=14 height=24 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1179 x=290 y=252 width=11 height=18 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1180 x=336 y=211 width=14 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1181 x=199 y=291 width=12 height=15 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1182 x=397 y=188 width=16 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1183 x=60 y=238 width=13 height=19 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1184 x=327 y=168 width=19 height=19 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=15 +char id=1185 x=288 y=273 width=15 height=15 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1186 x=136 y=26 width=17 height=24 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1187 x=112 y=258 width=14 height=18 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1188 x=216 y=169 width=21 height=19 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=15 +char id=1189 x=234 y=273 width=16 height=15 xoffset=0 yoffset=7 xadvance=15 page=0 chnl=15 +char id=1190 x=146 y=0 width=26 height=24 xoffset=0 yoffset=3 xadvance=26 page=0 chnl=15 +char id=1191 x=331 y=101 width=21 height=20 xoffset=0 yoffset=7 xadvance=20 page=0 chnl=15 +char id=1192 x=21 y=131 width=19 height=20 xoffset=-1 yoffset=2 xadvance=17 page=0 chnl=15 +char id=1193 x=305 y=272 width=14 height=15 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1194 x=193 y=26 width=17 height=24 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=15 +char id=1195 x=342 y=145 width=13 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1196 x=248 y=26 width=16 height=24 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1197 x=205 y=254 width=13 height=18 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1198 x=343 y=189 width=16 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1199 x=432 y=209 width=14 height=19 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1200 x=361 y=188 width=16 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1201 x=448 y=209 width=14 height=19 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1202 x=460 y=0 width=18 height=24 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1203 x=478 y=230 width=14 height=18 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1204 x=200 y=0 width=23 height=24 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=15 +char id=1205 x=371 y=230 width=17 height=18 xoffset=-1 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1206 x=98 y=27 width=17 height=24 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1207 x=128 y=258 width=14 height=18 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1208 x=238 y=211 width=15 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1209 x=255 y=290 width=12 height=15 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1210 x=255 y=211 width=15 height=19 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1211 x=75 y=238 width=13 height=19 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1212 x=239 y=103 width=21 height=20 xoffset=-1 yoffset=2 xadvance=20 page=0 chnl=15 +char id=1213 x=141 y=278 width=17 height=15 xoffset=-1 yoffset=7 xadvance=15 page=0 chnl=15 +char id=1214 x=387 y=52 width=21 height=23 xoffset=-1 yoffset=2 xadvance=20 page=0 chnl=15 +char id=1215 x=197 y=190 width=17 height=19 xoffset=-1 yoffset=7 xadvance=15 page=0 chnl=15 +char id=1216 x=282 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1217 x=361 y=52 width=24 height=23 xoffset=-1 yoffset=-1 xadvance=21 page=0 chnl=15 +char id=1218 x=120 y=192 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1219 x=454 y=26 width=15 height=24 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1220 x=357 y=145 width=13 height=20 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1221 x=420 y=0 width=18 height=24 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1222 x=409 y=230 width=16 height=18 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1223 x=266 y=26 width=16 height=24 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1224 x=432 y=145 width=12 height=20 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1225 x=440 y=0 width=18 height=24 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1226 x=32 y=260 width=14 height=18 xoffset=0 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1227 x=284 y=26 width=15 height=24 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1228 x=234 y=253 width=12 height=18 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1229 x=272 y=0 width=20 height=24 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=15 +char id=1230 x=351 y=232 width=18 height=18 xoffset=0 yoffset=7 xadvance=16 page=0 chnl=15 +char id=1231 x=261 y=232 width=5 height=19 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1232 x=40 y=82 width=18 height=23 xoffset=-1 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=1233 x=272 y=211 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1234 x=396 y=77 width=18 height=22 xoffset=-1 yoffset=0 xadvance=15 page=0 chnl=15 +char id=1235 x=462 y=230 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1236 x=39 y=175 width=25 height=19 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=15 +char id=1237 x=394 y=250 width=22 height=15 xoffset=-1 yoffset=7 xadvance=20 page=0 chnl=15 +char id=1238 x=169 y=78 width=15 height=23 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=15 +char id=1239 x=304 y=211 width=14 height=19 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1240 x=62 y=130 width=18 height=20 xoffset=-1 yoffset=2 xadvance=17 page=0 chnl=15 +char id=1241 x=337 y=272 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1242 x=20 y=82 width=18 height=23 xoffset=-1 yoffset=0 xadvance=17 page=0 chnl=15 +char id=1243 x=16 y=260 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1244 x=284 y=78 width=24 height=22 xoffset=-1 yoffset=0 xadvance=21 page=0 chnl=15 +char id=1245 x=331 y=232 width=18 height=18 xoffset=-1 yoffset=4 xadvance=15 page=0 chnl=15 +char id=1246 x=135 y=79 width=15 height=23 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=1247 x=220 y=253 width=12 height=18 xoffset=-1 yoffset=4 xadvance=10 page=0 chnl=15 +char id=1248 x=284 y=125 width=15 height=20 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1249 x=96 y=149 width=14 height=20 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1250 x=416 y=77 width=16 height=22 xoffset=0 yoffset=0 xadvance=16 page=0 chnl=15 +char id=1251 x=190 y=254 width=13 height=18 xoffset=0 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1252 x=434 y=77 width=16 height=22 xoffset=0 yoffset=0 xadvance=16 page=0 chnl=15 +char id=1253 x=175 y=255 width=13 height=18 xoffset=0 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1254 x=431 y=52 width=19 height=23 xoffset=-1 yoffset=0 xadvance=18 page=0 chnl=15 +char id=1255 x=96 y=258 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1256 x=463 y=101 width=19 height=20 xoffset=-1 yoffset=2 xadvance=18 page=0 chnl=15 +char id=1257 x=417 y=267 width=14 height=15 xoffset=-1 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1258 x=410 y=52 width=19 height=23 xoffset=-1 yoffset=0 xadvance=18 page=0 chnl=15 +char id=1259 x=494 y=230 width=14 height=18 xoffset=-1 yoffset=4 xadvance=13 page=0 chnl=15 +char id=1260 x=98 y=79 width=17 height=23 xoffset=-1 yoffset=0 xadvance=16 page=0 chnl=15 +char id=1261 x=248 y=253 width=12 height=18 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=15 +char id=1262 x=79 y=80 width=17 height=23 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=1263 x=236 y=78 width=14 height=23 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=15 +char id=1264 x=60 y=80 width=17 height=23 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=1265 x=252 y=78 width=14 height=23 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=15 +char id=1266 x=79 y=27 width=17 height=24 xoffset=-1 yoffset=-1 xadvance=14 page=0 chnl=15 +char id=1267 x=64 y=54 width=14 height=24 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1268 x=452 y=77 width=15 height=22 xoffset=-1 yoffset=0 xadvance=15 page=0 chnl=15 +char id=1269 x=262 y=253 width=12 height=18 xoffset=-1 yoffset=4 xadvance=12 page=0 chnl=15 +char id=1270 x=142 y=52 width=13 height=24 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1271 x=303 y=252 width=10 height=18 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1272 x=355 y=77 width=19 height=22 xoffset=0 yoffset=0 xadvance=20 page=0 chnl=15 +char id=1273 x=427 y=230 width=16 height=18 xoffset=0 yoffset=4 xadvance=16 page=0 chnl=15 +char id=1274 x=403 y=26 width=15 height=24 xoffset=-1 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1275 x=488 y=145 width=11 height=20 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1276 x=480 y=0 width=18 height=24 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1277 x=128 y=148 width=14 height=20 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1278 x=80 y=195 width=18 height=19 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1279 x=48 y=297 width=14 height=15 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=15 +kernings count=186 +kerning first=32 second=65 amount=-1 +kerning first=1168 second=187 amount=-1 +kerning first=1168 second=171 amount=-1 +kerning first=1168 second=46 amount=-2 +kerning first=1168 second=44 amount=-2 +kerning first=1118 second=46 amount=-2 +kerning first=1118 second=44 amount=-2 +kerning first=1100 second=1095 amount=-1 +kerning first=1100 second=1090 amount=-1 +kerning first=1091 second=46 amount=-2 +kerning first=49 second=49 amount=-1 +kerning first=65 second=32 amount=-1 +kerning first=65 second=84 amount=-1 +kerning first=65 second=86 amount=-1 +kerning first=1091 second=44 amount=-2 +kerning first=65 second=89 amount=-1 +kerning first=1090 second=46 amount=-2 +kerning first=1090 second=44 amount=-2 +kerning first=1075 second=1076 amount=-1 +kerning first=1075 second=46 amount=-2 +kerning first=70 second=44 amount=-2 +kerning first=70 second=46 amount=-2 +kerning first=70 second=65 amount=-1 +kerning first=1075 second=44 amount=-2 +kerning first=76 second=84 amount=-1 +kerning first=76 second=86 amount=-1 +kerning first=76 second=87 amount=-1 +kerning first=76 second=89 amount=-1 +kerning first=1074 second=1095 amount=-1 +kerning first=1073 second=1083 amount=-1 +kerning first=1073 second=1076 amount=-1 +kerning first=80 second=44 amount=-3 +kerning first=80 second=46 amount=-3 +kerning first=80 second=65 amount=-1 +kerning first=1070 second=1083 amount=-1 +kerning first=1070 second=1076 amount=-1 +kerning first=1070 second=1061 amount=-1 +kerning first=1070 second=1058 amount=-1 +kerning first=1070 second=1051 amount=-1 +kerning first=84 second=44 amount=-2 +kerning first=84 second=45 amount=-1 +kerning first=84 second=46 amount=-2 +kerning first=84 second=58 amount=-2 +kerning first=1070 second=1044 amount=-1 +kerning first=84 second=65 amount=-1 +kerning first=1068 second=1071 amount=-1 +kerning first=84 second=97 amount=-2 +kerning first=84 second=99 amount=-2 +kerning first=84 second=101 amount=-2 +kerning first=1068 second=1063 amount=-1 +kerning first=84 second=111 amount=-2 +kerning first=1068 second=1061 amount=-1 +kerning first=84 second=115 amount=-2 +kerning first=1068 second=1058 amount=-2 +kerning first=84 second=119 amount=-1 +kerning first=84 second=121 amount=-1 +kerning first=86 second=44 amount=-2 +kerning first=86 second=45 amount=-1 +kerning first=86 second=46 amount=-2 +kerning first=1060 second=1059 amount=-1 +kerning first=1060 second=1058 amount=-1 +kerning first=86 second=65 amount=-1 +kerning first=86 second=97 amount=-1 +kerning first=86 second=101 amount=-1 +kerning first=1059 second=1103 amount=-1 +kerning first=86 second=111 amount=-1 +kerning first=1059 second=1102 amount=-1 +kerning first=1059 second=1097 amount=-1 +kerning first=1059 second=1096 amount=-1 +kerning first=87 second=44 amount=-1 +kerning first=1059 second=1094 amount=-1 +kerning first=87 second=46 amount=-1 +kerning first=1059 second=1093 amount=-1 +kerning first=1059 second=1089 amount=-1 +kerning first=1059 second=1088 amount=-1 +kerning first=1059 second=1087 amount=-1 +kerning first=1059 second=1086 amount=-1 +kerning first=1059 second=1085 amount=-1 +kerning first=1059 second=1084 amount=-1 +kerning first=1059 second=1083 amount=-1 +kerning first=1059 second=1082 amount=-1 +kerning first=1059 second=1080 amount=-1 +kerning first=1059 second=1079 amount=-1 +kerning first=89 second=44 amount=-3 +kerning first=89 second=45 amount=-2 +kerning first=89 second=46 amount=-3 +kerning first=89 second=58 amount=-1 +kerning first=1059 second=1077 amount=-1 +kerning first=89 second=65 amount=-1 +kerning first=89 second=97 amount=-1 +kerning first=89 second=101 amount=-2 +kerning first=1059 second=1076 amount=-1 +kerning first=89 second=111 amount=-2 +kerning first=89 second=112 amount=-1 +kerning first=89 second=113 amount=-2 +kerning first=89 second=117 amount=-1 +kerning first=89 second=118 amount=-1 +kerning first=1059 second=1075 amount=-1 +kerning first=1059 second=1074 amount=-1 +kerning first=114 second=44 amount=-1 +kerning first=114 second=46 amount=-1 +kerning first=1059 second=1044 amount=-1 +kerning first=118 second=44 amount=-1 +kerning first=118 second=46 amount=-1 +kerning first=119 second=44 amount=-1 +kerning first=119 second=46 amount=-1 +kerning first=121 second=44 amount=-1 +kerning first=121 second=46 amount=-1 +kerning first=1059 second=1040 amount=-1 +kerning first=1059 second=187 amount=-1 +kerning first=1059 second=171 amount=-1 +kerning first=1059 second=46 amount=-3 +kerning first=1059 second=44 amount=-3 +kerning first=1058 second=1103 amount=-1 +kerning first=1058 second=1102 amount=-1 +kerning first=1058 second=1100 amount=-1 +kerning first=1058 second=1099 amount=-1 +kerning first=1058 second=1097 amount=-1 +kerning first=1058 second=1093 amount=-1 +kerning first=1058 second=1091 amount=-1 +kerning first=1058 second=1089 amount=-1 +kerning first=1058 second=1088 amount=-1 +kerning first=1058 second=1087 amount=-1 +kerning first=1058 second=1086 amount=-1 +kerning first=1058 second=1084 amount=-1 +kerning first=1058 second=1083 amount=-1 +kerning first=1058 second=1082 amount=-1 +kerning first=1058 second=1080 amount=-1 +kerning first=1058 second=1077 amount=-1 +kerning first=1058 second=1074 amount=-1 +kerning first=1058 second=1072 amount=-1 +kerning first=1058 second=1054 amount=-1 +kerning first=1058 second=187 amount=-1 +kerning first=1058 second=171 amount=-1 +kerning first=1058 second=46 amount=-2 +kerning first=1058 second=44 amount=-2 +kerning first=1057 second=1061 amount=-1 +kerning first=1056 second=1086 amount=-1 +kerning first=1056 second=1077 amount=-1 +kerning first=1056 second=1076 amount=-1 +kerning first=1056 second=1061 amount=-1 +kerning first=1056 second=1058 amount=-1 +kerning first=1056 second=1051 amount=-1 +kerning first=1056 second=1044 amount=-1 +kerning first=1056 second=1040 amount=-1 +kerning first=1056 second=187 amount=-1 +kerning first=1056 second=46 amount=-4 +kerning first=1056 second=44 amount=-4 +kerning first=1054 second=1061 amount=-1 +kerning first=1043 second=1103 amount=-1 +kerning first=1043 second=1102 amount=-1 +kerning first=1043 second=1100 amount=-1 +kerning first=1043 second=1099 amount=-1 +kerning first=1043 second=1091 amount=-1 +kerning first=1043 second=1088 amount=-1 +kerning first=1043 second=1086 amount=-1 +kerning first=1043 second=1085 amount=-1 +kerning first=1043 second=1084 amount=-1 +kerning first=1043 second=1083 amount=-1 +kerning first=1043 second=1080 amount=-1 +kerning first=1043 second=1077 amount=-1 +kerning first=1043 second=1076 amount=-1 +kerning first=1043 second=1074 amount=-1 +kerning first=1043 second=1072 amount=-1 +kerning first=1043 second=1057 amount=-1 +kerning first=1043 second=1054 amount=-1 +kerning first=1043 second=1051 amount=-1 +kerning first=1043 second=1044 amount=-1 +kerning first=1043 second=1040 amount=-1 +kerning first=1043 second=187 amount=-1 +kerning first=1043 second=171 amount=-1 +kerning first=1043 second=46 amount=-2 +kerning first=1043 second=44 amount=-2 +kerning first=1042 second=1066 amount=-1 +kerning first=1042 second=1063 amount=-1 +kerning first=1042 second=1061 amount=-1 +kerning first=1042 second=1058 amount=-1 +kerning first=1041 second=1063 amount=-1 +kerning first=1041 second=1058 amount=-1 +kerning first=1040 second=1063 amount=-1 +kerning first=1040 second=1059 amount=-1 +kerning first=1040 second=1058 amount=-1 +kerning first=1027 second=187 amount=-1 +kerning first=1027 second=171 amount=-1 +kerning first=1027 second=46 amount=-2 +kerning first=1027 second=44 amount=-2 diff --git a/tests/cpp-tests/Resources/fonts/arial-26-en-ru_0.png b/tests/cpp-tests/Resources/fonts/arial-26-en-ru_0.png new file mode 100755 index 0000000000..6bba537945 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/arial-26-en-ru_0.png differ diff --git a/tests/cpp-tests/Resources/fonts/arial-unicode-26.GlyphProject b/tests/cpp-tests/Resources/fonts/arial-unicode-26.GlyphProject new file mode 100755 index 0000000000..87994d2173 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/arial-unicode-26.GlyphProject differ diff --git a/tests/cpp-tests/Resources/fonts/arial-unicode-26.fnt b/tests/cpp-tests/Resources/fonts/arial-unicode-26.fnt new file mode 100755 index 0000000000..59971fd2cf --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/arial-unicode-26.fnt @@ -0,0 +1,206 @@ +info face="ArialUnicodeMS" size=26 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=35 base=28 scaleW=512 scaleH=256 pages=1 packed=0 +page id=0 file="arial-unicode-26.png" +chars count=202 +char id=64 x=2 y=2 width=29 height=29 xoffset=0 yoffset=8 xadvance=26 page=0 chnl=0 letter="@" +char id=210 x=33 y=2 width=22 height=29 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 letter="Ã’" +char id=211 x=57 y=2 width=22 height=29 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 letter="Ó" +char id=212 x=81 y=2 width=22 height=29 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 letter="Ô" +char id=199 x=105 y=2 width=21 height=29 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="Ç" +char id=217 x=128 y=2 width=19 height=29 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0 letter="Ù" +char id=218 x=149 y=2 width=19 height=29 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0 letter="Ú" +char id=219 x=170 y=2 width=19 height=29 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0 letter="Û" +char id=182 x=191 y=2 width=18 height=29 xoffset=-1 yoffset=8 xadvance=13 page=0 chnl=0 letter="¶" +char id=162 x=211 y=2 width=17 height=29 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="¢" +char id=167 x=230 y=2 width=17 height=29 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="§" +char id=253 x=249 y=2 width=17 height=29 xoffset=-1 yoffset=8 xadvance=13 page=0 chnl=0 letter="ý" +char id=254 x=268 y=2 width=17 height=29 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="þ" +char id=255 x=287 y=2 width=17 height=29 xoffset=-1 yoffset=8 xadvance=13 page=0 chnl=0 letter="ÿ" +char id=123 x=306 y=2 width=13 height=29 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0 letter="{" +char id=125 x=321 y=2 width=12 height=29 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0 letter="}" +char id=40 x=335 y=2 width=11 height=29 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0 letter="(" +char id=41 x=348 y=2 width=11 height=29 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0 letter=")" +char id=106 x=361 y=2 width=10 height=29 xoffset=-3 yoffset=8 xadvance=5 page=0 chnl=0 letter="j" +char id=91 x=373 y=2 width=10 height=29 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0 letter="[" +char id=93 x=385 y=2 width=10 height=29 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="]" +char id=124 x=397 y=2 width=7 height=29 xoffset=1 yoffset=8 xadvance=6 page=0 chnl=0 letter="|" +char id=166 x=406 y=2 width=7 height=29 xoffset=1 yoffset=8 xadvance=6 page=0 chnl=0 letter="¦" +char id=32654 x=415 y=2 width=28 height=28 xoffset=0 yoffset=5 xadvance=26 page=0 chnl=0 letter="美" +char id=22909 x=445 y=2 width=28 height=28 xoffset=0 yoffset=5 xadvance=26 page=0 chnl=0 letter="好" +char id=33391 x=475 y=2 width=27 height=28 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 letter="良" +char id=45216 x=2 y=33 width=27 height=28 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 letter="ë‚ " +char id=30340 x=31 y=33 width=25 height=28 xoffset=1 yoffset=5 xadvance=26 page=0 chnl=0 letter="çš„" +char id=192 x=58 y=33 width=22 height=28 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="À" +char id=193 x=82 y=33 width=22 height=28 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="Ã" +char id=194 x=106 y=33 width=22 height=28 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="Â" +char id=197 x=130 y=33 width=22 height=28 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="Ã…" +char id=213 x=154 y=33 width=22 height=28 xoffset=0 yoffset=4 xadvance=20 page=0 chnl=0 letter="Õ" +char id=214 x=178 y=33 width=22 height=28 xoffset=0 yoffset=4 xadvance=20 page=0 chnl=0 letter="Ö" +char id=221 x=202 y=33 width=21 height=28 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="Ã" +char id=220 x=225 y=33 width=19 height=28 xoffset=1 yoffset=4 xadvance=18 page=0 chnl=0 letter="Ãœ" +char id=200 x=246 y=33 width=18 height=28 xoffset=1 yoffset=3 xadvance=17 page=0 chnl=0 letter="È" +char id=201 x=266 y=33 width=18 height=28 xoffset=1 yoffset=3 xadvance=17 page=0 chnl=0 letter="É" +char id=202 x=286 y=33 width=18 height=28 xoffset=1 yoffset=3 xadvance=17 page=0 chnl=0 letter="Ê" +char id=36 x=306 y=33 width=17 height=28 xoffset=0 yoffset=6 xadvance=14 page=0 chnl=0 letter="$" +char id=206 x=325 y=33 width=13 height=28 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=0 letter="ÃŽ" +char id=204 x=340 y=33 width=9 height=28 xoffset=-1 yoffset=3 xadvance=7 page=0 chnl=0 letter="ÃŒ" +char id=205 x=351 y=33 width=9 height=28 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0 letter="Ã" +char id=22825 x=362 y=33 width=28 height=27 xoffset=0 yoffset=6 xadvance=26 page=0 chnl=0 letter="天" +char id=51339 x=392 y=33 width=26 height=27 xoffset=1 yoffset=6 xadvance=26 page=0 chnl=0 letter="좋" +char id=51008 x=420 y=33 width=26 height=27 xoffset=1 yoffset=6 xadvance=26 page=0 chnl=0 letter="ì€" +char id=195 x=448 y=33 width=22 height=27 xoffset=-1 yoffset=4 xadvance=17 page=0 chnl=0 letter="Ã" +char id=196 x=472 y=33 width=22 height=27 xoffset=-1 yoffset=4 xadvance=17 page=0 chnl=0 letter="Ä" +char id=209 x=2 y=63 width=19 height=27 xoffset=1 yoffset=4 xadvance=18 page=0 chnl=0 letter="Ñ" +char id=203 x=23 y=63 width=18 height=27 xoffset=1 yoffset=4 xadvance=17 page=0 chnl=0 letter="Ë" +char id=207 x=43 y=63 width=12 height=27 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=0 letter="Ã" +char id=12434 x=57 y=63 width=24 height=26 xoffset=2 yoffset=6 xadvance=26 page=0 chnl=0 letter="ã‚’" +char id=12356 x=83 y=63 width=24 height=25 xoffset=2 yoffset=7 xadvance=26 page=0 chnl=0 letter="ã„" +char id=81 x=109 y=63 width=23 height=25 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 letter="Q" +char id=216 x=134 y=63 width=23 height=25 xoffset=0 yoffset=7 xadvance=20 page=0 chnl=0 letter="Ø" +char id=26085 x=159 y=63 width=19 height=25 xoffset=5 yoffset=7 xadvance=26 page=0 chnl=0 letter="æ—¥" +char id=229 x=180 y=63 width=17 height=25 xoffset=0 yoffset=7 xadvance=14 page=0 chnl=0 letter="Ã¥" +char id=37 x=199 y=63 width=25 height=24 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=0 letter="%" +char id=190 x=226 y=63 width=25 height=24 xoffset=-1 yoffset=8 xadvance=21 page=0 chnl=0 letter="¾" +char id=169 x=253 y=63 width=24 height=24 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 letter="©" +char id=174 x=279 y=63 width=24 height=24 xoffset=-1 yoffset=8 xadvance=19 page=0 chnl=0 letter="®" +char id=188 x=305 y=63 width=24 height=24 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 letter="¼" +char id=189 x=331 y=63 width=24 height=24 xoffset=0 yoffset=8 xadvance=21 page=0 chnl=0 letter="½" +char id=71 x=357 y=63 width=22 height=24 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 letter="G" +char id=79 x=381 y=63 width=22 height=24 xoffset=0 yoffset=8 xadvance=20 page=0 chnl=0 letter="O" +char id=67 x=405 y=63 width=21 height=24 xoffset=0 yoffset=8 xadvance=18 page=0 chnl=0 letter="C" +char id=38 x=428 y=63 width=20 height=24 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="&" +char id=83 x=450 y=63 width=19 height=24 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="S" +char id=85 x=471 y=63 width=19 height=24 xoffset=1 yoffset=8 xadvance=18 page=0 chnl=0 letter="U" +char id=35 x=2 y=92 width=19 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="#" +char id=163 x=23 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="£" +char id=223 x=43 y=92 width=18 height=24 xoffset=0 yoffset=8 xadvance=15 page=0 chnl=0 letter="ß" +char id=242 x=63 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="ò" +char id=243 x=83 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="ó" +char id=244 x=103 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="ô" +char id=245 x=123 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="õ" +char id=246 x=143 y=92 width=18 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="ö" +char id=98 x=163 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="b" +char id=100 x=182 y=92 width=17 height=24 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="d" +char id=103 x=201 y=92 width=17 height=24 xoffset=-1 yoffset=13 xadvance=14 page=0 chnl=0 letter="g" +char id=112 x=220 y=92 width=17 height=24 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="p" +char id=121 x=239 y=92 width=17 height=24 xoffset=-1 yoffset=13 xadvance=13 page=0 chnl=0 letter="y" +char id=51 x=258 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="3" +char id=53 x=277 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="5" +char id=54 x=296 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="6" +char id=56 x=315 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="8" +char id=57 x=334 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="9" +char id=48 x=353 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="0" +char id=191 x=372 y=92 width=17 height=24 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="¿" +char id=224 x=391 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="à" +char id=225 x=410 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="á" +char id=226 x=429 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="â" +char id=227 x=448 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ã" +char id=228 x=467 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ä" +char id=232 x=486 y=92 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="è" +char id=233 x=2 y=118 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="é" +char id=234 x=21 y=118 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ê" +char id=235 x=40 y=118 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ë" +char id=240 x=59 y=118 width=17 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ð" +char id=113 x=78 y=118 width=16 height=24 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="q" +char id=181 x=96 y=118 width=16 height=24 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="µ" +char id=231 x=114 y=118 width=16 height=24 xoffset=0 yoffset=13 xadvance=13 page=0 chnl=0 letter="ç" +char id=249 x=132 y=118 width=16 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ù" +char id=250 x=150 y=118 width=16 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ú" +char id=251 x=168 y=118 width=16 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="û" +char id=252 x=186 y=118 width=16 height=24 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ü" +char id=74 x=204 y=118 width=15 height=24 xoffset=-1 yoffset=8 xadvance=13 page=0 chnl=0 letter="J" +char id=47 x=221 y=118 width=12 height=24 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="/" +char id=92 x=235 y=118 width=12 height=24 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="\" +char id=161 x=249 y=118 width=8 height=24 xoffset=1 yoffset=13 xadvance=8 page=0 chnl=0 letter="¡" +char id=87 x=259 y=118 width=29 height=23 xoffset=-1 yoffset=8 xadvance=24 page=0 chnl=0 letter="W" +char id=198 x=290 y=118 width=29 height=23 xoffset=-1 yoffset=8 xadvance=26 page=0 chnl=0 letter="Æ" +char id=65 x=321 y=118 width=22 height=23 xoffset=-1 yoffset=8 xadvance=17 page=0 chnl=0 letter="A" +char id=77 x=345 y=118 width=22 height=23 xoffset=1 yoffset=8 xadvance=21 page=0 chnl=0 letter="M" +char id=86 x=369 y=118 width=22 height=23 xoffset=-1 yoffset=8 xadvance=17 page=0 chnl=0 letter="V" +char id=208 x=393 y=118 width=22 height=23 xoffset=-1 yoffset=8 xadvance=18 page=0 chnl=0 letter="Ã" +char id=75 x=417 y=118 width=21 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="K" +char id=82 x=440 y=118 width=21 height=23 xoffset=1 yoffset=8 xadvance=18 page=0 chnl=0 letter="R" +char id=88 x=463 y=118 width=21 height=23 xoffset=-1 yoffset=8 xadvance=17 page=0 chnl=0 letter="X" +char id=89 x=486 y=118 width=21 height=23 xoffset=-1 yoffset=8 xadvance=17 page=0 chnl=0 letter="Y" +char id=68 x=2 y=144 width=20 height=23 xoffset=1 yoffset=8 xadvance=18 page=0 chnl=0 letter="D" +char id=84 x=24 y=144 width=20 height=23 xoffset=-1 yoffset=8 xadvance=15 page=0 chnl=0 letter="T" +char id=90 x=46 y=144 width=20 height=23 xoffset=-1 yoffset=8 xadvance=15 page=0 chnl=0 letter="Z" +char id=66 x=68 y=144 width=19 height=23 xoffset=0 yoffset=8 xadvance=17 page=0 chnl=0 letter="B" +char id=72 x=89 y=144 width=19 height=23 xoffset=1 yoffset=8 xadvance=18 page=0 chnl=0 letter="H" +char id=78 x=110 y=144 width=19 height=23 xoffset=1 yoffset=8 xadvance=18 page=0 chnl=0 letter="N" +char id=80 x=131 y=144 width=19 height=23 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=0 letter="P" +char id=165 x=152 y=144 width=19 height=23 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="Â¥" +char id=222 x=173 y=144 width=19 height=23 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=0 letter="Þ" +char id=69 x=194 y=144 width=18 height=23 xoffset=1 yoffset=8 xadvance=17 page=0 chnl=0 letter="E" +char id=50 x=214 y=144 width=18 height=23 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="2" +char id=52 x=234 y=144 width=18 height=23 xoffset=-1 yoffset=8 xadvance=14 page=0 chnl=0 letter="4" +char id=70 x=254 y=144 width=17 height=23 xoffset=1 yoffset=8 xadvance=15 page=0 chnl=0 letter="F" +char id=76 x=273 y=144 width=17 height=23 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="L" +char id=55 x=292 y=144 width=17 height=23 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="7" +char id=63 x=311 y=144 width=17 height=23 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="?" +char id=104 x=330 y=144 width=16 height=23 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="h" +char id=107 x=348 y=144 width=16 height=23 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=0 letter="k" +char id=241 x=366 y=144 width=16 height=23 xoffset=0 yoffset=8 xadvance=14 page=0 chnl=0 letter="ñ" +char id=238 x=384 y=144 width=13 height=23 xoffset=-2 yoffset=8 xadvance=7 page=0 chnl=0 letter="î" +char id=102 x=399 y=144 width=12 height=23 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="f" +char id=49 x=413 y=144 width=12 height=23 xoffset=1 yoffset=8 xadvance=14 page=0 chnl=0 letter="1" +char id=239 x=427 y=144 width=12 height=23 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="ï" +char id=116 x=441 y=144 width=11 height=23 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0 letter="t" +char id=236 x=454 y=144 width=9 height=23 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0 letter="ì" +char id=237 x=465 y=144 width=9 height=23 xoffset=1 yoffset=8 xadvance=7 page=0 chnl=0 letter="í" +char id=33 x=476 y=144 width=8 height=23 xoffset=1 yoffset=8 xadvance=7 page=0 chnl=0 letter="!" +char id=73 x=486 y=144 width=7 height=23 xoffset=1 yoffset=8 xadvance=7 page=0 chnl=0 letter="I" +char id=105 x=495 y=144 width=7 height=23 xoffset=0 yoffset=8 xadvance=5 page=0 chnl=0 letter="i" +char id=108 x=2 y=169 width=7 height=23 xoffset=0 yoffset=8 xadvance=5 page=0 chnl=0 letter="l" +char id=59 x=11 y=169 width=7 height=22 xoffset=1 yoffset=13 xadvance=7 page=0 chnl=0 letter=";" +char id=248 x=20 y=169 width=18 height=20 xoffset=0 yoffset=12 xadvance=15 page=0 chnl=0 letter="ø" +char id=177 x=40 y=169 width=17 height=20 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=0 letter="±" +char id=230 x=59 y=169 width=27 height=19 xoffset=-1 yoffset=13 xadvance=23 page=0 chnl=0 letter="æ" +char id=111 x=88 y=169 width=18 height=19 xoffset=-1 yoffset=13 xadvance=14 page=0 chnl=0 letter="o" +char id=97 x=108 y=169 width=17 height=19 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="a" +char id=101 x=127 y=169 width=17 height=19 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="e" +char id=99 x=146 y=169 width=16 height=19 xoffset=0 yoffset=13 xadvance=13 page=0 chnl=0 letter="c" +char id=115 x=164 y=169 width=16 height=19 xoffset=-1 yoffset=13 xadvance=13 page=0 chnl=0 letter="s" +char id=117 x=182 y=169 width=16 height=19 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="u" +char id=109 x=200 y=169 width=23 height=18 xoffset=0 yoffset=13 xadvance=21 page=0 chnl=0 letter="m" +char id=119 x=225 y=169 width=23 height=18 xoffset=-1 yoffset=13 xadvance=18 page=0 chnl=0 letter="w" +char id=118 x=250 y=169 width=17 height=18 xoffset=-1 yoffset=13 xadvance=13 page=0 chnl=0 letter="v" +char id=120 x=269 y=169 width=17 height=18 xoffset=-1 yoffset=13 xadvance=13 page=0 chnl=0 letter="x" +char id=122 x=288 y=169 width=17 height=18 xoffset=-1 yoffset=13 xadvance=13 page=0 chnl=0 letter="z" +char id=110 x=307 y=169 width=16 height=18 xoffset=0 yoffset=13 xadvance=14 page=0 chnl=0 letter="n" +char id=114 x=325 y=169 width=12 height=18 xoffset=0 yoffset=13 xadvance=8 page=0 chnl=0 letter="r" +char id=58 x=339 y=169 width=7 height=18 xoffset=1 yoffset=13 xadvance=7 page=0 chnl=0 letter=":" +char id=60 x=348 y=169 width=17 height=17 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=0 letter="<" +char id=62 x=367 y=169 width=17 height=17 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=0 letter=">" +char id=43 x=386 y=169 width=17 height=17 xoffset=0 yoffset=11 xadvance=15 page=0 chnl=0 letter="+" +char id=164 x=405 y=169 width=17 height=17 xoffset=0 yoffset=11 xadvance=14 page=0 chnl=0 letter="¤" +char id=171 x=424 y=169 width=16 height=17 xoffset=0 yoffset=14 xadvance=14 page=0 chnl=0 letter="«" +char id=187 x=442 y=169 width=16 height=17 xoffset=0 yoffset=14 xadvance=14 page=0 chnl=0 letter="»" +char id=247 x=460 y=169 width=17 height=16 xoffset=0 yoffset=12 xadvance=15 page=0 chnl=0 letter="÷" +char id=215 x=479 y=169 width=15 height=16 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=0 letter="×" +char id=94 x=2 y=194 width=16 height=15 xoffset=-1 yoffset=8 xadvance=12 page=0 chnl=0 letter="^" +char id=170 x=20 y=194 width=13 height=14 xoffset=-1 yoffset=8 xadvance=9 page=0 chnl=0 letter="ª" +char id=178 x=35 y=194 width=13 height=14 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0 letter="²" +char id=179 x=50 y=194 width=13 height=14 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0 letter="³" +char id=186 x=65 y=194 width=13 height=14 xoffset=-1 yoffset=8 xadvance=9 page=0 chnl=0 letter="º" +char id=185 x=80 y=194 width=10 height=14 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0 letter="¹" +char id=61 x=92 y=194 width=17 height=13 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="=" +char id=172 x=111 y=194 width=17 height=13 xoffset=0 yoffset=13 xadvance=15 page=0 chnl=0 letter="¬" +char id=42 x=130 y=194 width=14 height=12 xoffset=-1 yoffset=8 xadvance=10 page=0 chnl=0 letter="*" +char id=176 x=146 y=194 width=12 height=12 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0 letter="°" +char id=34 x=160 y=194 width=12 height=11 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 letter=""" +char id=184 x=174 y=194 width=10 height=11 xoffset=0 yoffset=26 xadvance=8 page=0 chnl=0 letter="¸" +char id=39 x=186 y=194 width=7 height=11 xoffset=0 yoffset=8 xadvance=4 page=0 chnl=0 letter="'" +char id=44 x=195 y=194 width=7 height=11 xoffset=1 yoffset=24 xadvance=7 page=0 chnl=0 letter="," +char id=126 x=204 y=194 width=18 height=9 xoffset=0 yoffset=15 xadvance=15 page=0 chnl=0 letter="~" +char id=168 x=224 y=194 width=12 height=8 xoffset=-1 yoffset=8 xadvance=8 page=0 chnl=0 letter="¨" +char id=96 x=238 y=194 width=9 height=8 xoffset=0 yoffset=8 xadvance=8 page=0 chnl=0 letter="`" +char id=180 x=249 y=194 width=9 height=8 xoffset=2 yoffset=8 xadvance=8 page=0 chnl=0 letter="´" +char id=183 x=260 y=194 width=7 height=8 xoffset=1 yoffset=16 xadvance=7 page=0 chnl=0 letter="·" +char id=19968 x=269 y=194 width=25 height=7 xoffset=2 yoffset=15 xadvance=26 page=0 chnl=0 letter="一" +char id=95 x=296 y=194 width=19 height=7 xoffset=-2 yoffset=28 xadvance=13 page=0 chnl=0 letter="_" +char id=45 x=317 y=194 width=12 height=7 xoffset=-1 yoffset=19 xadvance=8 page=0 chnl=0 letter="-" +char id=173 x=331 y=194 width=12 height=7 xoffset=-1 yoffset=19 xadvance=8 page=0 chnl=0 letter="­" +char id=46 x=345 y=194 width=7 height=7 xoffset=1 yoffset=24 xadvance=7 page=0 chnl=0 letter="." +char id=175 x=354 y=194 width=19 height=6 xoffset=-2 yoffset=5 xadvance=13 page=0 chnl=0 letter="¯" +char id=32 x=439 y=194 width=0 height=0 xoffset=-113 yoffset=148 xadvance=7 page=0 chnl=0 letter="space" diff --git a/tests/cpp-tests/Resources/fonts/arial-unicode-26.png b/tests/cpp-tests/Resources/fonts/arial-unicode-26.png new file mode 100755 index 0000000000..c2eabd7cd8 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/arial-unicode-26.png differ diff --git a/tests/cpp-tests/Resources/fonts/arial.ttf b/tests/cpp-tests/Resources/fonts/arial.ttf new file mode 100755 index 0000000000..abc899cd55 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/arial.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/arial16.fnt b/tests/cpp-tests/Resources/fonts/arial16.fnt new file mode 100755 index 0000000000..30b551af65 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/arial16.fnt @@ -0,0 +1,192 @@ +info face="ArialMT" size=16 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=19 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="arial16.png" +chars count=187 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=15 xadvance=4 page=0 chnl=0 +char id=64 x=0 y=0 width=18 height=17 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=124 x=18 y=0 width=4 height=17 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0 +char id=125 x=22 y=0 width=7 height=17 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=123 x=29 y=0 width=7 height=17 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=93 x=36 y=0 width=6 height=17 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0 +char id=91 x=42 y=0 width=6 height=17 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0 +char id=41 x=48 y=0 width=6 height=17 xoffset=1 yoffset=3 xadvance=5 page=0 chnl=0 +char id=40 x=54 y=0 width=6 height=17 xoffset=1 yoffset=3 xadvance=5 page=0 chnl=0 +char id=106 x=60 y=0 width=7 height=17 xoffset=-1 yoffset=3 xadvance=3 page=0 chnl=0 +char id=36 x=67 y=0 width=11 height=16 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=38 x=78 y=0 width=13 height=14 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=35 x=91 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=37 x=102 y=0 width=15 height=14 xoffset=1 yoffset=3 xadvance=14 page=0 chnl=0 +char id=92 x=117 y=0 width=7 height=14 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0 +char id=47 x=124 y=0 width=7 height=14 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0 +char id=48 x=131 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=57 x=142 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=56 x=153 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=54 x=164 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=53 x=175 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=51 x=186 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=121 x=197 y=0 width=10 height=14 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=113 x=207 y=0 width=10 height=14 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=112 x=217 y=0 width=10 height=14 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=0 +char id=103 x=227 y=0 width=10 height=14 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=100 x=237 y=0 width=10 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=98 x=247 y=0 width=10 height=14 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=85 x=257 y=0 width=12 height=14 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=83 x=269 y=0 width=12 height=14 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=81 x=281 y=0 width=14 height=14 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=79 x=295 y=0 width=14 height=14 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=74 x=309 y=0 width=9 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=71 x=318 y=0 width=14 height=14 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=67 x=332 y=0 width=13 height=14 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=59 x=345 y=0 width=4 height=13 xoffset=1 yoffset=6 xadvance=4 page=0 chnl=0 +char id=63 x=349 y=0 width=10 height=13 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=33 x=359 y=0 width=5 height=13 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0 +char id=55 x=364 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=52 x=375 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=50 x=386 y=0 width=10 height=13 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=49 x=396 y=0 width=7 height=13 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=116 x=403 y=0 width=7 height=13 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0 +char id=108 x=410 y=0 width=4 height=13 xoffset=1 yoffset=3 xadvance=3 page=0 chnl=0 +char id=107 x=414 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=105 x=423 y=0 width=4 height=13 xoffset=1 yoffset=3 xadvance=3 page=0 chnl=0 +char id=104 x=427 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=102 x=436 y=0 width=7 height=13 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0 +char id=90 x=443 y=0 width=12 height=13 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=0 +char id=89 x=455 y=0 width=13 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=88 x=468 y=0 width=13 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=87 x=481 y=0 width=17 height=13 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=0 +char id=86 x=498 y=0 width=13 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=84 x=0 y=17 width=12 height=13 xoffset=0 yoffset=3 xadvance=9 page=0 chnl=0 +char id=82 x=12 y=17 width=13 height=13 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=80 x=25 y=17 width=11 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=78 x=36 y=17 width=12 height=13 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=77 x=48 y=17 width=14 height=13 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=76 x=62 y=17 width=10 height=13 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=75 x=72 y=17 width=12 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=73 x=84 y=17 width=4 height=13 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0 +char id=72 x=88 y=17 width=12 height=13 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=70 x=100 y=17 width=10 height=13 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=69 x=110 y=17 width=11 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=68 x=121 y=17 width=12 height=13 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 +char id=66 x=133 y=17 width=11 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=65 x=144 y=17 width=12 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=117 x=156 y=17 width=8 height=11 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=0 +char id=115 x=164 y=17 width=10 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=111 x=174 y=17 width=11 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=101 x=185 y=17 width=11 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=99 x=196 y=17 width=10 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=97 x=206 y=17 width=11 height=11 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=43 x=217 y=17 width=10 height=10 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0 +char id=62 x=227 y=17 width=11 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0 +char id=60 x=238 y=17 width=11 height=10 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0 +char id=58 x=249 y=17 width=4 height=10 xoffset=1 yoffset=6 xadvance=4 page=0 chnl=0 +char id=122 x=253 y=17 width=10 height=10 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=120 x=263 y=17 width=10 height=10 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=119 x=273 y=17 width=14 height=10 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0 +char id=118 x=287 y=17 width=10 height=10 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=114 x=297 y=17 width=7 height=10 xoffset=1 yoffset=6 xadvance=5 page=0 chnl=0 +char id=110 x=304 y=17 width=9 height=10 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=0 +char id=109 x=313 y=17 width=14 height=10 xoffset=1 yoffset=6 xadvance=13 page=0 chnl=0 +char id=94 x=327 y=17 width=9 height=8 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=0 +char id=42 x=336 y=17 width=8 height=7 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0 +char id=61 x=344 y=17 width=10 height=6 xoffset=1 yoffset=7 xadvance=9 page=0 chnl=0 +char id=44 x=354 y=17 width=4 height=6 xoffset=1 yoffset=13 xadvance=4 page=0 chnl=0 +char id=39 x=358 y=17 width=5 height=6 xoffset=0 yoffset=3 xadvance=3 page=0 chnl=0 +char id=34 x=363 y=17 width=7 height=6 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=126 x=370 y=17 width=11 height=4 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 +char id=96 x=381 y=17 width=6 height=4 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=95 x=387 y=17 width=13 height=3 xoffset=-1 yoffset=17 xadvance=8 page=0 chnl=0 +char id=45 x=400 y=17 width=7 height=3 xoffset=0 yoffset=10 xadvance=5 page=0 chnl=0 +char id=46 x=407 y=17 width=4 height=3 xoffset=1 yoffset=13 xadvance=4 page=0 chnl=0 +char id=133 x=411 y=17 width=8 height=3 xoffset=0 yoffset=13 xadvance=6 page=0 chnl=0 +char id=150 x=419 y=17 width=5 height=3 xoffset=0 yoffset=11 xadvance=3 page=0 chnl=0 +char id=151 x=424 y=17 width=8 height=3 xoffset=0 yoffset=11 xadvance=6 page=0 chnl=0 +char id=152 x=432 y=17 width=7 height=3 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0 +char id=168 x=439 y=17 width=7 height=3 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=175 x=446 y=17 width=13 height=3 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0 +char id=183 x=459 y=17 width=5 height=3 xoffset=1 yoffset=8 xadvance=5 page=0 chnl=0 +char id=130 x=464 y=17 width=4 height=4 xoffset=0 yoffset=13 xadvance=2 page=0 chnl=0 +char id=132 x=468 y=17 width=6 height=4 xoffset=0 yoffset=13 xadvance=4 page=0 chnl=0 +char id=136 x=474 y=17 width=7 height=4 xoffset=0 yoffset=1 xadvance=4 page=0 chnl=0 +char id=145 x=481 y=17 width=4 height=4 xoffset=0 yoffset=4 xadvance=2 page=0 chnl=0 +char id=146 x=485 y=17 width=4 height=4 xoffset=0 yoffset=4 xadvance=2 page=0 chnl=0 +char id=147 x=489 y=17 width=6 height=4 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0 +char id=148 x=495 y=17 width=6 height=4 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0 +char id=180 x=501 y=17 width=6 height=4 xoffset=1 yoffset=3 xadvance=5 page=0 chnl=0 +char id=139 x=0 y=30 width=5 height=6 xoffset=0 yoffset=9 xadvance=2 page=0 chnl=0 +char id=149 x=5 y=30 width=5 height=6 xoffset=0 yoffset=9 xadvance=3 page=0 chnl=0 +char id=153 x=10 y=30 width=7 height=6 xoffset=0 yoffset=4 xadvance=5 page=0 chnl=0 +char id=155 x=17 y=30 width=5 height=6 xoffset=0 yoffset=9 xadvance=2 page=0 chnl=0 +char id=172 x=22 y=30 width=10 height=6 xoffset=1 yoffset=7 xadvance=9 page=0 chnl=0 +char id=176 x=32 y=30 width=7 height=6 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0 +char id=184 x=39 y=30 width=7 height=6 xoffset=0 yoffset=14 xadvance=5 page=0 chnl=0 +char id=156 x=46 y=30 width=12 height=8 xoffset=0 yoffset=8 xadvance=10 page=0 chnl=0 +char id=170 x=58 y=30 width=8 height=8 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=178 x=66 y=30 width=7 height=8 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=179 x=73 y=30 width=7 height=8 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=185 x=80 y=30 width=6 height=8 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=186 x=86 y=30 width=8 height=8 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0 +char id=215 x=94 y=30 width=9 height=8 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 +char id=247 x=103 y=30 width=11 height=8 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0 +char id=171 x=114 y=30 width=9 height=9 xoffset=1 yoffset=7 xadvance=8 page=0 chnl=0 +char id=187 x=123 y=30 width=9 height=9 xoffset=1 yoffset=7 xadvance=8 page=0 chnl=0 +char id=164 x=132 y=30 width=11 height=10 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0 +char id=154 x=143 y=30 width=8 height=11 xoffset=0 yoffset=5 xadvance=6 page=0 chnl=0 +char id=177 x=151 y=30 width=11 height=11 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0 +char id=230 x=162 y=30 width=16 height=11 xoffset=0 yoffset=6 xadvance=14 page=0 chnl=0 +char id=248 x=178 y=30 width=10 height=11 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 +char id=128 x=188 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=129 x=199 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=140 x=210 y=30 width=12 height=12 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0 +char id=141 x=222 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=142 x=233 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=143 x=244 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=144 x=255 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=157 x=266 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=158 x=277 y=30 width=11 height=12 xoffset=0 yoffset=4 xadvance=9 page=0 chnl=0 +char id=165 x=288 y=30 width=11 height=13 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=198 x=299 y=30 width=18 height=13 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=208 x=317 y=30 width=13 height=13 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=222 x=330 y=30 width=11 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=137 x=341 y=30 width=18 height=14 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=0 +char id=161 x=359 y=30 width=5 height=14 xoffset=1 yoffset=6 xadvance=5 page=0 chnl=0 +char id=163 x=364 y=30 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=169 x=375 y=30 width=14 height=14 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=174 x=389 y=30 width=14 height=14 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 +char id=181 x=403 y=30 width=9 height=14 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 +char id=188 x=412 y=30 width=15 height=14 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=189 x=427 y=30 width=15 height=14 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=190 x=442 y=30 width=15 height=14 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0 +char id=191 x=457 y=30 width=10 height=14 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 +char id=216 x=467 y=30 width=14 height=14 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 +char id=223 x=481 y=30 width=11 height=14 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=240 x=492 y=30 width=11 height=14 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=134 x=503 y=30 width=7 height=15 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0 +char id=135 x=0 y=45 width=7 height=15 xoffset=0 yoffset=4 xadvance=4 page=0 chnl=0 +char id=138 x=7 y=45 width=8 height=15 xoffset=0 yoffset=1 xadvance=6 page=0 chnl=0 +char id=195 x=15 y=45 width=13 height=15 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 +char id=203 x=28 y=45 width=11 height=15 xoffset=1 yoffset=1 xadvance=10 page=0 chnl=0 +char id=207 x=39 y=45 width=7 height=15 xoffset=0 yoffset=1 xadvance=4 page=0 chnl=0 +char id=131 x=46 y=45 width=10 height=16 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0 +char id=192 x=56 y=45 width=13 height=16 xoffset=0 yoffset=0 xadvance=10 page=0 chnl=0 +char id=193 x=69 y=45 width=13 height=16 xoffset=0 yoffset=0 xadvance=10 page=0 chnl=0 +char id=194 x=82 y=45 width=13 height=16 xoffset=0 yoffset=0 xadvance=10 page=0 chnl=0 +char id=200 x=95 y=45 width=11 height=16 xoffset=1 yoffset=0 xadvance=10 page=0 chnl=0 +char id=202 x=106 y=45 width=11 height=16 xoffset=1 yoffset=0 xadvance=10 page=0 chnl=0 +char id=204 x=117 y=45 width=6 height=16 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=0 +char id=205 x=123 y=45 width=5 height=16 xoffset=1 yoffset=0 xadvance=4 page=0 chnl=0 +char id=206 x=128 y=45 width=9 height=16 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=0 +char id=213 x=137 y=45 width=14 height=16 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0 +char id=221 x=151 y=45 width=13 height=16 xoffset=0 yoffset=0 xadvance=10 page=0 chnl=0 +char id=162 x=164 y=45 width=10 height=17 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=166 x=174 y=45 width=4 height=17 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0 +char id=167 x=178 y=45 width=11 height=17 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=182 x=189 y=45 width=11 height=17 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=210 x=200 y=45 width=14 height=17 xoffset=0 yoffset=0 xadvance=12 page=0 chnl=0 +char id=211 x=214 y=45 width=14 height=17 xoffset=0 yoffset=0 xadvance=12 page=0 chnl=0 +char id=212 x=228 y=45 width=14 height=17 xoffset=0 yoffset=0 xadvance=12 page=0 chnl=0 +char id=217 x=242 y=45 width=12 height=17 xoffset=1 yoffset=0 xadvance=11 page=0 chnl=0 +char id=218 x=254 y=45 width=12 height=17 xoffset=1 yoffset=0 xadvance=11 page=0 chnl=0 +char id=219 x=266 y=45 width=12 height=17 xoffset=1 yoffset=0 xadvance=11 page=0 chnl=0 +char id=253 x=278 y=45 width=10 height=17 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 +char id=254 x=288 y=45 width=10 height=17 xoffset=1 yoffset=3 xadvance=8 page=0 chnl=0 +char id=255 x=298 y=45 width=10 height=17 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/arial16.png b/tests/cpp-tests/Resources/fonts/arial16.png new file mode 100755 index 0000000000..9bba8ea891 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/arial16.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontChinese.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontChinese.fnt new file mode 100755 index 0000000000..32f0c6cbfd --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontChinese.fnt @@ -0,0 +1,210 @@ +info face="»ª¿µº£±¨ÌåW12(P)" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=37 base=28 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontChinese.png" +chars count=204 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=28 xadvance=15 page=0 chnl=0 +char id=35937 x=0 y=0 width=33 height=36 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=26696 x=33 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=26071 x=68 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=24314 x=103 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=21338 x=138 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=23478 x=173 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=22530 x=208 y=0 width=34 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=33521 x=242 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=26159 x=277 y=0 width=34 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=23433 x=311 y=0 width=35 height=36 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=31532 x=346 y=0 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=33258 x=381 y=0 width=34 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20146 x=415 y=0 width=34 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=24182 x=449 y=0 width=34 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=23459 x=0 y=36 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=19996 x=35 y=36 width=34 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=24180 x=69 y=36 width=34 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=30633 x=103 y=36 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20026 x=138 y=36 width=33 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=27835 x=171 y=36 width=34 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=33402 x=205 y=36 width=33 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=31569 x=238 y=36 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20043 x=273 y=36 width=32 height=35 xoffset=1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26368 x=305 y=36 width=35 height=35 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=39302 x=340 y=36 width=37 height=35 xoffset=-2 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=24109 x=377 y=36 width=34 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20027 x=411 y=36 width=33 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=27611 x=444 y=36 width=34 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=38271 x=0 y=71 width=34 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20020 x=34 y=71 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=20140 x=69 y=71 width=33 height=35 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=39318 x=102 y=71 width=34 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=21326 x=136 y=71 width=35 height=35 xoffset=-1 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=24509 x=171 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22270 x=206 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=32418 x=241 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26143 x=276 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20116 x=311 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=21319 x=346 y=71 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26469 x=379 y=71 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=36215 x=412 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=31449 x=447 y=71 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20102 x=0 y=106 width=30 height=34 xoffset=1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=31435 x=30 y=106 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=25104 x=63 y=106 width=34 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=21578 x=97 y=106 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20005 x=131 y=106 width=32 height=34 xoffset=1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=24196 x=163 y=106 width=34 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=37324 x=197 y=106 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=36825 x=230 y=106 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22312 x=264 y=106 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=27901 x=299 y=106 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26085 x=334 y=106 width=31 height=34 xoffset=1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=30446 x=365 y=106 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=25152 x=399 y=106 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=19990 x=434 y=106 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=25919 x=469 y=106 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=27530 x=0 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=29305 x=35 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26415 x=70 y=140 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=26480 x=103 y=140 width=34 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20195 x=137 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=21476 x=172 y=140 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20250 x=206 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22823 x=241 y=140 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=30865 x=274 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=24565 x=309 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=38596 x=344 y=140 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=23545 x=379 y=140 width=34 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=34903 x=413 y=140 width=36 height=34 xoffset=-2 yoffset=0 xadvance=36 page=0 chnl=0 +char id=38754 x=449 y=140 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=31471 x=0 y=174 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22330 x=35 y=174 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=24191 x=69 y=174 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=30340 x=102 y=174 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=37117 x=137 y=174 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22269 x=172 y=174 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20849 x=205 y=174 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=27665 x=238 y=174 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20013 x=271 y=174 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=20110 x=305 y=174 width=34 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=27004 x=339 y=174 width=34 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22478 x=373 y=174 width=35 height=34 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22825 x=408 y=174 width=33 height=34 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=125 x=441 y=174 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=123 x=455 y=174 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=93 x=469 y=174 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=91 x=483 y=174 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=41 x=497 y=174 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=40 x=0 y=208 width=14 height=34 xoffset=-1 yoffset=1 xadvance=15 page=0 chnl=0 +char id=29616 x=14 y=208 width=35 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=26376 x=49 y=208 width=33 height=33 xoffset=0 yoffset=1 xadvance=36 page=0 chnl=0 +char id=22320 x=82 y=208 width=35 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=20029 x=117 y=208 width=33 height=33 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=22766 x=150 y=208 width=34 height=33 xoffset=0 yoffset=1 xadvance=36 page=0 chnl=0 +char id=29289 x=184 y=208 width=35 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=32426 x=219 y=208 width=35 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=21450 x=254 y=208 width=34 height=33 xoffset=0 yoffset=1 xadvance=36 page=0 chnl=0 +char id=24515 x=288 y=208 width=34 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=21271 x=322 y=208 width=33 height=33 xoffset=0 yoffset=0 xadvance=36 page=0 chnl=0 +char id=21644 x=355 y=208 width=35 height=33 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=20301 x=390 y=208 width=34 height=33 xoffset=-1 yoffset=0 xadvance=36 page=0 chnl=0 +char id=38376 x=424 y=208 width=33 height=33 xoffset=0 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=92 x=457 y=208 width=14 height=33 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 +char id=47 x=471 y=208 width=14 height=33 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0 +char id=24449 x=0 y=242 width=35 height=32 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=27492 x=35 y=242 width=35 height=32 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=20174 x=70 y=242 width=34 height=32 xoffset=-1 yoffset=1 xadvance=36 page=0 chnl=0 +char id=20986 x=104 y=242 width=33 height=32 xoffset=0 yoffset=1 xadvance=36 page=0 chnl=0 +char id=20197 x=137 y=242 width=34 height=32 xoffset=0 yoffset=2 xadvance=36 page=0 chnl=0 +char id=36 x=171 y=242 width=26 height=32 xoffset=0 yoffset=2 xadvance=29 page=0 chnl=0 +char id=106 x=197 y=242 width=20 height=32 xoffset=-2 yoffset=4 xadvance=20 page=0 chnl=0 +char id=20154 x=217 y=242 width=36 height=31 xoffset=-2 yoffset=1 xadvance=36 page=0 chnl=0 +char id=38 x=253 y=242 width=26 height=28 xoffset=-2 yoffset=4 xadvance=25 page=0 chnl=0 +char id=35 x=279 y=242 width=26 height=28 xoffset=0 yoffset=4 xadvance=29 page=0 chnl=0 +char id=37 x=305 y=242 width=34 height=28 xoffset=-2 yoffset=4 xadvance=33 page=0 chnl=0 +char id=64 x=339 y=242 width=27 height=28 xoffset=-2 yoffset=4 xadvance=27 page=0 chnl=0 +char id=124 x=366 y=242 width=11 height=28 xoffset=-1 yoffset=4 xadvance=12 page=0 chnl=0 +char id=33 x=377 y=242 width=14 height=28 xoffset=-1 yoffset=4 xadvance=15 page=0 chnl=0 +char id=48 x=391 y=242 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=57 x=421 y=242 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=56 x=451 y=242 width=28 height=28 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=55 x=479 y=242 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=54 x=0 y=274 width=28 height=28 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=52 x=28 y=274 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=51 x=58 y=274 width=28 height=28 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=50 x=86 y=274 width=28 height=28 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=49 x=114 y=274 width=14 height=28 xoffset=6 yoffset=4 xadvance=29 page=0 chnl=0 +char id=116 x=128 y=274 width=25 height=28 xoffset=-2 yoffset=4 xadvance=24 page=0 chnl=0 +char id=107 x=153 y=274 width=24 height=28 xoffset=-1 yoffset=4 xadvance=24 page=0 chnl=0 +char id=105 x=177 y=274 width=14 height=28 xoffset=-1 yoffset=4 xadvance=16 page=0 chnl=0 +char id=100 x=191 y=274 width=26 height=28 xoffset=-2 yoffset=4 xadvance=25 page=0 chnl=0 +char id=98 x=217 y=274 width=26 height=28 xoffset=-2 yoffset=4 xadvance=25 page=0 chnl=0 +char id=90 x=243 y=274 width=27 height=28 xoffset=-1 yoffset=4 xadvance=27 page=0 chnl=0 +char id=87 x=270 y=274 width=29 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=86 x=299 y=274 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=85 x=329 y=274 width=27 height=28 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=83 x=356 y=274 width=26 height=28 xoffset=-1 yoffset=4 xadvance=27 page=0 chnl=0 +char id=81 x=382 y=274 width=29 height=28 xoffset=-2 yoffset=4 xadvance=28 page=0 chnl=0 +char id=79 x=411 y=274 width=28 height=28 xoffset=-2 yoffset=4 xadvance=27 page=0 chnl=0 +char id=76 x=439 y=274 width=27 height=28 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=75 x=466 y=274 width=26 height=28 xoffset=-1 yoffset=4 xadvance=26 page=0 chnl=0 +char id=74 x=0 y=302 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=73 x=30 y=302 width=16 height=28 xoffset=-1 yoffset=4 xadvance=17 page=0 chnl=0 +char id=72 x=46 y=302 width=28 height=28 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=71 x=74 y=302 width=28 height=28 xoffset=-2 yoffset=4 xadvance=28 page=0 chnl=0 +char id=69 x=102 y=302 width=29 height=28 xoffset=-1 yoffset=4 xadvance=30 page=0 chnl=0 +char id=67 x=131 y=302 width=29 height=28 xoffset=-2 yoffset=4 xadvance=28 page=0 chnl=0 +char id=65 x=160 y=302 width=30 height=28 xoffset=-2 yoffset=4 xadvance=29 page=0 chnl=0 +char id=63 x=190 y=302 width=23 height=27 xoffset=-1 yoffset=4 xadvance=24 page=0 chnl=0 +char id=53 x=213 y=302 width=28 height=27 xoffset=-1 yoffset=4 xadvance=29 page=0 chnl=0 +char id=121 x=241 y=302 width=27 height=27 xoffset=-2 yoffset=9 xadvance=26 page=0 chnl=0 +char id=113 x=268 y=302 width=25 height=27 xoffset=-2 yoffset=9 xadvance=25 page=0 chnl=0 +char id=108 x=293 y=302 width=12 height=27 xoffset=0 yoffset=4 xadvance=16 page=0 chnl=0 +char id=104 x=305 y=302 width=27 height=27 xoffset=-2 yoffset=4 xadvance=26 page=0 chnl=0 +char id=103 x=332 y=302 width=26 height=27 xoffset=-2 yoffset=9 xadvance=25 page=0 chnl=0 +char id=102 x=358 y=302 width=16 height=27 xoffset=-2 yoffset=4 xadvance=16 page=0 chnl=0 +char id=89 x=374 y=302 width=29 height=27 xoffset=-2 yoffset=4 xadvance=28 page=0 chnl=0 +char id=88 x=403 y=302 width=29 height=27 xoffset=-2 yoffset=4 xadvance=28 page=0 chnl=0 +char id=84 x=432 y=302 width=28 height=27 xoffset=-2 yoffset=4 xadvance=27 page=0 chnl=0 +char id=82 x=460 y=302 width=27 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=80 x=0 y=330 width=27 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=78 x=27 y=330 width=27 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=77 x=54 y=330 width=28 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=70 x=82 y=330 width=30 height=27 xoffset=-1 yoffset=4 xadvance=30 page=0 chnl=0 +char id=68 x=112 y=330 width=28 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=66 x=140 y=330 width=27 height=27 xoffset=-1 yoffset=4 xadvance=28 page=0 chnl=0 +char id=112 x=167 y=330 width=26 height=26 xoffset=-2 yoffset=9 xadvance=26 page=0 chnl=0 +char id=59 x=193 y=330 width=12 height=25 xoffset=-1 yoffset=9 xadvance=13 page=0 chnl=0 +char id=65306 x=205 y=330 width=13 height=24 xoffset=2 yoffset=8 xadvance=36 page=0 chnl=0 +char id=62 x=218 y=330 width=20 height=23 xoffset=0 yoffset=9 xadvance=22 page=0 chnl=0 +char id=60 x=238 y=330 width=20 height=23 xoffset=0 yoffset=9 xadvance=22 page=0 chnl=0 +char id=58 x=258 y=330 width=12 height=23 xoffset=-1 yoffset=9 xadvance=13 page=0 chnl=0 +char id=122 x=270 y=330 width=26 height=23 xoffset=-2 yoffset=9 xadvance=25 page=0 chnl=0 +char id=119 x=296 y=330 width=30 height=23 xoffset=-2 yoffset=9 xadvance=29 page=0 chnl=0 +char id=118 x=326 y=330 width=27 height=23 xoffset=-2 yoffset=9 xadvance=26 page=0 chnl=0 +char id=117 x=353 y=330 width=28 height=23 xoffset=-2 yoffset=9 xadvance=27 page=0 chnl=0 +char id=115 x=381 y=330 width=21 height=23 xoffset=-1 yoffset=9 xadvance=21 page=0 chnl=0 +char id=114 x=402 y=330 width=16 height=23 xoffset=-1 yoffset=9 xadvance=16 page=0 chnl=0 +char id=111 x=418 y=330 width=26 height=23 xoffset=-2 yoffset=9 xadvance=25 page=0 chnl=0 +char id=110 x=444 y=330 width=27 height=23 xoffset=-2 yoffset=9 xadvance=26 page=0 chnl=0 +char id=101 x=471 y=330 width=25 height=23 xoffset=-2 yoffset=9 xadvance=24 page=0 chnl=0 +char id=99 x=0 y=357 width=24 height=23 xoffset=-2 yoffset=9 xadvance=23 page=0 chnl=0 +char id=97 x=24 y=357 width=27 height=23 xoffset=-2 yoffset=9 xadvance=27 page=0 chnl=0 +char id=43 x=51 y=357 width=23 height=22 xoffset=-2 yoffset=9 xadvance=22 page=0 chnl=0 +char id=120 x=74 y=357 width=26 height=22 xoffset=-2 yoffset=9 xadvance=25 page=0 chnl=0 +char id=109 x=100 y=357 width=28 height=22 xoffset=-2 yoffset=9 xadvance=28 page=0 chnl=0 +char id=42 x=128 y=357 width=20 height=20 xoffset=-2 yoffset=4 xadvance=20 page=0 chnl=0 +char id=61 x=148 y=357 width=21 height=20 xoffset=-1 yoffset=10 xadvance=22 page=0 chnl=0 +char id=12289 x=169 y=357 width=17 height=16 xoffset=0 yoffset=16 xadvance=36 page=0 chnl=0 +char id=12290 x=186 y=357 width=15 height=16 xoffset=1 yoffset=16 xadvance=36 page=0 chnl=0 +char id=94 x=201 y=357 width=19 height=16 xoffset=-2 yoffset=4 xadvance=18 page=0 chnl=0 +char id=8221 x=220 y=357 width=21 height=15 xoffset=-2 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=8220 x=241 y=357 width=21 height=15 xoffset=14 yoffset=-1 xadvance=36 page=0 chnl=0 +char id=65292 x=262 y=357 width=13 height=15 xoffset=2 yoffset=20 xadvance=36 page=0 chnl=0 +char id=44 x=275 y=357 width=12 height=14 xoffset=-1 yoffset=20 xadvance=13 page=0 chnl=0 +char id=39 x=287 y=357 width=10 height=14 xoffset=-1 yoffset=4 xadvance=12 page=0 chnl=0 +char id=34 x=297 y=357 width=15 height=14 xoffset=-1 yoffset=4 xadvance=16 page=0 chnl=0 +char id=19968 x=312 y=357 width=34 height=13 xoffset=-1 yoffset=10 xadvance=36 page=0 chnl=0 +char id=46 x=346 y=357 width=12 height=13 xoffset=-1 yoffset=19 xadvance=13 page=0 chnl=0 +char id=126 x=358 y=357 width=16 height=12 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=95 x=374 y=357 width=22 height=11 xoffset=-2 yoffset=25 xadvance=20 page=0 chnl=0 +char id=45 x=396 y=357 width=14 height=11 xoffset=-1 yoffset=14 xadvance=15 page=0 chnl=0 +char id=96 x=410 y=357 width=12 height=11 xoffset=0 yoffset=4 xadvance=15 page=0 chnl=0 +kernings count=-1 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontChinese.png b/tests/cpp-tests/Resources/fonts/bitmapFontChinese.png new file mode 100755 index 0000000000..9d2adf428a Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontChinese.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontTest.fnt new file mode 100755 index 0000000000..7190f52fb0 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontTest.fnt @@ -0,0 +1,100 @@ +info face="ArtistampMedium" size=48 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=52 base=26 scaleW=256 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontTest.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=44 xadvance=14 page=0 chnl=0 +char id=94 x=0 y=0 width=51 height=49 xoffset=1 yoffset=3 xadvance=51 page=0 chnl=0 +char id=95 x=51 y=0 width=82 height=48 xoffset=2 yoffset=4 xadvance=84 page=0 chnl=0 +char id=41 x=133 y=0 width=14 height=46 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 +char id=40 x=147 y=0 width=16 height=46 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0 +char id=126 x=163 y=0 width=30 height=42 xoffset=2 yoffset=6 xadvance=31 page=0 chnl=0 +char id=47 x=193 y=0 width=24 height=42 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 +char id=37 x=217 y=0 width=32 height=38 xoffset=1 yoffset=10 xadvance=31 page=0 chnl=0 +char id=36 x=0 y=49 width=22 height=38 xoffset=-1 yoffset=10 xadvance=18 page=0 chnl=0 +char id=93 x=22 y=49 width=11 height=38 xoffset=1 yoffset=8 xadvance=11 page=0 chnl=0 +char id=91 x=33 y=49 width=12 height=38 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=0 +char id=84 x=45 y=49 width=29 height=38 xoffset=0 yoffset=8 xadvance=27 page=0 chnl=0 +char id=63 x=74 y=49 width=21 height=37 xoffset=1 yoffset=7 xadvance=20 page=0 chnl=0 +char id=122 x=95 y=49 width=24 height=37 xoffset=1 yoffset=9 xadvance=23 page=0 chnl=0 +char id=116 x=119 y=49 width=29 height=37 xoffset=0 yoffset=7 xadvance=26 page=0 chnl=0 +char id=113 x=148 y=49 width=29 height=37 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0 +char id=102 x=177 y=49 width=27 height=37 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=101 x=204 y=49 width=27 height=37 xoffset=1 yoffset=9 xadvance=26 page=0 chnl=0 +char id=98 x=0 y=87 width=30 height=37 xoffset=1 yoffset=6 xadvance=28 page=0 chnl=0 +char id=87 x=30 y=87 width=44 height=37 xoffset=0 yoffset=8 xadvance=42 page=0 chnl=0 +char id=81 x=74 y=87 width=29 height=37 xoffset=1 yoffset=8 xadvance=29 page=0 chnl=0 +char id=74 x=103 y=87 width=25 height=37 xoffset=0 yoffset=7 xadvance=23 page=0 chnl=0 +char id=70 x=128 y=87 width=27 height=37 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=69 x=155 y=87 width=28 height=37 xoffset=1 yoffset=10 xadvance=27 page=0 chnl=0 +char id=66 x=183 y=87 width=30 height=37 xoffset=1 yoffset=7 xadvance=29 page=0 chnl=0 +char id=65 x=213 y=87 width=30 height=37 xoffset=0 yoffset=8 xadvance=29 page=0 chnl=0 +char id=38 x=0 y=124 width=32 height=36 xoffset=0 yoffset=7 xadvance=29 page=0 chnl=0 +char id=64 x=32 y=124 width=40 height=36 xoffset=0 yoffset=10 xadvance=33 page=0 chnl=0 +char id=57 x=72 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 +char id=56 x=93 y=124 width=21 height=36 xoffset=1 yoffset=7 xadvance=20 page=0 chnl=0 +char id=55 x=114 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 +char id=54 x=135 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 +char id=53 x=156 y=124 width=21 height=36 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0 +char id=52 x=177 y=124 width=21 height=36 xoffset=1 yoffset=7 xadvance=21 page=0 chnl=0 +char id=51 x=198 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 +char id=50 x=219 y=124 width=22 height=36 xoffset=1 yoffset=11 xadvance=21 page=0 chnl=0 +char id=120 x=0 y=160 width=31 height=36 xoffset=0 yoffset=8 xadvance=28 page=0 chnl=0 +char id=119 x=31 y=160 width=46 height=36 xoffset=0 yoffset=10 xadvance=39 page=0 chnl=0 +char id=117 x=77 y=160 width=29 height=36 xoffset=1 yoffset=10 xadvance=27 page=0 chnl=0 +char id=115 x=106 y=160 width=26 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=114 x=132 y=160 width=29 height=36 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0 +char id=110 x=161 y=160 width=29 height=36 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0 +char id=109 x=190 y=160 width=38 height=36 xoffset=1 yoffset=9 xadvance=37 page=0 chnl=0 +char id=108 x=0 y=196 width=29 height=36 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0 +char id=106 x=29 y=196 width=24 height=36 xoffset=1 yoffset=8 xadvance=22 page=0 chnl=0 +char id=104 x=53 y=196 width=31 height=36 xoffset=1 yoffset=9 xadvance=30 page=0 chnl=0 +char id=100 x=84 y=196 width=29 height=36 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0 +char id=99 x=113 y=196 width=27 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=97 x=140 y=196 width=31 height=36 xoffset=0 yoffset=8 xadvance=29 page=0 chnl=0 +char id=90 x=171 y=196 width=25 height=36 xoffset=1 yoffset=8 xadvance=24 page=0 chnl=0 +char id=89 x=196 y=196 width=30 height=36 xoffset=0 yoffset=9 xadvance=28 page=0 chnl=0 +char id=88 x=0 y=232 width=31 height=36 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 +char id=85 x=31 y=232 width=29 height=36 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0 +char id=83 x=60 y=232 width=26 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0 +char id=82 x=86 y=232 width=30 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 +char id=79 x=116 y=232 width=29 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 +char id=78 x=145 y=232 width=30 height=36 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0 +char id=77 x=175 y=232 width=39 height=36 xoffset=1 yoffset=10 xadvance=38 page=0 chnl=0 +char id=76 x=214 y=232 width=29 height=36 xoffset=0 yoffset=8 xadvance=24 page=0 chnl=0 +char id=75 x=0 y=268 width=29 height=36 xoffset=1 yoffset=8 xadvance=27 page=0 chnl=0 +char id=72 x=29 y=268 width=30 height=36 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0 +char id=71 x=59 y=268 width=30 height=36 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0 +char id=68 x=89 y=268 width=29 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 +char id=67 x=118 y=268 width=27 height=36 xoffset=1 yoffset=9 xadvance=25 page=0 chnl=0 +char id=92 x=145 y=268 width=37 height=35 xoffset=1 yoffset=9 xadvance=37 page=0 chnl=0 +char id=33 x=182 y=268 width=9 height=35 xoffset=2 yoffset=10 xadvance=10 page=0 chnl=0 +char id=48 x=191 y=268 width=21 height=35 xoffset=2 yoffset=10 xadvance=21 page=0 chnl=0 +char id=49 x=212 y=268 width=14 height=35 xoffset=1 yoffset=9 xadvance=13 page=0 chnl=0 +char id=121 x=0 y=304 width=30 height=35 xoffset=0 yoffset=11 xadvance=27 page=0 chnl=0 +char id=118 x=30 y=304 width=29 height=35 xoffset=0 yoffset=9 xadvance=26 page=0 chnl=0 +char id=112 x=59 y=304 width=26 height=35 xoffset=1 yoffset=9 xadvance=24 page=0 chnl=0 +char id=111 x=85 y=304 width=29 height=35 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 +char id=107 x=114 y=304 width=29 height=35 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0 +char id=105 x=143 y=304 width=15 height=35 xoffset=1 yoffset=10 xadvance=14 page=0 chnl=0 +char id=103 x=158 y=304 width=30 height=35 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0 +char id=86 x=188 y=304 width=29 height=35 xoffset=0 yoffset=8 xadvance=26 page=0 chnl=0 +char id=80 x=217 y=304 width=26 height=35 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=0 +char id=73 x=0 y=339 width=14 height=35 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=0 +char id=35 x=14 y=339 width=27 height=34 xoffset=0 yoffset=12 xadvance=22 page=0 chnl=0 +char id=59 x=41 y=339 width=10 height=32 xoffset=2 yoffset=19 xadvance=10 page=0 chnl=0 +char id=124 x=51 y=339 width=17 height=28 xoffset=1 yoffset=14 xadvance=16 page=0 chnl=0 +char id=125 x=68 y=339 width=17 height=28 xoffset=1 yoffset=17 xadvance=15 page=0 chnl=0 +char id=123 x=85 y=339 width=17 height=28 xoffset=1 yoffset=17 xadvance=15 page=0 chnl=0 +char id=42 x=102 y=339 width=29 height=27 xoffset=0 yoffset=12 xadvance=26 page=0 chnl=0 +char id=60 x=131 y=339 width=66 height=26 xoffset=1 yoffset=17 xadvance=65 page=0 chnl=0 +char id=58 x=197 y=339 width=9 height=26 xoffset=2 yoffset=19 xadvance=10 page=0 chnl=0 +char id=62 x=0 y=374 width=66 height=25 xoffset=1 yoffset=17 xadvance=66 page=0 chnl=0 +char id=43 x=66 y=374 width=22 height=20 xoffset=0 yoffset=15 xadvance=19 page=0 chnl=0 +char id=44 x=88 y=374 width=8 height=16 xoffset=2 yoffset=34 xadvance=9 page=0 chnl=0 +char id=34 x=96 y=374 width=16 height=15 xoffset=0 yoffset=10 xadvance=14 page=0 chnl=0 +char id=39 x=112 y=374 width=8 height=13 xoffset=1 yoffset=10 xadvance=7 page=0 chnl=0 +char id=61 x=120 y=374 width=15 height=10 xoffset=2 yoffset=22 xadvance=16 page=0 chnl=0 +char id=46 x=135 y=374 width=10 height=9 xoffset=2 yoffset=35 xadvance=10 page=0 chnl=0 +char id=96 x=145 y=374 width=12 height=8 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 +char id=45 x=157 y=374 width=15 height=5 xoffset=2 yoffset=23 xadvance=16 page=0 chnl=0 +kernings count=-1 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest.png b/tests/cpp-tests/Resources/fonts/bitmapFontTest.png new file mode 100755 index 0000000000..112328fdb0 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest2.bmp b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.bmp new file mode 100755 index 0000000000..263832e276 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.bmp differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest2.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.fnt new file mode 100755 index 0000000000..d0814a00ca --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.fnt @@ -0,0 +1,188 @@ +info face="Ardour3DGM" size=96 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=104 base=26 scaleW=1024 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontTest2.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=75 xadvance=30 page=0 chnl=0 +char id=125 x=0 y=0 width=34 height=90 xoffset=1 yoffset=10 xadvance=30 page=0 chnl=0 +char id=123 x=34 y=0 width=34 height=90 xoffset=1 yoffset=10 xadvance=30 page=0 chnl=0 +char id=93 x=68 y=0 width=35 height=90 xoffset=1 yoffset=10 xadvance=31 page=0 chnl=0 +char id=91 x=103 y=0 width=35 height=90 xoffset=1 yoffset=10 xadvance=31 page=0 chnl=0 +char id=41 x=138 y=0 width=28 height=90 xoffset=1 yoffset=10 xadvance=24 page=0 chnl=0 +char id=40 x=166 y=0 width=26 height=90 xoffset=1 yoffset=10 xadvance=24 page=0 chnl=0 +char id=124 x=192 y=0 width=21 height=89 xoffset=1 yoffset=13 xadvance=17 page=0 chnl=0 +char id=106 x=213 y=0 width=37 height=79 xoffset=-7 yoffset=21 xadvance=18 page=0 chnl=0 +char id=81 x=250 y=0 width=42 height=77 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=37 x=292 y=0 width=79 height=70 xoffset=1 yoffset=14 xadvance=75 page=0 chnl=0 +char id=92 x=371 y=0 width=57 height=70 xoffset=1 yoffset=14 xadvance=55 page=0 chnl=0 +char id=47 x=428 y=0 width=59 height=70 xoffset=1 yoffset=14 xadvance=55 page=0 chnl=0 +char id=52 x=487 y=0 width=49 height=70 xoffset=1 yoffset=13 xadvance=45 page=0 chnl=0 +char id=77 x=536 y=0 width=63 height=70 xoffset=1 yoffset=13 xadvance=59 page=0 chnl=0 +char id=55 x=599 y=0 width=55 height=69 xoffset=1 yoffset=15 xadvance=51 page=0 chnl=0 +char id=121 x=654 y=0 width=40 height=69 xoffset=1 yoffset=31 xadvance=38 page=0 chnl=0 +char id=113 x=694 y=0 width=41 height=69 xoffset=1 yoffset=32 xadvance=37 page=0 chnl=0 +char id=112 x=735 y=0 width=41 height=69 xoffset=1 yoffset=32 xadvance=37 page=0 chnl=0 +char id=108 x=776 y=0 width=21 height=69 xoffset=1 yoffset=14 xadvance=17 page=0 chnl=0 +char id=107 x=797 y=0 width=41 height=69 xoffset=1 yoffset=14 xadvance=37 page=0 chnl=0 +char id=104 x=838 y=0 width=41 height=69 xoffset=1 yoffset=14 xadvance=37 page=0 chnl=0 +char id=89 x=879 y=0 width=42 height=69 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=88 x=921 y=0 width=42 height=69 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=78 x=963 y=0 width=43 height=69 xoffset=1 yoffset=14 xadvance=39 page=0 chnl=0 +char id=75 x=0 y=90 width=43 height=69 xoffset=1 yoffset=14 xadvance=39 page=0 chnl=0 +char id=72 x=43 y=90 width=42 height=69 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=49 x=85 y=90 width=33 height=68 xoffset=1 yoffset=14 xadvance=29 page=0 chnl=0 +char id=103 x=118 y=90 width=40 height=68 xoffset=1 yoffset=32 xadvance=38 page=0 chnl=0 +char id=102 x=158 y=90 width=33 height=68 xoffset=1 yoffset=15 xadvance=29 page=0 chnl=0 +char id=100 x=191 y=90 width=41 height=68 xoffset=1 yoffset=14 xadvance=37 page=0 chnl=0 +char id=98 x=232 y=90 width=41 height=68 xoffset=1 yoffset=14 xadvance=37 page=0 chnl=0 +char id=87 x=273 y=90 width=62 height=68 xoffset=1 yoffset=14 xadvance=58 page=0 chnl=0 +char id=86 x=335 y=90 width=40 height=68 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=85 x=375 y=90 width=42 height=68 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=84 x=417 y=90 width=56 height=68 xoffset=1 yoffset=15 xadvance=52 page=0 chnl=0 +char id=82 x=473 y=90 width=42 height=68 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=80 x=515 y=90 width=42 height=68 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=76 x=557 y=90 width=43 height=68 xoffset=1 yoffset=14 xadvance=39 page=0 chnl=0 +char id=74 x=600 y=90 width=42 height=68 xoffset=1 yoffset=14 xadvance=38 page=0 chnl=0 +char id=70 x=642 y=90 width=41 height=68 xoffset=1 yoffset=15 xadvance=37 page=0 chnl=0 +char id=65 x=683 y=90 width=41 height=68 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=38 x=724 y=90 width=45 height=67 xoffset=1 yoffset=15 xadvance=41 page=0 chnl=0 +char id=36 x=769 y=90 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=63 x=811 y=90 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=48 x=853 y=90 width=45 height=67 xoffset=1 yoffset=15 xadvance=43 page=0 chnl=0 +char id=57 x=898 y=90 width=40 height=67 xoffset=2 yoffset=15 xadvance=37 page=0 chnl=0 +char id=56 x=938 y=90 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=54 x=980 y=90 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=53 x=0 y=159 width=43 height=67 xoffset=1 yoffset=15 xadvance=39 page=0 chnl=0 +char id=51 x=43 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=50 x=85 y=159 width=43 height=67 xoffset=1 yoffset=15 xadvance=39 page=0 chnl=0 +char id=90 x=128 y=159 width=45 height=67 xoffset=1 yoffset=15 xadvance=43 page=0 chnl=0 +char id=83 x=173 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=79 x=215 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=73 x=257 y=159 width=30 height=67 xoffset=1 yoffset=15 xadvance=26 page=0 chnl=0 +char id=71 x=287 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=69 x=329 y=159 width=41 height=67 xoffset=1 yoffset=15 xadvance=37 page=0 chnl=0 +char id=68 x=370 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=67 x=412 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=66 x=454 y=159 width=42 height=67 xoffset=1 yoffset=15 xadvance=38 page=0 chnl=0 +char id=33 x=496 y=159 width=22 height=66 xoffset=1 yoffset=16 xadvance=18 page=0 chnl=0 +char id=64 x=518 y=159 width=68 height=62 xoffset=1 yoffset=19 xadvance=66 page=0 chnl=0 +char id=116 x=586 y=159 width=31 height=62 xoffset=1 yoffset=21 xadvance=27 page=0 chnl=0 +char id=105 x=617 y=159 width=22 height=62 xoffset=1 yoffset=21 xadvance=18 page=0 chnl=0 +char id=59 x=639 y=159 width=22 height=57 xoffset=1 yoffset=34 xadvance=18 page=0 chnl=0 +char id=117 x=661 y=159 width=40 height=52 xoffset=1 yoffset=31 xadvance=38 page=0 chnl=0 +char id=110 x=701 y=159 width=40 height=52 xoffset=1 yoffset=32 xadvance=38 page=0 chnl=0 +char id=109 x=741 y=159 width=60 height=52 xoffset=1 yoffset=32 xadvance=58 page=0 chnl=0 +char id=120 x=801 y=159 width=40 height=51 xoffset=1 yoffset=32 xadvance=38 page=0 chnl=0 +char id=114 x=841 y=159 width=41 height=51 xoffset=1 yoffset=32 xadvance=37 page=0 chnl=0 +char id=97 x=882 y=159 width=41 height=51 xoffset=1 yoffset=32 xadvance=37 page=0 chnl=0 +char id=35 x=923 y=159 width=56 height=50 xoffset=1 yoffset=24 xadvance=52 page=0 chnl=0 +char id=119 x=0 y=226 width=62 height=50 xoffset=1 yoffset=32 xadvance=58 page=0 chnl=0 +char id=118 x=62 y=226 width=40 height=50 xoffset=1 yoffset=32 xadvance=38 page=0 chnl=0 +char id=122 x=102 y=226 width=43 height=49 xoffset=1 yoffset=33 xadvance=39 page=0 chnl=0 +char id=115 x=145 y=226 width=40 height=49 xoffset=1 yoffset=33 xadvance=36 page=0 chnl=0 +char id=111 x=185 y=226 width=40 height=49 xoffset=1 yoffset=33 xadvance=38 page=0 chnl=0 +char id=101 x=225 y=226 width=40 height=49 xoffset=1 yoffset=33 xadvance=38 page=0 chnl=0 +char id=99 x=265 y=226 width=40 height=49 xoffset=1 yoffset=33 xadvance=38 page=0 chnl=0 +char id=58 x=305 y=226 width=22 height=48 xoffset=1 yoffset=34 xadvance=18 page=0 chnl=0 +char id=42 x=327 y=226 width=32 height=34 xoffset=1 yoffset=16 xadvance=30 page=0 chnl=0 +char id=62 x=359 y=226 width=39 height=34 xoffset=1 yoffset=40 xadvance=35 page=0 chnl=0 +char id=60 x=398 y=226 width=38 height=34 xoffset=1 yoffset=40 xadvance=34 page=0 chnl=0 +char id=43 x=436 y=226 width=43 height=32 xoffset=1 yoffset=41 xadvance=39 page=0 chnl=0 +char id=44 x=479 y=226 width=22 height=25 xoffset=1 yoffset=66 xadvance=18 page=0 chnl=0 +char id=39 x=501 y=226 width=17 height=24 xoffset=1 yoffset=15 xadvance=15 page=0 chnl=0 +char id=96 x=518 y=226 width=24 height=24 xoffset=1 yoffset=15 xadvance=22 page=0 chnl=0 +char id=34 x=542 y=226 width=33 height=24 xoffset=1 yoffset=15 xadvance=29 page=0 chnl=0 +char id=94 x=575 y=226 width=38 height=23 xoffset=1 yoffset=16 xadvance=34 page=0 chnl=0 +char id=126 x=613 y=226 width=47 height=22 xoffset=1 yoffset=25 xadvance=43 page=0 chnl=0 +char id=61 x=660 y=226 width=44 height=22 xoffset=1 yoffset=47 xadvance=40 page=0 chnl=0 +char id=46 x=704 y=226 width=22 height=16 xoffset=1 yoffset=66 xadvance=18 page=0 chnl=0 +char id=45 x=726 y=226 width=37 height=13 xoffset=1 yoffset=51 xadvance=33 page=0 chnl=0 +char id=95 x=763 y=226 width=46 height=12 xoffset=1 yoffset=85 xadvance=42 page=0 chnl=0 +kernings count=87 +kerning first=121 second=44 amount=-7 +kerning first=121 second=46 amount=-7 +kerning first=89 second=44 amount=-12 +kerning first=89 second=45 amount=-9 +kerning first=89 second=46 amount=-12 +kerning first=89 second=58 amount=-5 +kerning first=89 second=59 amount=-6 +kerning first=89 second=65 amount=-7 +kerning first=89 second=97 amount=-7 +kerning first=89 second=101 amount=-9 +kerning first=89 second=105 amount=-3 +kerning first=89 second=111 amount=-9 +kerning first=89 second=112 amount=-7 +kerning first=89 second=113 amount=-9 +kerning first=89 second=117 amount=-5 +kerning first=89 second=118 amount=-5 +kerning first=49 second=49 amount=-7 +kerning first=102 second=102 amount=-2 +kerning first=87 second=44 amount=-5 +kerning first=87 second=45 amount=-2 +kerning first=87 second=46 amount=-5 +kerning first=87 second=58 amount=-2 +kerning first=87 second=59 amount=-2 +kerning first=87 second=65 amount=-3 +kerning first=87 second=97 amount=-3 +kerning first=87 second=101 amount=-2 +kerning first=87 second=111 amount=-2 +kerning first=87 second=114 amount=-2 +kerning first=87 second=117 amount=-2 +kerning first=87 second=121 amount=-1 +kerning first=86 second=44 amount=-9 +kerning first=86 second=45 amount=-5 +kerning first=86 second=46 amount=-9 +kerning first=86 second=58 amount=-3 +kerning first=86 second=59 amount=-3 +kerning first=86 second=65 amount=-7 +kerning first=86 second=97 amount=-7 +kerning first=86 second=101 amount=-5 +kerning first=86 second=105 amount=-2 +kerning first=86 second=111 amount=-5 +kerning first=86 second=114 amount=-3 +kerning first=86 second=117 amount=-3 +kerning first=86 second=121 amount=-3 +kerning first=84 second=44 amount=-10 +kerning first=84 second=45 amount=-5 +kerning first=84 second=46 amount=-10 +kerning first=84 second=58 amount=-10 +kerning first=84 second=59 amount=-10 +kerning first=84 second=65 amount=-7 +kerning first=84 second=79 amount=-2 +kerning first=84 second=97 amount=-10 +kerning first=84 second=99 amount=-10 +kerning first=84 second=101 amount=-10 +kerning first=84 second=105 amount=-3 +kerning first=84 second=111 amount=-10 +kerning first=84 second=114 amount=-3 +kerning first=84 second=115 amount=-10 +kerning first=84 second=117 amount=-3 +kerning first=84 second=119 amount=-5 +kerning first=84 second=121 amount=-5 +kerning first=82 second=84 amount=-2 +kerning first=82 second=86 amount=-2 +kerning first=82 second=87 amount=-2 +kerning first=82 second=89 amount=-2 +kerning first=80 second=44 amount=-12 +kerning first=80 second=46 amount=-12 +kerning first=80 second=65 amount=-7 +kerning first=76 second=84 amount=-7 +kerning first=76 second=86 amount=-7 +kerning first=76 second=87 amount=-7 +kerning first=76 second=89 amount=-7 +kerning first=76 second=121 amount=-3 +kerning first=70 second=44 amount=-10 +kerning first=70 second=46 amount=-10 +kerning first=70 second=65 amount=-5 +kerning first=65 second=84 amount=-7 +kerning first=65 second=86 amount=-7 +kerning first=65 second=87 amount=-3 +kerning first=65 second=89 amount=-7 +kerning first=65 second=118 amount=-2 +kerning first=65 second=119 amount=-2 +kerning first=65 second=121 amount=-2 +kerning first=114 second=44 amount=-5 +kerning first=114 second=46 amount=-5 +kerning first=119 second=44 amount=-5 +kerning first=119 second=46 amount=-5 +kerning first=118 second=44 amount=-7 +kerning first=118 second=46 amount=-7 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest2.png b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.png new file mode 100755 index 0000000000..9975e49612 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest2.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest3.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontTest3.fnt new file mode 100755 index 0000000000..53c9bc1343 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontTest3.fnt @@ -0,0 +1,102 @@ +info face="ActionJackson" size=28 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=30 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontTest3.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=24 xadvance=23 page=0 chnl=0 +char id=114 x=0 y=0 width=16 height=25 xoffset=0 yoffset=1 xadvance=14 page=0 chnl=0 +char id=82 x=16 y=0 width=16 height=25 xoffset=0 yoffset=1 xadvance=14 page=0 chnl=0 +char id=62 x=32 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=60 x=41 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=125 x=51 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=123 x=60 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=93 x=70 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=91 x=79 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=41 x=89 y=0 width=9 height=24 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0 +char id=40 x=98 y=0 width=10 height=24 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=0 +char id=56 x=108 y=0 width=17 height=24 xoffset=0 yoffset=1 xadvance=15 page=0 chnl=0 +char id=105 x=125 y=0 width=19 height=24 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 +char id=101 x=144 y=0 width=18 height=24 xoffset=0 yoffset=1 xadvance=16 page=0 chnl=0 +char id=73 x=162 y=0 width=19 height=24 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 +char id=69 x=181 y=0 width=18 height=24 xoffset=0 yoffset=1 xadvance=16 page=0 chnl=0 +char id=59 x=199 y=0 width=11 height=23 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0 +char id=63 x=210 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=33 x=226 y=0 width=8 height=23 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0 +char id=48 x=234 y=0 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=57 x=252 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=54 x=268 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=53 x=285 y=0 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=52 x=304 y=0 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=51 x=322 y=0 width=16 height=23 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=49 x=338 y=0 width=16 height=23 xoffset=1 yoffset=2 xadvance=15 page=0 chnl=0 +char id=122 x=354 y=0 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=121 x=373 y=0 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=118 x=393 y=0 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=116 x=414 y=0 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=113 x=435 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=112 x=452 y=0 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=110 x=469 y=0 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=109 x=0 y=25 width=25 height=23 xoffset=0 yoffset=2 xadvance=22 page=0 chnl=0 +char id=108 x=25 y=25 width=21 height=23 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 +char id=107 x=46 y=25 width=19 height=23 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 +char id=106 x=65 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=100 x=85 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=98 x=104 y=25 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=97 x=122 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=90 x=143 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=89 x=162 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=86 x=182 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=84 x=203 y=25 width=21 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=81 x=224 y=25 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=80 x=241 y=25 width=17 height=23 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=78 x=258 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=77 x=278 y=25 width=25 height=23 xoffset=0 yoffset=2 xadvance=22 page=0 chnl=0 +char id=76 x=303 y=25 width=21 height=23 xoffset=1 yoffset=2 xadvance=19 page=0 chnl=0 +char id=75 x=324 y=25 width=19 height=23 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 +char id=74 x=343 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=18 page=0 chnl=0 +char id=68 x=363 y=25 width=19 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=66 x=382 y=25 width=18 height=23 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=65 x=400 y=25 width=20 height=23 xoffset=0 yoffset=2 xadvance=19 page=0 chnl=0 +char id=55 x=420 y=25 width=18 height=22 xoffset=0 yoffset=3 xadvance=16 page=0 chnl=0 +char id=50 x=438 y=25 width=18 height=22 xoffset=1 yoffset=2 xadvance=17 page=0 chnl=0 +char id=120 x=456 y=25 width=23 height=22 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=117 x=479 y=25 width=22 height=22 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=115 x=0 y=48 width=16 height=22 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=111 x=16 y=48 width=17 height=22 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=102 x=33 y=48 width=20 height=22 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=88 x=53 y=48 width=23 height=22 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 +char id=85 x=76 y=48 width=22 height=22 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 +char id=83 x=98 y=48 width=16 height=22 xoffset=0 yoffset=2 xadvance=14 page=0 chnl=0 +char id=79 x=114 y=48 width=17 height=22 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=70 x=131 y=48 width=20 height=22 xoffset=0 yoffset=2 xadvance=17 page=0 chnl=0 +char id=92 x=151 y=48 width=12 height=21 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 +char id=119 x=163 y=48 width=24 height=21 xoffset=0 yoffset=2 xadvance=21 page=0 chnl=0 +char id=104 x=187 y=48 width=20 height=21 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=103 x=207 y=48 width=22 height=21 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=87 x=229 y=48 width=24 height=21 xoffset=0 yoffset=2 xadvance=21 page=0 chnl=0 +char id=72 x=253 y=48 width=20 height=21 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=71 x=273 y=48 width=22 height=21 xoffset=0 yoffset=3 xadvance=20 page=0 chnl=0 +char id=47 x=295 y=48 width=11 height=20 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=124 x=306 y=48 width=11 height=20 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=99 x=317 y=48 width=18 height=20 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=67 x=335 y=48 width=18 height=20 xoffset=0 yoffset=2 xadvance=16 page=0 chnl=0 +char id=126 x=353 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=38 x=370 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=35 x=387 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=37 x=404 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=36 x=421 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=94 x=438 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=64 x=455 y=48 width=17 height=18 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 +char id=43 x=472 y=48 width=17 height=17 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0 +char id=58 x=489 y=48 width=9 height=17 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0 +char id=61 x=0 y=70 width=17 height=14 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=0 +char id=44 x=17 y=70 width=11 height=14 xoffset=0 yoffset=16 xadvance=9 page=0 chnl=0 +char id=39 x=28 y=70 width=11 height=14 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0 +char id=96 x=39 y=70 width=10 height=13 xoffset=1 yoffset=0 xadvance=9 page=0 chnl=0 +char id=34 x=49 y=70 width=20 height=13 xoffset=0 yoffset=0 xadvance=17 page=0 chnl=0 +char id=95 x=69 y=70 width=16 height=8 xoffset=1 yoffset=17 xadvance=16 page=0 chnl=0 +char id=45 x=85 y=70 width=17 height=8 xoffset=1 yoffset=10 xadvance=16 page=0 chnl=0 +char id=42 x=102 y=70 width=8 height=7 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0 +char id=46 x=110 y=70 width=9 height=7 xoffset=0 yoffset=18 xadvance=7 page=0 chnl=0 +kernings count=1 +kerning first=79 second=66 amount=-1 +kerning first=79 second=89 amount=-3 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest3.png b/tests/cpp-tests/Resources/fonts/bitmapFontTest3.png new file mode 100755 index 0000000000..d19379f5e7 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest3.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest4.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontTest4.fnt new file mode 100755 index 0000000000..b98b4699ea --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontTest4.fnt @@ -0,0 +1,99 @@ +info face="Cracked" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=37 base=26 scaleW=256 scaleH=256 pages=1 packed=0 +page id=0 file="bitmapFontTest4.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=27 xadvance=9 page=0 chnl=0 +char id=40 x=0 y=0 width=14 height=35 xoffset=-2 yoffset=-2 xadvance=11 page=0 chnl=0 +char id=123 x=14 y=0 width=19 height=34 xoffset=-3 yoffset=-1 xadvance=10 page=0 chnl=0 +char id=93 x=33 y=0 width=16 height=34 xoffset=-4 yoffset=-1 xadvance=10 page=0 chnl=0 +char id=41 x=49 y=0 width=13 height=34 xoffset=-2 yoffset=-2 xadvance=11 page=0 chnl=0 +char id=125 x=62 y=0 width=19 height=33 xoffset=-4 yoffset=0 xadvance=10 page=0 chnl=0 +char id=91 x=81 y=0 width=14 height=33 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=0 +char id=106 x=95 y=0 width=12 height=32 xoffset=-2 yoffset=4 xadvance=10 page=0 chnl=0 +char id=36 x=107 y=0 width=17 height=31 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=81 x=124 y=0 width=19 height=31 xoffset=-2 yoffset=3 xadvance=17 page=0 chnl=0 +char id=65 x=143 y=0 width=18 height=31 xoffset=-2 yoffset=3 xadvance=17 page=0 chnl=0 +char id=38 x=161 y=0 width=20 height=30 xoffset=-1 yoffset=4 xadvance=19 page=0 chnl=0 +char id=92 x=181 y=0 width=15 height=30 xoffset=-2 yoffset=2 xadvance=14 page=0 chnl=0 +char id=47 x=196 y=0 width=15 height=30 xoffset=-1 yoffset=2 xadvance=14 page=0 chnl=0 +char id=55 x=211 y=0 width=16 height=30 xoffset=-2 yoffset=2 xadvance=15 page=0 chnl=0 +char id=107 x=227 y=0 width=17 height=30 xoffset=-2 yoffset=2 xadvance=14 page=0 chnl=0 +char id=90 x=0 y=35 width=17 height=30 xoffset=-2 yoffset=2 xadvance=15 page=0 chnl=0 +char id=74 x=17 y=35 width=14 height=30 xoffset=-2 yoffset=1 xadvance=12 page=0 chnl=0 +char id=71 x=31 y=35 width=18 height=30 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=0 +char id=33 x=49 y=35 width=11 height=29 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0 +char id=56 x=60 y=35 width=17 height=29 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=0 +char id=49 x=77 y=35 width=16 height=29 xoffset=-2 yoffset=2 xadvance=14 page=0 chnl=0 +char id=116 x=93 y=35 width=15 height=29 xoffset=-2 yoffset=4 xadvance=13 page=0 chnl=0 +char id=108 x=108 y=35 width=11 height=29 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=0 +char id=86 x=119 y=35 width=18 height=29 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=0 +char id=70 x=137 y=35 width=16 height=29 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0 +char id=68 x=153 y=35 width=18 height=29 xoffset=-2 yoffset=2 xadvance=16 page=0 chnl=0 +char id=37 x=171 y=35 width=19 height=28 xoffset=-1 yoffset=3 xadvance=19 page=0 chnl=0 +char id=63 x=190 y=35 width=15 height=28 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=0 +char id=48 x=205 y=35 width=17 height=28 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=0 +char id=57 x=222 y=35 width=17 height=28 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=0 +char id=54 x=0 y=65 width=17 height=28 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=53 x=17 y=65 width=17 height=28 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=113 x=34 y=65 width=17 height=28 xoffset=-2 yoffset=7 xadvance=14 page=0 chnl=0 +char id=104 x=51 y=65 width=17 height=28 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=0 +char id=103 x=68 y=65 width=19 height=28 xoffset=-2 yoffset=6 xadvance=16 page=0 chnl=0 +char id=100 x=87 y=65 width=17 height=28 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=88 x=104 y=65 width=19 height=28 xoffset=-2 yoffset=4 xadvance=16 page=0 chnl=0 +char id=87 x=123 y=65 width=25 height=28 xoffset=-2 yoffset=4 xadvance=23 page=0 chnl=0 +char id=82 x=148 y=65 width=17 height=28 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=79 x=165 y=65 width=19 height=28 xoffset=-2 yoffset=4 xadvance=17 page=0 chnl=0 +char id=76 x=184 y=65 width=16 height=28 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0 +char id=75 x=200 y=65 width=18 height=28 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=0 +char id=72 x=218 y=65 width=18 height=28 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=0 +char id=69 x=236 y=65 width=17 height=28 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=124 x=0 y=93 width=10 height=27 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0 +char id=59 x=10 y=93 width=13 height=27 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=0 +char id=52 x=23 y=93 width=18 height=27 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=51 x=41 y=93 width=18 height=27 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=50 x=59 y=93 width=18 height=27 xoffset=-1 yoffset=3 xadvance=16 page=0 chnl=0 +char id=121 x=77 y=93 width=18 height=27 xoffset=-3 yoffset=8 xadvance=14 page=0 chnl=0 +char id=112 x=95 y=93 width=18 height=27 xoffset=-2 yoffset=7 xadvance=15 page=0 chnl=0 +char id=105 x=113 y=93 width=11 height=27 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=0 +char id=102 x=124 y=93 width=15 height=27 xoffset=-2 yoffset=4 xadvance=13 page=0 chnl=0 +char id=98 x=139 y=93 width=18 height=27 xoffset=-2 yoffset=5 xadvance=15 page=0 chnl=0 +char id=85 x=157 y=93 width=20 height=27 xoffset=-1 yoffset=4 xadvance=19 page=0 chnl=0 +char id=84 x=177 y=93 width=21 height=27 xoffset=-2 yoffset=5 xadvance=19 page=0 chnl=0 +char id=83 x=198 y=93 width=18 height=27 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=80 x=216 y=93 width=17 height=27 xoffset=-2 yoffset=4 xadvance=15 page=0 chnl=0 +char id=78 x=233 y=93 width=18 height=27 xoffset=-2 yoffset=4 xadvance=16 page=0 chnl=0 +char id=77 x=0 y=120 width=22 height=27 xoffset=-2 yoffset=5 xadvance=19 page=0 chnl=0 +char id=73 x=22 y=120 width=11 height=27 xoffset=-1 yoffset=4 xadvance=10 page=0 chnl=0 +char id=66 x=33 y=120 width=19 height=27 xoffset=-2 yoffset=4 xadvance=17 page=0 chnl=0 +char id=35 x=52 y=120 width=18 height=26 xoffset=-2 yoffset=6 xadvance=16 page=0 chnl=0 +char id=89 x=70 y=120 width=18 height=26 xoffset=-2 yoffset=5 xadvance=16 page=0 chnl=0 +char id=67 x=88 y=120 width=19 height=26 xoffset=-2 yoffset=4 xadvance=17 page=0 chnl=0 +char id=58 x=107 y=120 width=11 height=24 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=0 +char id=117 x=118 y=120 width=17 height=24 xoffset=-2 yoffset=9 xadvance=15 page=0 chnl=0 +char id=111 x=135 y=120 width=17 height=24 xoffset=-2 yoffset=8 xadvance=15 page=0 chnl=0 +char id=119 x=152 y=120 width=20 height=23 xoffset=-2 yoffset=8 xadvance=18 page=0 chnl=0 +char id=114 x=172 y=120 width=15 height=23 xoffset=-2 yoffset=8 xadvance=12 page=0 chnl=0 +char id=99 x=187 y=120 width=17 height=23 xoffset=-2 yoffset=8 xadvance=15 page=0 chnl=0 +char id=97 x=204 y=120 width=17 height=23 xoffset=-2 yoffset=8 xadvance=15 page=0 chnl=0 +char id=122 x=221 y=120 width=17 height=22 xoffset=-2 yoffset=9 xadvance=15 page=0 chnl=0 +char id=118 x=238 y=120 width=16 height=22 xoffset=-2 yoffset=8 xadvance=14 page=0 chnl=0 +char id=115 x=0 y=147 width=16 height=22 xoffset=-2 yoffset=9 xadvance=14 page=0 chnl=0 +char id=109 x=16 y=147 width=21 height=22 xoffset=-2 yoffset=8 xadvance=19 page=0 chnl=0 +char id=101 x=37 y=147 width=17 height=22 xoffset=-2 yoffset=8 xadvance=15 page=0 chnl=0 +char id=120 x=54 y=147 width=17 height=21 xoffset=-2 yoffset=9 xadvance=15 page=0 chnl=0 +char id=110 x=71 y=147 width=16 height=21 xoffset=-2 yoffset=9 xadvance=14 page=0 chnl=0 +char id=64 x=87 y=147 width=20 height=19 xoffset=-1 yoffset=7 xadvance=20 page=0 chnl=0 +char id=44 x=107 y=147 width=12 height=17 xoffset=-2 yoffset=18 xadvance=9 page=0 chnl=0 +char id=43 x=119 y=147 width=17 height=16 xoffset=-2 yoffset=9 xadvance=16 page=0 chnl=0 +char id=60 x=136 y=147 width=17 height=16 xoffset=-2 yoffset=9 xadvance=15 page=0 chnl=0 +char id=61 x=153 y=147 width=23 height=15 xoffset=-1 yoffset=9 xadvance=22 page=0 chnl=0 +char id=62 x=176 y=147 width=17 height=15 xoffset=-2 yoffset=10 xadvance=15 page=0 chnl=0 +char id=39 x=193 y=147 width=9 height=15 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0 +char id=34 x=202 y=147 width=14 height=15 xoffset=-1 yoffset=4 xadvance=14 page=0 chnl=0 +char id=42 x=216 y=147 width=11 height=10 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=0 +char id=126 x=227 y=147 width=21 height=10 xoffset=-2 yoffset=-1 xadvance=19 page=0 chnl=0 +char id=94 x=0 y=169 width=13 height=10 xoffset=-1 yoffset=0 xadvance=13 page=0 chnl=0 +char id=46 x=13 y=169 width=10 height=10 xoffset=-2 yoffset=21 xadvance=7 page=0 chnl=0 +char id=96 x=23 y=169 width=13 height=10 xoffset=-4 yoffset=-1 xadvance=7 page=0 chnl=0 +char id=95 x=36 y=169 width=28 height=9 xoffset=-2 yoffset=25 xadvance=26 page=0 chnl=0 +char id=45 x=64 y=169 width=17 height=8 xoffset=-2 yoffset=12 xadvance=15 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest4.png b/tests/cpp-tests/Resources/fonts/bitmapFontTest4.png new file mode 100755 index 0000000000..93dacc0806 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest4.png differ diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest5.fnt b/tests/cpp-tests/Resources/fonts/bitmapFontTest5.fnt new file mode 100755 index 0000000000..0dacd6b174 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/bitmapFontTest5.fnt @@ -0,0 +1,99 @@ +info face="CygnetRound" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=43 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="bitmapFontTest5.png" +chars count=94 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=32 xadvance=9 page=0 chnl=0 +char id=125 x=0 y=0 width=38 height=37 xoffset=2 yoffset=5 xadvance=15 page=0 chnl=0 +char id=123 x=38 y=0 width=43 height=37 xoffset=7 yoffset=5 xadvance=15 page=0 chnl=0 +char id=89 x=81 y=0 width=52 height=37 xoffset=5 yoffset=7 xadvance=28 page=0 chnl=0 +char id=41 x=133 y=0 width=35 height=36 xoffset=-1 yoffset=7 xadvance=12 page=0 chnl=0 +char id=40 x=168 y=0 width=41 height=36 xoffset=6 yoffset=7 xadvance=12 page=0 chnl=0 +char id=102 x=209 y=0 width=66 height=36 xoffset=-9 yoffset=8 xadvance=7 page=0 chnl=0 +char id=74 x=275 y=0 width=61 height=36 xoffset=1 yoffset=8 xadvance=23 page=0 chnl=0 +char id=76 x=336 y=0 width=55 height=32 xoffset=6 yoffset=7 xadvance=22 page=0 chnl=0 +char id=124 x=391 y=0 width=6 height=31 xoffset=4 yoffset=7 xadvance=11 page=0 chnl=0 +char id=93 x=397 y=0 width=43 height=31 xoffset=6 yoffset=6 xadvance=12 page=0 chnl=0 +char id=91 x=440 y=0 width=41 height=31 xoffset=4 yoffset=6 xadvance=12 page=0 chnl=0 +char id=112 x=0 y=37 width=45 height=31 xoffset=-3 yoffset=13 xadvance=14 page=0 chnl=0 +char id=92 x=45 y=37 width=13 height=30 xoffset=3 yoffset=8 xadvance=16 page=0 chnl=0 +char id=47 x=58 y=37 width=13 height=30 xoffset=3 yoffset=8 xadvance=16 page=0 chnl=0 +char id=106 x=71 y=37 width=51 height=30 xoffset=-9 yoffset=14 xadvance=10 page=0 chnl=0 +char id=64 x=122 y=37 width=33 height=29 xoffset=9 yoffset=9 xadvance=35 page=0 chnl=0 +char id=71 x=155 y=37 width=43 height=29 xoffset=6 yoffset=5 xadvance=20 page=0 chnl=0 +char id=57 x=198 y=37 width=41 height=28 xoffset=-6 yoffset=13 xadvance=16 page=0 chnl=0 +char id=81 x=239 y=37 width=43 height=28 xoffset=5 yoffset=7 xadvance=25 page=0 chnl=0 +char id=80 x=282 y=37 width=52 height=28 xoffset=5 yoffset=6 xadvance=26 page=0 chnl=0 +char id=68 x=334 y=37 width=43 height=28 xoffset=5 yoffset=6 xadvance=25 page=0 chnl=0 +char id=90 x=377 y=37 width=45 height=27 xoffset=6 yoffset=7 xadvance=22 page=0 chnl=0 +char id=88 x=422 y=37 width=56 height=27 xoffset=6 yoffset=7 xadvance=27 page=0 chnl=0 +char id=87 x=0 y=68 width=49 height=27 xoffset=7 yoffset=7 xadvance=29 page=0 chnl=0 +char id=86 x=49 y=68 width=45 height=27 xoffset=5 yoffset=7 xadvance=17 page=0 chnl=0 +char id=85 x=94 y=68 width=41 height=27 xoffset=6 yoffset=7 xadvance=22 page=0 chnl=0 +char id=83 x=135 y=68 width=46 height=27 xoffset=5 yoffset=7 xadvance=20 page=0 chnl=0 +char id=82 x=181 y=68 width=44 height=27 xoffset=6 yoffset=7 xadvance=27 page=0 chnl=0 +char id=79 x=225 y=68 width=36 height=27 xoffset=7 yoffset=7 xadvance=20 page=0 chnl=0 +char id=78 x=261 y=68 width=60 height=27 xoffset=6 yoffset=7 xadvance=27 page=0 chnl=0 +char id=77 x=321 y=68 width=60 height=27 xoffset=6 yoffset=7 xadvance=33 page=0 chnl=0 +char id=75 x=381 y=68 width=62 height=27 xoffset=4 yoffset=7 xadvance=27 page=0 chnl=0 +char id=73 x=443 y=68 width=54 height=27 xoffset=5 yoffset=7 xadvance=20 page=0 chnl=0 +char id=72 x=0 y=95 width=60 height=27 xoffset=6 yoffset=7 xadvance=27 page=0 chnl=0 +char id=69 x=60 y=95 width=34 height=27 xoffset=6 yoffset=7 xadvance=19 page=0 chnl=0 +char id=67 x=94 y=95 width=40 height=27 xoffset=7 yoffset=7 xadvance=18 page=0 chnl=0 +char id=66 x=134 y=95 width=41 height=27 xoffset=6 yoffset=7 xadvance=26 page=0 chnl=0 +char id=65 x=175 y=95 width=47 height=27 xoffset=6 yoffset=7 xadvance=29 page=0 chnl=0 +char id=54 x=222 y=95 width=41 height=26 xoffset=7 yoffset=8 xadvance=17 page=0 chnl=0 +char id=108 x=263 y=95 width=33 height=26 xoffset=5 yoffset=8 xadvance=7 page=0 chnl=0 +char id=107 x=296 y=95 width=35 height=26 xoffset=3 yoffset=8 xadvance=15 page=0 chnl=0 +char id=104 x=331 y=95 width=34 height=26 xoffset=4 yoffset=8 xadvance=15 page=0 chnl=0 +char id=100 x=365 y=95 width=40 height=26 xoffset=6 yoffset=8 xadvance=15 page=0 chnl=0 +char id=98 x=405 y=95 width=33 height=26 xoffset=7 yoffset=8 xadvance=15 page=0 chnl=0 +char id=84 x=438 y=95 width=57 height=26 xoffset=5 yoffset=8 xadvance=25 page=0 chnl=0 +char id=70 x=0 y=122 width=55 height=26 xoffset=5 yoffset=8 xadvance=25 page=0 chnl=0 +char id=36 x=55 y=122 width=30 height=25 xoffset=5 yoffset=11 xadvance=16 page=0 chnl=0 +char id=55 x=85 y=122 width=33 height=25 xoffset=2 yoffset=13 xadvance=14 page=0 chnl=0 +char id=56 x=118 y=122 width=30 height=24 xoffset=6 yoffset=10 xadvance=17 page=0 chnl=0 +char id=121 x=148 y=122 width=50 height=24 xoffset=-6 yoffset=20 xadvance=15 page=0 chnl=0 +char id=113 x=198 y=122 width=33 height=24 xoffset=5 yoffset=20 xadvance=15 page=0 chnl=0 +char id=103 x=231 y=122 width=48 height=24 xoffset=-5 yoffset=20 xadvance=15 page=0 chnl=0 +char id=52 x=279 y=122 width=28 height=23 xoffset=6 yoffset=10 xadvance=17 page=0 chnl=0 +char id=37 x=307 y=122 width=29 height=22 xoffset=8 yoffset=13 xadvance=26 page=0 chnl=0 +char id=38 x=336 y=122 width=32 height=21 xoffset=12 yoffset=13 xadvance=29 page=0 chnl=0 +char id=63 x=368 y=122 width=23 height=21 xoffset=11 yoffset=13 xadvance=19 page=0 chnl=0 +char id=33 x=391 y=122 width=23 height=21 xoffset=10 yoffset=13 xadvance=16 page=0 chnl=0 +char id=48 x=414 y=122 width=27 height=21 xoffset=6 yoffset=13 xadvance=16 page=0 chnl=0 +char id=53 x=441 y=122 width=31 height=21 xoffset=5 yoffset=13 xadvance=17 page=0 chnl=0 +char id=51 x=472 y=122 width=29 height=21 xoffset=5 yoffset=13 xadvance=17 page=0 chnl=0 +char id=50 x=0 y=148 width=27 height=21 xoffset=3 yoffset=13 xadvance=17 page=0 chnl=0 +char id=43 x=27 y=148 width=21 height=20 xoffset=3 yoffset=13 xadvance=25 page=0 chnl=0 +char id=49 x=48 y=148 width=25 height=20 xoffset=6 yoffset=13 xadvance=12 page=0 chnl=0 +char id=105 x=73 y=148 width=26 height=20 xoffset=6 yoffset=14 xadvance=7 page=0 chnl=0 +char id=94 x=99 y=148 width=20 height=19 xoffset=1 yoffset=8 xadvance=20 page=0 chnl=0 +char id=59 x=119 y=148 width=22 height=18 xoffset=6 yoffset=20 xadvance=11 page=0 chnl=0 +char id=116 x=141 y=148 width=28 height=18 xoffset=6 yoffset=16 xadvance=9 page=0 chnl=0 +char id=35 x=169 y=148 width=32 height=16 xoffset=8 yoffset=8 xadvance=17 page=0 chnl=0 +char id=122 x=201 y=148 width=32 height=15 xoffset=6 yoffset=19 xadvance=13 page=0 chnl=0 +char id=42 x=233 y=148 width=15 height=14 xoffset=1 yoffset=8 xadvance=15 page=0 chnl=0 +char id=58 x=248 y=148 width=18 height=14 xoffset=8 yoffset=20 xadvance=11 page=0 chnl=0 +char id=120 x=266 y=148 width=37 height=14 xoffset=4 yoffset=20 xadvance=16 page=0 chnl=0 +char id=119 x=303 y=148 width=40 height=14 xoffset=6 yoffset=20 xadvance=23 page=0 chnl=0 +char id=118 x=343 y=148 width=32 height=14 xoffset=6 yoffset=20 xadvance=15 page=0 chnl=0 +char id=117 x=375 y=148 width=33 height=14 xoffset=5 yoffset=20 xadvance=15 page=0 chnl=0 +char id=115 x=408 y=148 width=30 height=14 xoffset=4 yoffset=20 xadvance=11 page=0 chnl=0 +char id=111 x=438 y=148 width=32 height=14 xoffset=6 yoffset=20 xadvance=15 page=0 chnl=0 +char id=110 x=470 y=148 width=34 height=14 xoffset=4 yoffset=20 xadvance=15 page=0 chnl=0 +char id=109 x=0 y=169 width=41 height=14 xoffset=4 yoffset=20 xadvance=22 page=0 chnl=0 +char id=101 x=41 y=169 width=30 height=14 xoffset=6 yoffset=20 xadvance=11 page=0 chnl=0 +char id=99 x=71 y=169 width=28 height=14 xoffset=6 yoffset=20 xadvance=11 page=0 chnl=0 +char id=97 x=99 y=169 width=32 height=14 xoffset=6 yoffset=20 xadvance=15 page=0 chnl=0 +char id=114 x=131 y=169 width=31 height=13 xoffset=4 yoffset=20 xadvance=12 page=0 chnl=0 +char id=62 x=162 y=169 width=9 height=11 xoffset=7 yoffset=21 xadvance=9 page=0 chnl=0 +char id=60 x=171 y=169 width=10 height=11 xoffset=8 yoffset=21 xadvance=9 page=0 chnl=0 +char id=39 x=181 y=169 width=19 height=11 xoffset=17 yoffset=7 xadvance=13 page=0 chnl=0 +char id=34 x=200 y=169 width=25 height=11 xoffset=17 yoffset=7 xadvance=17 page=0 chnl=0 +char id=61 x=225 y=169 width=21 height=10 xoffset=3 yoffset=18 xadvance=25 page=0 chnl=0 +char id=44 x=246 y=169 width=11 height=9 xoffset=5 yoffset=29 xadvance=9 page=0 chnl=0 +char id=126 x=257 y=169 width=20 height=7 xoffset=1 yoffset=20 xadvance=20 page=0 chnl=0 +char id=96 x=277 y=169 width=10 height=6 xoffset=6 yoffset=7 xadvance=19 page=0 chnl=0 +char id=46 x=287 y=169 width=8 height=5 xoffset=8 yoffset=29 xadvance=9 page=0 chnl=0 +char id=95 x=295 y=169 width=18 height=4 xoffset=0 yoffset=35 xadvance=16 page=0 chnl=0 +char id=45 x=313 y=169 width=18 height=4 xoffset=12 yoffset=23 xadvance=15 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/bitmapFontTest5.png b/tests/cpp-tests/Resources/fonts/bitmapFontTest5.png new file mode 100755 index 0000000000..4777c76162 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/bitmapFontTest5.png differ diff --git a/tests/cpp-tests/Resources/fonts/boundsTestFont.fnt b/tests/cpp-tests/Resources/fonts/boundsTestFont.fnt new file mode 100755 index 0000000000..9c7837ff94 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/boundsTestFont.fnt @@ -0,0 +1,343 @@ +info face="Arial-Black" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=54 base=35 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="boundsTestFont.png" +chars count=95 +char id=123 x=2 y=2 width=38 height=54 xoffset=0 yoffset=-3 xadvance=12 page=0 chnl=0 letter="{" +char id=125 x=42 y=2 width=38 height=54 xoffset=0 yoffset=-3 xadvance=12 page=0 chnl=0 letter="}" +char id=41 x=82 y=2 width=37 height=54 xoffset=1 yoffset=-3 xadvance=12 page=0 chnl=0 letter=")" +char id=40 x=121 y=2 width=36 height=54 xoffset=2 yoffset=-3 xadvance=12 page=0 chnl=0 letter="(" +char id=106 x=159 y=2 width=38 height=53 xoffset=-2 yoffset=-2 xadvance=11 page=0 chnl=0 letter="j" +char id=91 x=199 y=2 width=35 height=53 xoffset=2 yoffset=-3 xadvance=12 page=0 chnl=0 letter="[" +char id=93 x=236 y=2 width=35 height=53 xoffset=1 yoffset=-3 xadvance=12 page=0 chnl=0 letter="]" +char id=124 x=273 y=2 width=29 height=53 xoffset=2 yoffset=-3 xadvance=9 page=0 chnl=0 letter="|" +char id=36 x=304 y=2 width=46 height=51 xoffset=1 yoffset=-4 xadvance=21 page=0 chnl=0 letter="$" +char id=64 x=352 y=2 width=49 height=50 xoffset=-0 yoffset=-2 xadvance=24 page=0 chnl=0 letter="@" +char id=81 x=403 y=2 width=51 height=49 xoffset=1 yoffset=-2 xadvance=27 page=0 chnl=0 letter="Q" +char id=37 x=2 y=58 width=56 height=48 xoffset=2 yoffset=-3 xadvance=32 page=0 chnl=0 letter="%" +char id=38 x=60 y=58 width=52 height=47 xoffset=2 yoffset=-3 xadvance=28 page=0 chnl=0 letter="&" +char id=71 x=114 y=58 width=51 height=47 xoffset=1 yoffset=-3 xadvance=27 page=0 chnl=0 letter="G" +char id=79 x=167 y=58 width=51 height=47 xoffset=1 yoffset=-3 xadvance=27 page=0 chnl=0 letter="O" +char id=85 x=220 y=58 width=50 height=47 xoffset=2 yoffset=-2 xadvance=27 page=0 chnl=0 letter="U" +char id=67 x=272 y=58 width=49 height=47 xoffset=2 yoffset=-2 xadvance=25 page=0 chnl=0 letter="C" +char id=83 x=323 y=58 width=47 height=47 xoffset=1 yoffset=-3 xadvance=23 page=0 chnl=0 letter="S" +char id=103 x=372 y=58 width=46 height=47 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="g" +char id=100 x=420 y=58 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="d" +char id=113 x=2 y=108 width=46 height=47 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="q" +char id=51 x=50 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="3" +char id=56 x=98 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="8" +char id=57 x=146 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="9" +char id=48 x=194 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="0" +char id=74 x=242 y=108 width=46 height=47 xoffset=1 yoffset=-2 xadvance=21 page=0 chnl=0 letter="J" +char id=50 x=290 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="2" +char id=53 x=338 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="5" +char id=52 x=386 y=108 width=46 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="4" +char id=35 x=434 y=108 width=45 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="#" +char id=54 x=2 y=157 width=45 height=47 xoffset=1 yoffset=-3 xadvance=21 page=0 chnl=0 letter="6" +char id=98 x=49 y=157 width=45 height=47 xoffset=2 yoffset=-3 xadvance=21 page=0 chnl=0 letter="b" +char id=112 x=96 y=157 width=45 height=47 xoffset=2 yoffset=3 xadvance=21 page=0 chnl=0 letter="p" +char id=121 x=143 y=157 width=45 height=47 xoffset=0 yoffset=4 xadvance=20 page=0 chnl=0 letter="y" +char id=63 x=190 y=157 width=44 height=47 xoffset=1 yoffset=-3 xadvance=20 page=0 chnl=0 letter="?" +char id=49 x=236 y=157 width=44 height=47 xoffset=3 yoffset=-3 xadvance=21 page=0 chnl=0 letter="1" +char id=42 x=282 y=157 width=41 height=47 xoffset=3 yoffset=-3 xadvance=18 page=0 chnl=0 letter="*" +char id=102 x=325 y=157 width=39 height=47 xoffset=0 yoffset=-3 xadvance=12 page=0 chnl=0 letter="f" +char id=116 x=366 y=157 width=39 height=47 xoffset=1 yoffset=-3 xadvance=14 page=0 chnl=0 letter="t" +char id=47 x=407 y=157 width=34 height=47 xoffset=0 yoffset=-3 xadvance=9 page=0 chnl=0 letter="/" +char id=92 x=443 y=157 width=34 height=47 xoffset=-0 yoffset=-3 xadvance=9 page=0 chnl=0 letter="\" +char id=59 x=2 y=206 width=34 height=47 xoffset=2 yoffset=4 xadvance=11 page=0 chnl=0 letter=";" +char id=87 x=38 y=206 width=58 height=46 xoffset=-0 yoffset=-2 xadvance=32 page=0 chnl=0 letter="W" +char id=77 x=98 y=206 width=51 height=46 xoffset=2 yoffset=-2 xadvance=30 page=0 chnl=0 letter="M" +char id=65 x=151 y=206 width=50 height=46 xoffset=0 yoffset=-2 xadvance=25 page=0 chnl=0 letter="A" +char id=86 x=203 y=206 width=50 height=46 xoffset=0 yoffset=-2 xadvance=25 page=0 chnl=0 letter="V" +char id=88 x=255 y=206 width=50 height=46 xoffset=0 yoffset=-2 xadvance=25 page=0 chnl=0 letter="X" +char id=89 x=307 y=206 width=50 height=46 xoffset=0 yoffset=-2 xadvance=25 page=0 chnl=0 letter="Y" +char id=75 x=359 y=206 width=50 height=46 xoffset=2 yoffset=-2 xadvance=27 page=0 chnl=0 letter="K" +char id=68 x=411 y=206 width=48 height=46 xoffset=2 yoffset=-2 xadvance=25 page=0 chnl=0 letter="D" +char id=82 x=461 y=206 width=48 height=46 xoffset=2 yoffset=-2 xadvance=25 page=0 chnl=0 letter="R" +char id=66 x=2 y=255 width=48 height=46 xoffset=2 yoffset=-2 xadvance=25 page=0 chnl=0 letter="B" +char id=90 x=52 y=255 width=47 height=46 xoffset=1 yoffset=-2 xadvance=23 page=0 chnl=0 letter="Z" +char id=78 x=101 y=255 width=47 height=46 xoffset=2 yoffset=-2 xadvance=27 page=0 chnl=0 letter="N" +char id=84 x=150 y=255 width=47 height=46 xoffset=1 yoffset=-2 xadvance=23 page=0 chnl=0 letter="T" +char id=72 x=199 y=255 width=47 height=46 xoffset=2 yoffset=-2 xadvance=27 page=0 chnl=0 letter="H" +char id=80 x=248 y=255 width=46 height=46 xoffset=2 yoffset=-2 xadvance=23 page=0 chnl=0 letter="P" +char id=69 x=296 y=255 width=45 height=46 xoffset=2 yoffset=-2 xadvance=23 page=0 chnl=0 letter="E" +char id=55 x=343 y=255 width=45 height=46 xoffset=1 yoffset=-2 xadvance=21 page=0 chnl=0 letter="7" +char id=104 x=390 y=255 width=45 height=46 xoffset=2 yoffset=-2 xadvance=21 page=0 chnl=0 letter="h" +char id=107 x=437 y=255 width=45 height=46 xoffset=2 yoffset=-2 xadvance=21 page=0 chnl=0 letter="k" +char id=76 x=2 y=303 width=44 height=46 xoffset=2 yoffset=-2 xadvance=21 page=0 chnl=0 letter="L" +char id=70 x=48 y=303 width=43 height=46 xoffset=2 yoffset=-2 xadvance=21 page=0 chnl=0 letter="F" +char id=73 x=93 y=303 width=33 height=46 xoffset=3 yoffset=-2 xadvance=12 page=0 chnl=0 letter="I" +char id=33 x=128 y=303 width=32 height=46 xoffset=2 yoffset=-2 xadvance=11 page=0 chnl=0 letter="!" +char id=105 x=162 y=303 width=32 height=46 xoffset=2 yoffset=-2 xadvance=11 page=0 chnl=0 letter="i" +char id=108 x=196 y=303 width=32 height=46 xoffset=2 yoffset=-2 xadvance=11 page=0 chnl=0 letter="l" +char id=60 x=230 y=303 width=43 height=43 xoffset=2 yoffset=-1 xadvance=21 page=0 chnl=0 letter="<" +char id=62 x=275 y=303 width=43 height=43 xoffset=2 yoffset=-1 xadvance=21 page=0 chnl=0 letter=">" +char id=97 x=320 y=303 width=46 height=41 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="a" +char id=101 x=368 y=303 width=46 height=41 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="e" +char id=111 x=416 y=303 width=46 height=41 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="o" +char id=99 x=464 y=303 width=46 height=41 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="c" +char id=115 x=2 y=351 width=44 height=41 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0 letter="s" +char id=43 x=48 y=351 width=43 height=41 xoffset=2 yoffset=0 xadvance=21 page=0 chnl=0 letter="+" +char id=109 x=93 y=351 width=56 height=40 xoffset=2 yoffset=4 xadvance=32 page=0 chnl=0 letter="m" +char id=119 x=151 y=351 width=56 height=40 xoffset=0 yoffset=4 xadvance=30 page=0 chnl=0 letter="w" +char id=120 x=209 y=351 width=46 height=40 xoffset=0 yoffset=4 xadvance=21 page=0 chnl=0 letter="x" +char id=110 x=257 y=351 width=45 height=40 xoffset=2 yoffset=4 xadvance=21 page=0 chnl=0 letter="n" +char id=117 x=304 y=351 width=45 height=40 xoffset=2 yoffset=4 xadvance=21 page=0 chnl=0 letter="u" +char id=118 x=351 y=351 width=45 height=40 xoffset=0 yoffset=4 xadvance=20 page=0 chnl=0 letter="v" +char id=122 x=398 y=351 width=42 height=40 xoffset=1 yoffset=4 xadvance=18 page=0 chnl=0 letter="z" +char id=114 x=442 y=351 width=39 height=40 xoffset=2 yoffset=4 xadvance=14 page=0 chnl=0 letter="r" +char id=58 x=2 y=394 width=32 height=40 xoffset=2 yoffset=4 xadvance=11 page=0 chnl=0 letter=":" +char id=126 x=36 y=394 width=45 height=39 xoffset=2 yoffset=5 xadvance=21 page=0 chnl=0 letter="~" +char id=94 x=83 y=394 width=43 height=36 xoffset=2 yoffset=-2 xadvance=21 page=0 chnl=0 letter="^" +char id=61 x=128 y=394 width=43 height=36 xoffset=2 yoffset=3 xadvance=21 page=0 chnl=0 letter="=" +char id=44 x=173 y=394 width=34 height=36 xoffset=2 yoffset=15 xadvance=11 page=0 chnl=0 letter="," +char id=34 x=209 y=394 width=40 height=32 xoffset=1 yoffset=-2 xadvance=16 page=0 chnl=0 letter=""" +char id=39 x=251 y=394 width=32 height=32 xoffset=1 yoffset=-2 xadvance=9 page=0 chnl=0 letter="'" +char id=46 x=285 y=394 width=32 height=30 xoffset=2 yoffset=14 xadvance=11 page=0 chnl=0 letter="." +char id=45 x=319 y=394 width=35 height=28 xoffset=1 yoffset=10 xadvance=11 page=0 chnl=0 letter="-" +char id=96 x=356 y=394 width=33 height=28 xoffset=0 yoffset=-3 xadvance=11 page=0 chnl=0 letter="`" +char id=95 x=391 y=394 width=42 height=25 xoffset=-0 yoffset=23 xadvance=16 page=0 chnl=0 letter="_" +char id=32 x=435 y=394 width=0 height=0 xoffset=11 yoffset=44 xadvance=11 page=0 chnl=0 letter="space" +kernings count=243 +kerning first=36 second=63 amount=3 +kerning first=36 second=62 amount=2 +kerning first=81 second=65 amount=1 +kerning first=81 second=86 amount=-1 +kerning first=81 second=89 amount=-2 +kerning first=81 second=84 amount=-1 +kerning first=81 second=44 amount=1 +kerning first=81 second=46 amount=1 +kerning first=71 second=44 amount=1 +kerning first=79 second=87 amount=-1 +kerning first=79 second=65 amount=-1 +kerning first=79 second=86 amount=-1 +kerning first=79 second=88 amount=-2 +kerning first=79 second=89 amount=-2 +kerning first=79 second=84 amount=-1 +kerning first=79 second=44 amount=-1 +kerning first=79 second=46 amount=-1 +kerning first=85 second=65 amount=-1 +kerning first=85 second=44 amount=-1 +kerning first=85 second=46 amount=-1 +kerning first=67 second=44 amount=1 +kerning first=67 second=46 amount=1 +kerning first=103 second=121 amount=1 +kerning first=103 second=114 amount=1 +kerning first=74 second=121 amount=-1 +kerning first=74 second=65 amount=-1 +kerning first=74 second=97 amount=-1 +kerning first=74 second=101 amount=-1 +kerning first=74 second=111 amount=-1 +kerning first=74 second=117 amount=-1 +kerning first=74 second=44 amount=-1 +kerning first=74 second=46 amount=-1 +kerning first=98 second=118 amount=-1 +kerning first=112 second=121 amount=-1 +kerning first=112 second=119 amount=-1 +kerning first=112 second=46 amount=-1 +kerning first=121 second=100 amount=-1 +kerning first=121 second=97 amount=-1 +kerning first=121 second=101 amount=-1 +kerning first=121 second=111 amount=-1 +kerning first=121 second=99 amount=-1 +kerning first=121 second=44 amount=-3 +kerning first=121 second=46 amount=-3 +kerning first=102 second=63 amount=3 +kerning first=102 second=102 amount=1 +kerning first=102 second=33 amount=3 +kerning first=102 second=101 amount=-1 +kerning first=102 second=111 amount=-1 +kerning first=102 second=44 amount=-2 +kerning first=102 second=46 amount=-2 +kerning first=102 second=32 amount=2 +kerning first=87 second=71 amount=-1 +kerning first=87 second=79 amount=-1 +kerning first=87 second=67 amount=-1 +kerning first=87 second=100 amount=-1 +kerning first=87 second=104 amount=1 +kerning first=87 second=105 amount=1 +kerning first=87 second=97 amount=-1 +kerning first=87 second=101 amount=-1 +kerning first=87 second=111 amount=-1 +kerning first=87 second=117 amount=-1 +kerning first=87 second=44 amount=-1 +kerning first=87 second=46 amount=-2 +kerning first=65 second=81 amount=-1 +kerning first=65 second=71 amount=-1 +kerning first=65 second=79 amount=-1 +kerning first=65 second=85 amount=-1 +kerning first=65 second=67 amount=-1 +kerning first=65 second=112 amount=1 +kerning first=65 second=86 amount=-2 +kerning first=65 second=89 amount=-3 +kerning first=65 second=84 amount=-2 +kerning first=65 second=118 amount=-1 +kerning first=86 second=81 amount=-1 +kerning first=86 second=71 amount=-1 +kerning first=86 second=79 amount=-1 +kerning first=86 second=67 amount=-1 +kerning first=86 second=59 amount=-1 +kerning first=86 second=65 amount=-2 +kerning first=86 second=105 amount=1 +kerning first=86 second=97 amount=-1 +kerning first=86 second=101 amount=-2 +kerning first=86 second=111 amount=-2 +kerning first=86 second=117 amount=-1 +kerning first=86 second=114 amount=-1 +kerning first=86 second=58 amount=-1 +kerning first=86 second=44 amount=-4 +kerning first=86 second=46 amount=-4 +kerning first=86 second=45 amount=-1 +kerning first=88 second=71 amount=-1 +kerning first=88 second=79 amount=-1 +kerning first=88 second=67 amount=-1 +kerning first=89 second=71 amount=-2 +kerning first=89 second=79 amount=-2 +kerning first=89 second=67 amount=-2 +kerning first=89 second=83 amount=-1 +kerning first=89 second=100 amount=-3 +kerning first=89 second=113 amount=-3 +kerning first=89 second=112 amount=-2 +kerning first=89 second=59 amount=-2 +kerning first=89 second=65 amount=-3 +kerning first=89 second=97 amount=-3 +kerning first=89 second=101 amount=-3 +kerning first=89 second=111 amount=-3 +kerning first=89 second=117 amount=-2 +kerning first=89 second=118 amount=-1 +kerning first=89 second=58 amount=-2 +kerning first=89 second=44 amount=-5 +kerning first=89 second=46 amount=-5 +kerning first=89 second=45 amount=-3 +kerning first=75 second=71 amount=-1 +kerning first=75 second=79 amount=-1 +kerning first=75 second=67 amount=-1 +kerning first=75 second=121 amount=-1 +kerning first=75 second=101 amount=-1 +kerning first=75 second=111 amount=-1 +kerning first=75 second=117 amount=-1 +kerning first=75 second=118 amount=-1 +kerning first=68 second=87 amount=1 +kerning first=68 second=65 amount=-1 +kerning first=68 second=86 amount=-1 +kerning first=68 second=89 amount=-1 +kerning first=68 second=46 amount=-1 +kerning first=82 second=81 amount=-1 +kerning first=82 second=71 amount=-1 +kerning first=82 second=79 amount=-1 +kerning first=82 second=85 amount=-1 +kerning first=82 second=67 amount=-1 +kerning first=82 second=86 amount=-1 +kerning first=82 second=89 amount=-1 +kerning first=82 second=101 amount=-1 +kerning first=82 second=111 amount=-1 +kerning first=82 second=119 amount=1 +kerning first=82 second=117 amount=-1 +kerning first=66 second=85 amount=-1 +kerning first=66 second=65 amount=-1 +kerning first=66 second=44 amount=1 +kerning first=66 second=46 amount=1 +kerning first=84 second=81 amount=-1 +kerning first=84 second=71 amount=-1 +kerning first=84 second=79 amount=-1 +kerning first=84 second=67 amount=-1 +kerning first=84 second=121 amount=-1 +kerning first=84 second=59 amount=-1 +kerning first=84 second=65 amount=-2 +kerning first=84 second=104 amount=1 +kerning first=84 second=108 amount=1 +kerning first=84 second=97 amount=-2 +kerning first=84 second=101 amount=-2 +kerning first=84 second=111 amount=-2 +kerning first=84 second=99 amount=-2 +kerning first=84 second=115 amount=-2 +kerning first=84 second=109 amount=-1 +kerning first=84 second=117 amount=-1 +kerning first=84 second=122 amount=-1 +kerning first=84 second=114 amount=-1 +kerning first=84 second=58 amount=-1 +kerning first=84 second=44 amount=-5 +kerning first=84 second=46 amount=-5 +kerning first=84 second=45 amount=-2 +kerning first=80 second=65 amount=-3 +kerning first=80 second=97 amount=-1 +kerning first=80 second=101 amount=-1 +kerning first=80 second=111 amount=-1 +kerning first=80 second=44 amount=-6 +kerning first=80 second=46 amount=-6 +kerning first=107 second=121 amount=1 +kerning first=107 second=101 amount=-1 +kerning first=107 second=111 amount=-1 +kerning first=76 second=71 amount=-1 +kerning first=76 second=79 amount=-1 +kerning first=76 second=85 amount=-1 +kerning first=76 second=67 amount=-1 +kerning first=76 second=87 amount=-1 +kerning first=76 second=86 amount=-2 +kerning first=76 second=89 amount=-2 +kerning first=76 second=84 amount=-2 +kerning first=76 second=119 amount=-1 +kerning first=70 second=65 amount=-3 +kerning first=70 second=97 amount=-1 +kerning first=70 second=101 amount=-1 +kerning first=70 second=111 amount=-1 +kerning first=70 second=114 amount=-1 +kerning first=70 second=44 amount=-5 +kerning first=70 second=46 amount=-5 +kerning first=108 second=121 amount=1 +kerning first=97 second=103 amount=1 +kerning first=97 second=116 amount=-1 +kerning first=97 second=118 amount=-1 +kerning first=101 second=103 amount=1 +kerning first=101 second=120 amount=-1 +kerning first=101 second=118 amount=-1 +kerning first=111 second=121 amount=-1 +kerning first=111 second=119 amount=-1 +kerning first=111 second=120 amount=-1 +kerning first=111 second=118 amount=-1 +kerning first=111 second=122 amount=1 +kerning first=111 second=46 amount=-1 +kerning first=99 second=121 amount=-1 +kerning first=99 second=104 amount=-1 +kerning first=99 second=107 amount=-1 +kerning first=99 second=108 amount=-1 +kerning first=115 second=119 amount=-1 +kerning first=119 second=113 amount=-1 +kerning first=119 second=104 amount=1 +kerning first=119 second=111 amount=-1 +kerning first=119 second=44 amount=-2 +kerning first=119 second=46 amount=-3 +kerning first=120 second=100 amount=-1 +kerning first=120 second=101 amount=-1 +kerning first=120 second=111 amount=-1 +kerning first=120 second=99 amount=-1 +kerning first=110 second=118 amount=-1 +kerning first=118 second=100 amount=-1 +kerning first=118 second=113 amount=-1 +kerning first=118 second=101 amount=-1 +kerning first=118 second=111 amount=-1 +kerning first=118 second=99 amount=-1 +kerning first=118 second=44 amount=-3 +kerning first=118 second=46 amount=-3 +kerning first=114 second=106 amount=1 +kerning first=114 second=103 amount=1 +kerning first=114 second=100 amount=1 +kerning first=114 second=113 amount=1 +kerning first=114 second=112 amount=1 +kerning first=114 second=121 amount=2 +kerning first=114 second=116 amount=2 +kerning first=114 second=59 amount=1 +kerning first=114 second=107 amount=1 +kerning first=114 second=108 amount=1 +kerning first=114 second=97 amount=1 +kerning first=114 second=101 amount=1 +kerning first=114 second=111 amount=1 +kerning first=114 second=99 amount=1 +kerning first=114 second=115 amount=1 +kerning first=114 second=109 amount=2 +kerning first=114 second=110 amount=2 +kerning first=114 second=117 amount=1 +kerning first=114 second=118 amount=2 +kerning first=114 second=114 amount=1 +kerning first=114 second=58 amount=1 +kerning first=114 second=44 amount=-2 +kerning first=114 second=46 amount=-2 diff --git a/tests/cpp-tests/Resources/fonts/boundsTestFont.png b/tests/cpp-tests/Resources/fonts/boundsTestFont.png new file mode 100755 index 0000000000..da5da270fe Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/boundsTestFont.png differ diff --git a/tests/cpp-tests/Resources/fonts/cyril.ttf b/tests/cpp-tests/Resources/fonts/cyril.ttf new file mode 100755 index 0000000000..7d316c892e Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/cyril.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/cyrillic.ttf b/tests/cpp-tests/Resources/fonts/cyrillic.ttf new file mode 100755 index 0000000000..babecc4737 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/cyrillic.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/font-issue1343-hd.fnt b/tests/cpp-tests/Resources/fonts/font-issue1343-hd.fnt new file mode 100755 index 0000000000..27ba2e5087 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/font-issue1343-hd.fnt @@ -0,0 +1,75 @@ +info face="TestFont-Bold" size=32 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=60 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="font-issue1343-hd.png" +chars count=70 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=64 xadvance=36 page=0 chnl=0 +char id=36 x=0 y=0 width=48 height=74 xoffset=-2 yoffset=6 xadvance=48 page=0 chnl=0 +char id=106 x=48 y=0 width=34 height=74 xoffset=-4 yoffset=10 xadvance=36 page=0 chnl=0 +char id=37 x=82 y=0 width=64 height=68 xoffset=-2 yoffset=8 xadvance=64 page=0 chnl=0 +char id=81 x=146 y=0 width=60 height=66 xoffset=-2 yoffset=12 xadvance=60 page=0 chnl=0 +char id=64 x=206 y=0 width=62 height=64 xoffset=-2 yoffset=12 xadvance=64 page=0 chnl=0 +char id=113 x=268 y=0 width=42 height=64 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=112 x=310 y=0 width=44 height=64 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=103 x=354 y=0 width=46 height=64 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=102 x=400 y=0 width=44 height=64 xoffset=-2 yoffset=10 xadvance=38 page=0 chnl=0 +char id=63 x=444 y=0 width=42 height=62 xoffset=-4 yoffset=14 xadvance=40 page=0 chnl=0 +char id=121 x=0 y=74 width=48 height=62 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=116 x=48 y=74 width=38 height=62 xoffset=0 yoffset=12 xadvance=40 page=0 chnl=0 +char id=108 x=86 y=74 width=24 height=62 xoffset=0 yoffset=12 xadvance=30 page=0 chnl=0 +char id=107 x=110 y=74 width=44 height=62 xoffset=-2 yoffset=12 xadvance=44 page=0 chnl=0 +char id=105 x=154 y=74 width=24 height=62 xoffset=-2 yoffset=12 xadvance=26 page=0 chnl=0 +char id=100 x=178 y=74 width=46 height=62 xoffset=-2 yoffset=12 xadvance=48 page=0 chnl=0 +char id=82 x=224 y=74 width=52 height=62 xoffset=-4 yoffset=12 xadvance=50 page=0 chnl=0 +char id=80 x=276 y=74 width=50 height=62 xoffset=-4 yoffset=12 xadvance=48 page=0 chnl=0 +char id=33 x=326 y=74 width=24 height=60 xoffset=0 yoffset=14 xadvance=28 page=0 chnl=0 +char id=48 x=350 y=74 width=50 height=60 xoffset=-4 yoffset=14 xadvance=48 page=0 chnl=0 +char id=57 x=400 y=74 width=46 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=56 x=446 y=74 width=46 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=54 x=0 y=136 width=46 height=60 xoffset=0 yoffset=12 xadvance=48 page=0 chnl=0 +char id=53 x=46 y=136 width=46 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=51 x=92 y=136 width=44 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=104 x=136 y=136 width=44 height=60 xoffset=-2 yoffset=14 xadvance=46 page=0 chnl=0 +char id=98 x=180 y=136 width=46 height=60 xoffset=-2 yoffset=12 xadvance=46 page=0 chnl=0 +char id=89 x=226 y=136 width=54 height=60 xoffset=-6 yoffset=14 xadvance=48 page=0 chnl=0 +char id=88 x=280 y=136 width=54 height=60 xoffset=-2 yoffset=14 xadvance=52 page=0 chnl=0 +char id=87 x=334 y=136 width=76 height=60 xoffset=-4 yoffset=14 xadvance=74 page=0 chnl=0 +char id=86 x=410 y=136 width=54 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=85 x=0 y=196 width=50 height=60 xoffset=0 yoffset=14 xadvance=52 page=0 chnl=0 +char id=79 x=50 y=196 width=56 height=60 xoffset=-2 yoffset=14 xadvance=56 page=0 chnl=0 +char id=78 x=106 y=196 width=52 height=60 xoffset=-2 yoffset=14 xadvance=52 page=0 chnl=0 +char id=77 x=158 y=196 width=66 height=60 xoffset=-4 yoffset=14 xadvance=64 page=0 chnl=0 +char id=75 x=224 y=196 width=48 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=72 x=272 y=196 width=52 height=60 xoffset=-2 yoffset=14 xadvance=50 page=0 chnl=0 +char id=71 x=324 y=196 width=56 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=67 x=380 y=196 width=48 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=65 x=428 y=196 width=54 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=55 x=0 y=256 width=50 height=58 xoffset=-4 yoffset=16 xadvance=48 page=0 chnl=0 +char id=52 x=50 y=256 width=48 height=58 xoffset=-2 yoffset=16 xadvance=48 page=0 chnl=0 +char id=50 x=98 y=256 width=44 height=58 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=49 x=142 y=256 width=34 height=58 xoffset=-2 yoffset=14 xadvance=36 page=0 chnl=0 +char id=84 x=176 y=256 width=50 height=58 xoffset=-4 yoffset=16 xadvance=46 page=0 chnl=0 +char id=83 x=226 y=256 width=48 height=58 xoffset=-2 yoffset=16 xadvance=48 page=0 chnl=0 +char id=74 x=274 y=256 width=54 height=58 xoffset=-6 yoffset=16 xadvance=46 page=0 chnl=0 +char id=73 x=328 y=256 width=38 height=58 xoffset=-2 yoffset=14 xadvance=38 page=0 chnl=0 +char id=70 x=366 y=256 width=44 height=58 xoffset=-4 yoffset=16 xadvance=42 page=0 chnl=0 +char id=69 x=410 y=256 width=46 height=58 xoffset=-2 yoffset=14 xadvance=46 page=0 chnl=0 +char id=68 x=0 y=314 width=58 height=58 xoffset=-6 yoffset=16 xadvance=52 page=0 chnl=0 +char id=66 x=58 y=314 width=48 height=58 xoffset=-4 yoffset=14 xadvance=46 page=0 chnl=0 +char id=76 x=106 y=314 width=44 height=56 xoffset=-2 yoffset=16 xadvance=44 page=0 chnl=0 +char id=90 x=150 y=314 width=54 height=54 xoffset=-2 yoffset=18 xadvance=52 page=0 chnl=0 +char id=115 x=204 y=314 width=40 height=50 xoffset=-4 yoffset=24 xadvance=38 page=0 chnl=0 +char id=111 x=244 y=314 width=46 height=50 xoffset=-4 yoffset=26 xadvance=42 page=0 chnl=0 +char id=122 x=290 y=314 width=48 height=48 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=120 x=338 y=314 width=46 height=48 xoffset=-2 yoffset=26 xadvance=46 page=0 chnl=0 +char id=119 x=384 y=314 width=60 height=48 xoffset=-4 yoffset=26 xadvance=56 page=0 chnl=0 +char id=118 x=444 y=314 width=42 height=48 xoffset=-4 yoffset=26 xadvance=40 page=0 chnl=0 +char id=114 x=0 y=372 width=44 height=48 xoffset=-2 yoffset=26 xadvance=38 page=0 chnl=0 +char id=110 x=44 y=372 width=42 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=109 x=86 y=372 width=58 height=48 xoffset=-2 yoffset=26 xadvance=58 page=0 chnl=0 +char id=101 x=144 y=372 width=46 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=99 x=190 y=372 width=42 height=48 xoffset=-2 yoffset=26 xadvance=42 page=0 chnl=0 +char id=97 x=232 y=372 width=46 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=117 x=278 y=372 width=46 height=46 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=44 x=324 y=372 width=28 height=32 xoffset=-2 yoffset=50 xadvance=28 page=0 chnl=0 +char id=39 x=352 y=372 width=22 height=30 xoffset=-2 yoffset=10 xadvance=24 page=0 chnl=0 +char id=46 x=374 y=372 width=26 height=22 xoffset=0 yoffset=100 xadvance=30 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/font-issue1343-hd.png b/tests/cpp-tests/Resources/fonts/font-issue1343-hd.png new file mode 100755 index 0000000000..a6ca8414e4 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/font-issue1343-hd.png differ diff --git a/tests/cpp-tests/Resources/fonts/font-issue1343.fnt b/tests/cpp-tests/Resources/fonts/font-issue1343.fnt new file mode 100755 index 0000000000..2c6459a22d --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/font-issue1343.fnt @@ -0,0 +1,75 @@ +info face="TestFont-Bold" size=32 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=30 base=26 scaleW=256 scaleH=256 pages=1 packed=0 +page id=0 file="font-issue1343.png" +chars count=70 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=32 xadvance=18 page=0 chnl=0 +char id=36 x=0 y=0 width=24 height=37 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=0 +char id=106 x=24 y=0 width=17 height=37 xoffset=-2 yoffset=5 xadvance=18 page=0 chnl=0 +char id=37 x=41 y=0 width=32 height=34 xoffset=-1 yoffset=4 xadvance=32 page=0 chnl=0 +char id=81 x=73 y=0 width=30 height=33 xoffset=-1 yoffset=6 xadvance=30 page=0 chnl=0 +char id=64 x=103 y=0 width=31 height=32 xoffset=-1 yoffset=6 xadvance=32 page=0 chnl=0 +char id=113 x=134 y=0 width=21 height=32 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=112 x=155 y=0 width=22 height=32 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=103 x=177 y=0 width=23 height=32 xoffset=-2 yoffset=13 xadvance=22 page=0 chnl=0 +char id=102 x=200 y=0 width=22 height=32 xoffset=-1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=63 x=222 y=0 width=21 height=31 xoffset=-2 yoffset=7 xadvance=20 page=0 chnl=0 +char id=121 x=0 y=37 width=24 height=31 xoffset=-2 yoffset=13 xadvance=22 page=0 chnl=0 +char id=116 x=24 y=37 width=19 height=31 xoffset=0 yoffset=6 xadvance=20 page=0 chnl=0 +char id=108 x=43 y=37 width=12 height=31 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=0 +char id=107 x=55 y=37 width=22 height=31 xoffset=-1 yoffset=6 xadvance=22 page=0 chnl=0 +char id=105 x=77 y=37 width=12 height=31 xoffset=-1 yoffset=6 xadvance=13 page=0 chnl=0 +char id=100 x=89 y=37 width=23 height=31 xoffset=-1 yoffset=6 xadvance=24 page=0 chnl=0 +char id=82 x=112 y=37 width=26 height=31 xoffset=-2 yoffset=6 xadvance=25 page=0 chnl=0 +char id=80 x=138 y=37 width=25 height=31 xoffset=-2 yoffset=6 xadvance=24 page=0 chnl=0 +char id=33 x=163 y=37 width=12 height=30 xoffset=0 yoffset=7 xadvance=14 page=0 chnl=0 +char id=48 x=175 y=37 width=25 height=30 xoffset=-2 yoffset=7 xadvance=24 page=0 chnl=0 +char id=57 x=200 y=37 width=23 height=30 xoffset=-1 yoffset=7 xadvance=24 page=0 chnl=0 +char id=56 x=223 y=37 width=23 height=30 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0 +char id=54 x=0 y=68 width=23 height=30 xoffset=0 yoffset=6 xadvance=24 page=0 chnl=0 +char id=53 x=23 y=68 width=23 height=30 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0 +char id=51 x=46 y=68 width=22 height=30 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0 +char id=104 x=68 y=68 width=22 height=30 xoffset=-1 yoffset=7 xadvance=23 page=0 chnl=0 +char id=98 x=90 y=68 width=23 height=30 xoffset=-1 yoffset=6 xadvance=23 page=0 chnl=0 +char id=89 x=113 y=68 width=27 height=30 xoffset=-3 yoffset=7 xadvance=24 page=0 chnl=0 +char id=88 x=140 y=68 width=27 height=30 xoffset=-1 yoffset=7 xadvance=26 page=0 chnl=0 +char id=87 x=167 y=68 width=38 height=30 xoffset=-2 yoffset=7 xadvance=37 page=0 chnl=0 +char id=86 x=205 y=68 width=27 height=30 xoffset=-2 yoffset=7 xadvance=26 page=0 chnl=0 +char id=85 x=0 y=98 width=25 height=30 xoffset=0 yoffset=7 xadvance=26 page=0 chnl=0 +char id=79 x=25 y=98 width=28 height=30 xoffset=-1 yoffset=7 xadvance=28 page=0 chnl=0 +char id=78 x=53 y=98 width=26 height=30 xoffset=-1 yoffset=7 xadvance=26 page=0 chnl=0 +char id=77 x=79 y=98 width=33 height=30 xoffset=-2 yoffset=7 xadvance=32 page=0 chnl=0 +char id=75 x=112 y=98 width=24 height=30 xoffset=-1 yoffset=7 xadvance=24 page=0 chnl=0 +char id=72 x=136 y=98 width=26 height=30 xoffset=-1 yoffset=7 xadvance=25 page=0 chnl=0 +char id=71 x=162 y=98 width=28 height=30 xoffset=-2 yoffset=7 xadvance=26 page=0 chnl=0 +char id=67 x=190 y=98 width=24 height=30 xoffset=-1 yoffset=7 xadvance=24 page=0 chnl=0 +char id=65 x=214 y=98 width=27 height=30 xoffset=-2 yoffset=7 xadvance=26 page=0 chnl=0 +char id=55 x=0 y=128 width=25 height=29 xoffset=-2 yoffset=8 xadvance=24 page=0 chnl=0 +char id=52 x=25 y=128 width=24 height=29 xoffset=-1 yoffset=8 xadvance=24 page=0 chnl=0 +char id=50 x=49 y=128 width=22 height=29 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0 +char id=49 x=71 y=128 width=17 height=29 xoffset=-1 yoffset=7 xadvance=18 page=0 chnl=0 +char id=84 x=88 y=128 width=25 height=29 xoffset=-2 yoffset=8 xadvance=23 page=0 chnl=0 +char id=83 x=113 y=128 width=24 height=29 xoffset=-1 yoffset=8 xadvance=24 page=0 chnl=0 +char id=74 x=137 y=128 width=27 height=29 xoffset=-3 yoffset=8 xadvance=23 page=0 chnl=0 +char id=73 x=164 y=128 width=19 height=29 xoffset=-1 yoffset=7 xadvance=19 page=0 chnl=0 +char id=70 x=183 y=128 width=22 height=29 xoffset=-2 yoffset=8 xadvance=21 page=0 chnl=0 +char id=69 x=205 y=128 width=23 height=29 xoffset=-1 yoffset=7 xadvance=23 page=0 chnl=0 +char id=68 x=0 y=157 width=29 height=29 xoffset=-3 yoffset=8 xadvance=26 page=0 chnl=0 +char id=66 x=29 y=157 width=24 height=29 xoffset=-2 yoffset=7 xadvance=23 page=0 chnl=0 +char id=76 x=53 y=157 width=22 height=28 xoffset=-1 yoffset=8 xadvance=22 page=0 chnl=0 +char id=90 x=75 y=157 width=27 height=27 xoffset=-1 yoffset=9 xadvance=26 page=0 chnl=0 +char id=115 x=102 y=157 width=20 height=25 xoffset=-2 yoffset=12 xadvance=19 page=0 chnl=0 +char id=111 x=122 y=157 width=23 height=25 xoffset=-2 yoffset=13 xadvance=21 page=0 chnl=0 +char id=122 x=145 y=157 width=24 height=24 xoffset=-2 yoffset=13 xadvance=22 page=0 chnl=0 +char id=120 x=169 y=157 width=23 height=24 xoffset=-1 yoffset=13 xadvance=23 page=0 chnl=0 +char id=119 x=192 y=157 width=30 height=24 xoffset=-2 yoffset=13 xadvance=28 page=0 chnl=0 +char id=118 x=222 y=157 width=21 height=24 xoffset=-2 yoffset=13 xadvance=20 page=0 chnl=0 +char id=114 x=0 y=186 width=22 height=24 xoffset=-1 yoffset=13 xadvance=19 page=0 chnl=0 +char id=110 x=22 y=186 width=21 height=24 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=109 x=43 y=186 width=29 height=24 xoffset=-1 yoffset=13 xadvance=29 page=0 chnl=0 +char id=101 x=72 y=186 width=23 height=24 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=99 x=95 y=186 width=21 height=24 xoffset=-1 yoffset=13 xadvance=21 page=0 chnl=0 +char id=97 x=116 y=186 width=23 height=24 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=117 x=139 y=186 width=23 height=23 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 +char id=44 x=162 y=186 width=14 height=16 xoffset=-1 yoffset=25 xadvance=14 page=0 chnl=0 +char id=39 x=176 y=186 width=11 height=15 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=0 +char id=46 x=187 y=186 width=13 height=11 xoffset=0 yoffset=50 xadvance=15 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/font-issue1343.png b/tests/cpp-tests/Resources/fonts/font-issue1343.png new file mode 100755 index 0000000000..68a96b06c7 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/font-issue1343.png differ diff --git a/tests/cpp-tests/Resources/fonts/futura-48.fnt b/tests/cpp-tests/Resources/fonts/futura-48.fnt new file mode 100755 index 0000000000..50d6e48b65 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/futura-48.fnt @@ -0,0 +1,182 @@ +info face="Futura-CondensedExtraBold" size=48 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=62 base=48 scaleW=512 scaleH=256 pages=1 packed=0 +page id=0 file="futura-48.png" +chars count=95 +char id=92 x=2 y=2 width=35 height=56 xoffset=0 yoffset=7 xadvance=32 page=0 chnl=0 letter="\" +char id=47 x=39 y=2 width=35 height=56 xoffset=-1 yoffset=7 xadvance=32 page=0 chnl=0 letter="/" +char id=125 x=76 y=2 width=22 height=56 xoffset=-1 yoffset=7 xadvance=19 page=0 chnl=0 letter="}" +char id=123 x=100 y=2 width=21 height=56 xoffset=1 yoffset=7 xadvance=19 page=0 chnl=0 letter="{" +char id=40 x=123 y=2 width=19 height=56 xoffset=1 yoffset=7 xadvance=18 page=0 chnl=0 letter="(" +char id=41 x=144 y=2 width=19 height=56 xoffset=0 yoffset=7 xadvance=18 page=0 chnl=0 letter=")" +char id=91 x=165 y=2 width=19 height=56 xoffset=2 yoffset=7 xadvance=18 page=0 chnl=0 letter="[" +char id=93 x=186 y=2 width=19 height=56 xoffset=0 yoffset=7 xadvance=18 page=0 chnl=0 letter="]" +char id=106 x=207 y=2 width=16 height=55 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=0 letter="j" +char id=36 x=225 y=2 width=24 height=52 xoffset=3 yoffset=5 xadvance=28 page=0 chnl=0 letter="$" +char id=124 x=251 y=2 width=15 height=50 xoffset=7 yoffset=10 xadvance=27 page=0 chnl=0 letter="|" +char id=81 x=268 y=2 width=33 height=46 xoffset=0 yoffset=10 xadvance=31 page=0 chnl=0 letter="Q" +char id=100 x=303 y=2 width=28 height=45 xoffset=0 yoffset=7 xadvance=26 page=0 chnl=0 letter="d" +char id=98 x=333 y=2 width=28 height=45 xoffset=1 yoffset=7 xadvance=26 page=0 chnl=0 letter="b" +char id=107 x=363 y=2 width=29 height=44 xoffset=1 yoffset=7 xadvance=26 page=0 chnl=0 letter="k" +char id=63 x=394 y=2 width=28 height=44 xoffset=1 yoffset=8 xadvance=27 page=0 chnl=0 letter="?" +char id=104 x=424 y=2 width=27 height=44 xoffset=1 yoffset=7 xadvance=26 page=0 chnl=0 letter="h" +char id=102 x=453 y=2 width=21 height=44 xoffset=-1 yoffset=7 xadvance=16 page=0 chnl=0 letter="f" +char id=33 x=476 y=2 width=16 height=44 xoffset=2 yoffset=8 xadvance=17 page=0 chnl=0 letter="!" +char id=108 x=494 y=2 width=14 height=44 xoffset=1 yoffset=7 xadvance=13 page=0 chnl=0 letter="l" +char id=37 x=2 y=60 width=39 height=43 xoffset=0 yoffset=9 xadvance=37 page=0 chnl=0 letter="%" +char id=105 x=43 y=60 width=16 height=43 xoffset=0 yoffset=8 xadvance=13 page=0 chnl=0 letter="i" +char id=64 x=61 y=60 width=38 height=42 xoffset=1 yoffset=10 xadvance=37 page=0 chnl=0 letter="@" +char id=38 x=101 y=60 width=36 height=42 xoffset=1 yoffset=10 xadvance=34 page=0 chnl=0 letter="&" +char id=79 x=139 y=60 width=33 height=42 xoffset=0 yoffset=10 xadvance=30 page=0 chnl=0 letter="O" +char id=71 x=174 y=60 width=32 height=42 xoffset=0 yoffset=10 xadvance=30 page=0 chnl=0 letter="G" +char id=48 x=208 y=60 width=31 height=42 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 letter="0" +char id=85 x=241 y=60 width=30 height=42 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0 letter="U" +char id=51 x=273 y=60 width=29 height=42 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="3" +char id=54 x=304 y=60 width=29 height=42 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="6" +char id=53 x=335 y=60 width=29 height=42 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="5" +char id=56 x=366 y=60 width=29 height=42 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="8" +char id=103 x=397 y=60 width=28 height=42 xoffset=0 yoffset=21 xadvance=26 page=0 chnl=0 letter="g" +char id=112 x=427 y=60 width=28 height=42 xoffset=1 yoffset=21 xadvance=26 page=0 chnl=0 letter="p" +char id=113 x=457 y=60 width=28 height=42 xoffset=0 yoffset=21 xadvance=26 page=0 chnl=0 letter="q" +char id=67 x=2 y=105 width=26 height=42 xoffset=0 yoffset=10 xadvance=24 page=0 chnl=0 letter="C" +char id=83 x=30 y=105 width=24 height=42 xoffset=0 yoffset=10 xadvance=21 page=0 chnl=0 letter="S" +char id=74 x=56 y=105 width=21 height=42 xoffset=-1 yoffset=10 xadvance=19 page=0 chnl=0 letter="J" +char id=87 x=79 y=105 width=45 height=41 xoffset=-1 yoffset=10 xadvance=40 page=0 chnl=0 letter="W" +char id=77 x=126 y=105 width=43 height=41 xoffset=0 yoffset=10 xadvance=41 page=0 chnl=0 letter="M" +char id=65 x=171 y=105 width=33 height=41 xoffset=-1 yoffset=10 xadvance=28 page=0 chnl=0 letter="A" +char id=86 x=206 y=105 width=32 height=41 xoffset=-1 yoffset=10 xadvance=28 page=0 chnl=0 letter="V" +char id=88 x=240 y=105 width=32 height=41 xoffset=-1 yoffset=10 xadvance=28 page=0 chnl=0 letter="X" +char id=90 x=274 y=105 width=32 height=41 xoffset=-1 yoffset=10 xadvance=27 page=0 chnl=0 letter="Z" +char id=89 x=308 y=105 width=31 height=41 xoffset=-1 yoffset=10 xadvance=27 page=0 chnl=0 letter="Y" +char id=52 x=341 y=105 width=31 height=41 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 letter="4" +char id=75 x=374 y=105 width=31 height=41 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0 letter="K" +char id=82 x=407 y=105 width=31 height=41 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="R" +char id=55 x=440 y=105 width=31 height=41 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="7" +char id=68 x=473 y=105 width=30 height=41 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0 letter="D" +char id=78 x=2 y=149 width=30 height=41 xoffset=1 yoffset=10 xadvance=30 page=0 chnl=0 letter="N" +char id=50 x=34 y=149 width=30 height=41 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0 letter="2" +char id=66 x=66 y=149 width=30 height=41 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="B" +char id=72 x=98 y=149 width=29 height=41 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0 letter="H" +char id=80 x=129 y=149 width=29 height=41 xoffset=1 yoffset=10 xadvance=27 page=0 chnl=0 letter="P" +char id=57 x=160 y=149 width=29 height=41 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0 letter="9" +char id=121 x=191 y=149 width=29 height=41 xoffset=-1 yoffset=21 xadvance=24 page=0 chnl=0 letter="y" +char id=35 x=222 y=149 width=27 height=41 xoffset=2 yoffset=10 xadvance=28 page=0 chnl=0 letter="#" +char id=84 x=251 y=149 width=25 height=41 xoffset=-1 yoffset=10 xadvance=20 page=0 chnl=0 letter="T" +char id=69 x=278 y=149 width=23 height=41 xoffset=1 yoffset=10 xadvance=22 page=0 chnl=0 letter="E" +char id=70 x=303 y=149 width=22 height=41 xoffset=1 yoffset=10 xadvance=21 page=0 chnl=0 letter="F" +char id=76 x=327 y=149 width=22 height=41 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0 letter="L" +char id=49 x=351 y=149 width=18 height=41 xoffset=6 yoffset=10 xadvance=28 page=0 chnl=0 letter="1" +char id=73 x=371 y=149 width=15 height=41 xoffset=1 yoffset=10 xadvance=14 page=0 chnl=0 letter="I" +char id=60 x=388 y=149 width=29 height=39 xoffset=1 yoffset=11 xadvance=28 page=0 chnl=0 letter="<" +char id=62 x=419 y=149 width=29 height=39 xoffset=1 yoffset=11 xadvance=28 page=0 chnl=0 letter=">" +char id=59 x=450 y=149 width=20 height=39 xoffset=-2 yoffset=21 xadvance=14 page=0 chnl=0 letter=";" +char id=116 x=472 y=149 width=20 height=37 xoffset=-1 yoffset=14 xadvance=16 page=0 chnl=0 letter="t" +char id=111 x=2 y=192 width=28 height=31 xoffset=0 yoffset=21 xadvance=26 page=0 chnl=0 letter="o" +char id=97 x=32 y=192 width=28 height=31 xoffset=0 yoffset=21 xadvance=26 page=0 chnl=0 letter="a" +char id=101 x=62 y=192 width=28 height=31 xoffset=0 yoffset=21 xadvance=26 page=0 chnl=0 letter="e" +char id=117 x=92 y=192 width=27 height=31 xoffset=1 yoffset=21 xadvance=27 page=0 chnl=0 letter="u" +char id=115 x=121 y=192 width=24 height=31 xoffset=0 yoffset=21 xadvance=21 page=0 chnl=0 letter="s" +char id=99 x=147 y=192 width=19 height=31 xoffset=0 yoffset=21 xadvance=16 page=0 chnl=0 letter="c" +char id=58 x=168 y=192 width=16 height=31 xoffset=0 yoffset=21 xadvance=14 page=0 chnl=0 letter=":" +char id=119 x=186 y=192 width=41 height=30 xoffset=-1 yoffset=21 xadvance=37 page=0 chnl=0 letter="w" +char id=109 x=229 y=192 width=40 height=30 xoffset=1 yoffset=21 xadvance=39 page=0 chnl=0 letter="m" +char id=120 x=271 y=192 width=30 height=30 xoffset=-1 yoffset=21 xadvance=26 page=0 chnl=0 letter="x" +char id=118 x=303 y=192 width=29 height=30 xoffset=-1 yoffset=21 xadvance=24 page=0 chnl=0 letter="v" +char id=110 x=334 y=192 width=27 height=30 xoffset=1 yoffset=21 xadvance=26 page=0 chnl=0 letter="n" +char id=122 x=363 y=192 width=26 height=30 xoffset=0 yoffset=21 xadvance=23 page=0 chnl=0 letter="z" +char id=114 x=391 y=192 width=21 height=30 xoffset=1 yoffset=21 xadvance=18 page=0 chnl=0 letter="r" +char id=43 x=414 y=192 width=29 height=29 xoffset=1 yoffset=16 xadvance=28 page=0 chnl=0 letter="+" +char id=42 x=445 y=192 width=25 height=24 xoffset=3 yoffset=7 xadvance=28 page=0 chnl=0 letter="*" +char id=94 x=472 y=192 width=31 height=23 xoffset=-1 yoffset=10 xadvance=27 page=0 chnl=0 letter="^" +char id=44 x=2 y=225 width=19 height=22 xoffset=-2 yoffset=38 xadvance=14 page=0 chnl=0 letter="," +char id=34 x=23 y=225 width=24 height=20 xoffset=0 yoffset=10 xadvance=22 page=0 chnl=0 letter=""" +char id=39 x=49 y=225 width=14 height=20 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=0 letter="'" +char id=61 x=65 y=225 width=29 height=19 xoffset=1 yoffset=21 xadvance=28 page=0 chnl=0 letter="=" +char id=46 x=96 y=225 width=16 height=16 xoffset=0 yoffset=36 xadvance=14 page=0 chnl=0 letter="." +char id=126 x=114 y=225 width=31 height=15 xoffset=4 yoffset=6 xadvance=36 page=0 chnl=0 letter="~" +char id=96 x=147 y=225 width=15 height=13 xoffset=5 yoffset=10 xadvance=27 page=0 chnl=0 letter="`" +char id=45 x=164 y=225 width=16 height=12 xoffset=-1 yoffset=30 xadvance=11 page=0 chnl=0 letter="-" +char id=95 x=182 y=225 width=32 height=11 xoffset=-1 yoffset=49 xadvance=27 page=0 chnl=0 letter="_" +char id=32 x=216 y=225 width=0 height=0 xoffset=-106 yoffset=168 xadvance=14 page=0 chnl=0 letter="space" +kernings count=82 +kerning first=81 second=81 amount=-1 +kerning first=63 second=93 amount=-2 +kerning first=63 second=100 amount=-3 +kerning first=63 second=98 amount=-3 +kerning first=63 second=37 amount=-5 +kerning first=63 second=38 amount=-5 +kerning first=63 second=90 amount=-5 +kerning first=63 second=78 amount=-5 +kerning first=63 second=80 amount=-5 +kerning first=63 second=84 amount=-2 +kerning first=63 second=76 amount=-5 +kerning first=63 second=58 amount=-1 +kerning first=63 second=94 amount=-5 +kerning first=63 second=44 amount=-4 +kerning first=63 second=96 amount=-2 +kerning first=63 second=32 amount=-1 +kerning first=65 second=93 amount=-2 +kerning first=65 second=100 amount=-2 +kerning first=65 second=37 amount=-2 +kerning first=65 second=38 amount=-2 +kerning first=65 second=90 amount=-3 +kerning first=65 second=80 amount=-3 +kerning first=65 second=84 amount=-1 +kerning first=65 second=76 amount=-4 +kerning first=65 second=44 amount=-4 +kerning first=65 second=96 amount=-2 +kerning first=55 second=100 amount=-2 +kerning first=55 second=63 amount=-4 +kerning first=55 second=65 amount=-4 +kerning first=55 second=68 amount=-4 +kerning first=55 second=66 amount=-4 +kerning first=55 second=32 amount=-2 +kerning first=68 second=92 amount=-4 +kerning first=68 second=91 amount=-4 +kerning first=68 second=37 amount=-3 +kerning first=68 second=38 amount=-3 +kerning first=68 second=90 amount=-4 +kerning first=68 second=80 amount=-4 +kerning first=68 second=84 amount=-2 +kerning first=68 second=76 amount=-4 +kerning first=68 second=97 amount=-3 +kerning first=68 second=44 amount=-4 +kerning first=68 second=96 amount=-3 +kerning first=68 second=32 amount=-1 +kerning first=66 second=93 amount=-1 +kerning first=66 second=37 amount=-1 +kerning first=66 second=38 amount=-1 +kerning first=66 second=90 amount=-1 +kerning first=66 second=80 amount=-1 +kerning first=66 second=76 amount=-2 +kerning first=66 second=44 amount=-2 +kerning first=66 second=96 amount=-1 +kerning first=70 second=125 amount=-5 +kerning first=70 second=123 amount=-5 +kerning first=49 second=44 amount=-3 +kerning first=60 second=125 amount=-5 +kerning first=60 second=123 amount=-5 +kerning first=60 second=81 amount=-1 +kerning first=59 second=41 amount=-3 +kerning first=59 second=101 amount=-1 +kerning first=59 second=44 amount=-4 +kerning first=59 second=32 amount=-1 +kerning first=58 second=81 amount=-3 +kerning first=58 second=61 amount=-3 +kerning first=43 second=35 amount=-1 +kerning first=42 second=105 amount=-3 +kerning first=44 second=100 amount=-1 +kerning first=44 second=98 amount=-1 +kerning first=44 second=63 amount=-4 +kerning first=44 second=65 amount=-4 +kerning first=44 second=68 amount=-4 +kerning first=44 second=66 amount=-2 +kerning first=44 second=97 amount=-1 +kerning first=44 second=32 amount=-3 +kerning first=61 second=63 amount=-1 +kerning first=61 second=65 amount=-1 +kerning first=61 second=68 amount=-1 +kerning first=61 second=66 amount=-1 +kerning first=32 second=63 amount=-1 +kerning first=32 second=71 amount=-3 +kerning first=32 second=68 amount=-1 +kerning first=32 second=44 amount=-3 diff --git a/tests/cpp-tests/Resources/fonts/futura-48.png b/tests/cpp-tests/Resources/fonts/futura-48.png new file mode 100755 index 0000000000..796a33e41f Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/futura-48.png differ diff --git a/tests/cpp-tests/Resources/fonts/geneva-32.fnt b/tests/cpp-tests/Resources/fonts/geneva-32.fnt new file mode 100755 index 0000000000..c4967c0e8c --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/geneva-32.fnt @@ -0,0 +1,99 @@ +info face="Geneva" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=42 base=32 scaleW=512 scaleH=128 pages=1 packed=0 +page id=0 file="helvetica-geneva-32.png" +chars count=95 +char id=40 x=1 y=1 width=15 height=36 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=0 letter="(" +char id=41 x=17 y=1 width=14 height=36 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=0 letter=")" +char id=106 x=32 y=1 width=13 height=36 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0 letter="j" +char id=125 x=46 y=1 width=13 height=36 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0 letter="}" +char id=91 x=60 y=1 width=13 height=36 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0 letter="[" +char id=93 x=74 y=1 width=13 height=36 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=0 letter="]" +char id=123 x=88 y=1 width=12 height=36 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0 letter="{" +char id=81 x=101 y=1 width=28 height=35 xoffset=0 yoffset=6 xadvance=23 page=0 chnl=0 letter="Q" +char id=36 x=130 y=1 width=21 height=34 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="$" +char id=100 x=152 y=1 width=21 height=31 xoffset=0 yoffset=5 xadvance=19 page=0 chnl=0 letter="d" +char id=98 x=174 y=1 width=21 height=31 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 letter="b" +char id=64 x=196 y=1 width=29 height=30 xoffset=0 yoffset=6 xadvance=27 page=0 chnl=0 letter="@" +char id=79 x=226 y=1 width=26 height=30 xoffset=0 yoffset=6 xadvance=23 page=0 chnl=0 letter="O" +char id=38 x=253 y=1 width=25 height=30 xoffset=0 yoffset=6 xadvance=23 page=0 chnl=0 letter="&" +char id=71 x=279 y=1 width=23 height=30 xoffset=0 yoffset=6 xadvance=21 page=0 chnl=0 letter="G" +char id=67 x=303 y=1 width=23 height=30 xoffset=0 yoffset=6 xadvance=20 page=0 chnl=0 letter="C" +char id=85 x=327 y=1 width=23 height=30 xoffset=0 yoffset=6 xadvance=21 page=0 chnl=0 letter="U" +char id=48 x=351 y=1 width=23 height=30 xoffset=0 yoffset=6 xadvance=21 page=0 chnl=0 letter="0" +char id=83 x=375 y=1 width=22 height=30 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 letter="S" +char id=92 x=398 y=1 width=21 height=30 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="\" +char id=47 x=420 y=1 width=21 height=30 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="/" +char id=56 x=442 y=1 width=21 height=30 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="8" +char id=57 x=464 y=1 width=21 height=30 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="9" +char id=54 x=486 y=1 width=21 height=30 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="6" +char id=103 x=1 y=38 width=21 height=30 xoffset=0 yoffset=13 xadvance=19 page=0 chnl=0 letter="g" +char id=51 x=23 y=38 width=20 height=30 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="3" +char id=53 x=44 y=38 width=20 height=30 xoffset=2 yoffset=6 xadvance=21 page=0 chnl=0 letter="5" +char id=107 x=65 y=38 width=19 height=30 xoffset=1 yoffset=5 xadvance=17 page=0 chnl=0 letter="k" +char id=104 x=85 y=38 width=19 height=30 xoffset=1 yoffset=5 xadvance=18 page=0 chnl=0 letter="h" +char id=74 x=105 y=38 width=18 height=30 xoffset=-1 yoffset=6 xadvance=15 page=0 chnl=0 letter="J" +char id=102 x=124 y=38 width=16 height=30 xoffset=0 yoffset=5 xadvance=12 page=0 chnl=0 letter="f" +char id=124 x=141 y=38 width=8 height=30 xoffset=1 yoffset=6 xadvance=7 page=0 chnl=0 letter="|" +char id=108 x=150 y=38 width=8 height=30 xoffset=1 yoffset=5 xadvance=7 page=0 chnl=0 letter="l" +char id=87 x=159 y=38 width=32 height=29 xoffset=0 yoffset=6 xadvance=30 page=0 chnl=0 letter="W" +char id=37 x=192 y=38 width=31 height=29 xoffset=0 yoffset=6 xadvance=28 page=0 chnl=0 letter="%" +char id=86 x=224 y=38 width=27 height=29 xoffset=-1 yoffset=6 xadvance=23 page=0 chnl=0 letter="V" +char id=65 x=252 y=38 width=27 height=29 xoffset=-1 yoffset=6 xadvance=23 page=0 chnl=0 letter="A" +char id=77 x=280 y=38 width=25 height=29 xoffset=1 yoffset=6 xadvance=25 page=0 chnl=0 letter="M" +char id=35 x=306 y=38 width=25 height=29 xoffset=-1 yoffset=6 xadvance=21 page=0 chnl=0 letter="#" +char id=84 x=332 y=38 width=24 height=29 xoffset=-1 yoffset=6 xadvance=20 page=0 chnl=0 letter="T" +char id=78 x=357 y=38 width=23 height=29 xoffset=1 yoffset=6 xadvance=22 page=0 chnl=0 letter="N" +char id=89 x=381 y=38 width=23 height=29 xoffset=-1 yoffset=6 xadvance=19 page=0 chnl=0 letter="Y" +char id=88 x=405 y=38 width=23 height=29 xoffset=-1 yoffset=6 xadvance=19 page=0 chnl=0 letter="X" +char id=68 x=429 y=38 width=23 height=29 xoffset=1 yoffset=6 xadvance=22 page=0 chnl=0 letter="D" +char id=75 x=453 y=38 width=23 height=29 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="K" +char id=52 x=477 y=38 width=23 height=29 xoffset=0 yoffset=6 xadvance=21 page=0 chnl=0 letter="4" +char id=72 x=1 y=69 width=22 height=29 xoffset=1 yoffset=6 xadvance=22 page=0 chnl=0 letter="H" +char id=121 x=24 y=69 width=22 height=29 xoffset=-1 yoffset=13 xadvance=18 page=0 chnl=0 letter="y" +char id=50 x=47 y=69 width=21 height=29 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="2" +char id=82 x=69 y=69 width=21 height=29 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 letter="R" +char id=66 x=91 y=69 width=21 height=29 xoffset=1 yoffset=6 xadvance=20 page=0 chnl=0 letter="B" +char id=76 x=113 y=69 width=21 height=29 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 letter="L" +char id=55 x=135 y=69 width=21 height=29 xoffset=1 yoffset=6 xadvance=21 page=0 chnl=0 letter="7" +char id=113 x=157 y=69 width=21 height=29 xoffset=0 yoffset=13 xadvance=19 page=0 chnl=0 letter="q" +char id=90 x=179 y=69 width=20 height=29 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=0 letter="Z" +char id=80 x=200 y=69 width=20 height=29 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 letter="P" +char id=112 x=221 y=69 width=20 height=29 xoffset=1 yoffset=13 xadvance=19 page=0 chnl=0 letter="p" +char id=63 x=242 y=69 width=19 height=29 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=0 letter="?" +char id=69 x=262 y=69 width=19 height=29 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 letter="E" +char id=70 x=282 y=69 width=18 height=29 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 letter="F" +char id=49 x=301 y=69 width=13 height=29 xoffset=3 yoffset=6 xadvance=21 page=0 chnl=0 letter="1" +char id=33 x=315 y=69 width=9 height=29 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="!" +char id=105 x=325 y=69 width=8 height=29 xoffset=1 yoffset=6 xadvance=7 page=0 chnl=0 letter="i" +char id=73 x=334 y=69 width=8 height=29 xoffset=1 yoffset=6 xadvance=7 page=0 chnl=0 letter="I" +char id=59 x=343 y=69 width=9 height=28 xoffset=1 yoffset=13 xadvance=9 page=0 chnl=0 letter=";" +char id=116 x=353 y=69 width=16 height=27 xoffset=0 yoffset=9 xadvance=14 page=0 chnl=0 letter="t" +char id=111 x=370 y=69 width=21 height=23 xoffset=0 yoffset=13 xadvance=19 page=0 chnl=0 letter="o" +char id=101 x=392 y=69 width=20 height=23 xoffset=0 yoffset=13 xadvance=18 page=0 chnl=0 letter="e" +char id=99 x=413 y=69 width=20 height=23 xoffset=0 yoffset=13 xadvance=17 page=0 chnl=0 letter="c" +char id=97 x=434 y=69 width=20 height=23 xoffset=0 yoffset=13 xadvance=17 page=0 chnl=0 letter="a" +char id=117 x=455 y=69 width=19 height=23 xoffset=1 yoffset=13 xadvance=18 page=0 chnl=0 letter="u" +char id=115 x=475 y=69 width=18 height=23 xoffset=0 yoffset=13 xadvance=16 page=0 chnl=0 letter="s" +char id=109 x=1 y=99 width=29 height=22 xoffset=1 yoffset=13 xadvance=28 page=0 chnl=0 letter="m" +char id=119 x=31 y=99 width=29 height=22 xoffset=-1 yoffset=13 xadvance=24 page=0 chnl=0 letter="w" +char id=62 x=61 y=99 width=23 height=22 xoffset=0 yoffset=13 xadvance=21 page=0 chnl=0 letter=">" +char id=43 x=85 y=99 width=23 height=22 xoffset=0 yoffset=13 xadvance=21 page=0 chnl=0 letter="+" +char id=118 x=109 y=99 width=22 height=22 xoffset=-1 yoffset=13 xadvance=18 page=0 chnl=0 letter="v" +char id=60 x=132 y=99 width=22 height=22 xoffset=1 yoffset=13 xadvance=21 page=0 chnl=0 letter="<" +char id=94 x=155 y=99 width=22 height=22 xoffset=1 yoffset=7 xadvance=21 page=0 chnl=0 letter="^" +char id=110 x=178 y=99 width=19 height=22 xoffset=1 yoffset=13 xadvance=18 page=0 chnl=0 letter="n" +char id=120 x=198 y=99 width=19 height=22 xoffset=0 yoffset=13 xadvance=16 page=0 chnl=0 letter="x" +char id=122 x=218 y=99 width=19 height=22 xoffset=0 yoffset=13 xadvance=17 page=0 chnl=0 letter="z" +char id=114 x=238 y=99 width=15 height=22 xoffset=1 yoffset=13 xadvance=12 page=0 chnl=0 letter="r" +char id=58 x=254 y=99 width=9 height=22 xoffset=1 yoffset=13 xadvance=9 page=0 chnl=0 letter=":" +char id=42 x=264 y=99 width=18 height=18 xoffset=0 yoffset=6 xadvance=16 page=0 chnl=0 letter="*" +char id=34 x=283 y=99 width=16 height=15 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0 letter=""" +char id=39 x=300 y=99 width=9 height=15 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0 letter="'" +char id=44 x=310 y=99 width=9 height=15 xoffset=1 yoffset=26 xadvance=9 page=0 chnl=0 letter="," +char id=61 x=320 y=99 width=23 height=13 xoffset=0 yoffset=18 xadvance=21 page=0 chnl=0 letter="=" +char id=126 x=344 y=99 width=23 height=11 xoffset=0 yoffset=19 xadvance=21 page=0 chnl=0 letter="~" +char id=96 x=368 y=99 width=12 height=10 xoffset=4 yoffset=5 xadvance=18 page=0 chnl=0 letter="`" +char id=46 x=381 y=99 width=9 height=9 xoffset=1 yoffset=26 xadvance=9 page=0 chnl=0 letter="." +char id=45 x=391 y=99 width=14 height=8 xoffset=0 yoffset=19 xadvance=12 page=0 chnl=0 letter="-" +char id=95 x=406 y=99 width=25 height=7 xoffset=-1 yoffset=31 xadvance=21 page=0 chnl=0 letter="_" +char id=32 x=432 y=99 width=0 height=0 xoffset=-110 yoffset=152 xadvance=10 page=0 chnl=0 letter="space" diff --git a/tests/cpp-tests/Resources/fonts/helvetica-32.fnt b/tests/cpp-tests/Resources/fonts/helvetica-32.fnt new file mode 100755 index 0000000000..c2c5b9d7cf --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/helvetica-32.fnt @@ -0,0 +1,99 @@ +info face="Helvetica-Bold" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=32 base=25 scaleW=512 scaleH=128 pages=1 packed=0 +page id=0 file="helvetica-geneva-32.png" +chars count=95 +char id=125 x=1 y=1 width=15 height=35 xoffset=-1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="}" +char id=41 x=17 y=1 width=14 height=35 xoffset=-1 yoffset=-0 xadvance=10 page=0 chnl=0 letter=")" +char id=123 x=32 y=1 width=14 height=35 xoffset=-1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="{" +char id=93 x=47 y=1 width=13 height=35 xoffset=-1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="]" +char id=40 x=61 y=1 width=13 height=35 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="(" +char id=91 x=75 y=1 width=12 height=35 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="[" +char id=106 x=88 y=1 width=11 height=35 xoffset=-1 yoffset=-0 xadvance=8 page=0 chnl=0 letter="j" +char id=36 x=100 y=1 width=21 height=33 xoffset=-1 yoffset=-1 xadvance=17 page=0 chnl=0 letter="$" +char id=81 x=122 y=1 width=27 height=30 xoffset=0 yoffset=-0 xadvance=24 page=0 chnl=0 letter="Q" +char id=64 x=150 y=1 width=30 height=29 xoffset=2 yoffset=-0 xadvance=31 page=0 chnl=0 letter="@" +char id=79 x=181 y=1 width=27 height=29 xoffset=0 yoffset=-0 xadvance=24 page=0 chnl=0 letter="O" +char id=71 x=209 y=1 width=26 height=29 xoffset=0 yoffset=-0 xadvance=24 page=0 chnl=0 letter="G" +char id=67 x=236 y=1 width=25 height=29 xoffset=0 yoffset=-0 xadvance=23 page=0 chnl=0 letter="C" +char id=83 x=262 y=1 width=24 height=29 xoffset=0 yoffset=-0 xadvance=21 page=0 chnl=0 letter="S" +char id=85 x=287 y=1 width=23 height=29 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="U" +char id=113 x=311 y=1 width=22 height=29 xoffset=-1 yoffset=6 xadvance=19 page=0 chnl=0 letter="q" +char id=112 x=334 y=1 width=22 height=29 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 letter="p" +char id=121 x=357 y=1 width=22 height=29 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="y" +char id=103 x=380 y=1 width=21 height=29 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 letter="g" +char id=74 x=402 y=1 width=20 height=29 xoffset=-1 yoffset=-0 xadvance=17 page=0 chnl=0 letter="J" +char id=87 x=423 y=1 width=34 height=28 xoffset=-1 yoffset=-0 xadvance=30 page=0 chnl=0 letter="W" +char id=37 x=458 y=1 width=32 height=28 xoffset=-1 yoffset=1 xadvance=28 page=0 chnl=0 letter="%" +char id=77 x=1 y=37 width=27 height=28 xoffset=1 yoffset=-0 xadvance=26 page=0 chnl=0 letter="M" +char id=65 x=29 y=37 width=27 height=28 xoffset=-1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="A" +char id=38 x=57 y=37 width=26 height=28 xoffset=0 yoffset=1 xadvance=23 page=0 chnl=0 letter="&" +char id=88 x=84 y=37 width=25 height=28 xoffset=-1 yoffset=-0 xadvance=21 page=0 chnl=0 letter="X" +char id=75 x=110 y=37 width=25 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="K" +char id=86 x=136 y=37 width=25 height=28 xoffset=-1 yoffset=-0 xadvance=21 page=0 chnl=0 letter="V" +char id=89 x=162 y=37 width=25 height=28 xoffset=-1 yoffset=-0 xadvance=21 page=0 chnl=0 letter="Y" +char id=68 x=188 y=37 width=24 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="D" +char id=78 x=213 y=37 width=24 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="N" +char id=66 x=238 y=37 width=24 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="B" +char id=82 x=263 y=37 width=24 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="R" +char id=84 x=288 y=37 width=24 height=28 xoffset=-1 yoffset=-0 xadvance=19 page=0 chnl=0 letter="T" +char id=72 x=313 y=37 width=23 height=28 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="H" +char id=80 x=337 y=37 width=23 height=28 xoffset=1 yoffset=-0 xadvance=21 page=0 chnl=0 letter="P" +char id=90 x=361 y=37 width=23 height=28 xoffset=-1 yoffset=-0 xadvance=19 page=0 chnl=0 letter="Z" +char id=69 x=385 y=37 width=23 height=28 xoffset=1 yoffset=-0 xadvance=21 page=0 chnl=0 letter="E" +char id=98 x=409 y=37 width=22 height=28 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 letter="b" +char id=51 x=432 y=37 width=21 height=28 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="3" +char id=56 x=454 y=37 width=21 height=28 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="8" +char id=53 x=476 y=37 width=21 height=28 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="5" +char id=100 x=1 y=66 width=21 height=28 xoffset=0 yoffset=1 xadvance=19 page=0 chnl=0 letter="d" +char id=76 x=23 y=66 width=21 height=28 xoffset=1 yoffset=-0 xadvance=19 page=0 chnl=0 letter="L" +char id=48 x=45 y=66 width=20 height=28 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 letter="0" +char id=57 x=66 y=66 width=20 height=28 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 letter="9" +char id=54 x=87 y=66 width=20 height=28 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 letter="6" +char id=63 x=108 y=66 width=20 height=28 xoffset=1 yoffset=-0 xadvance=19 page=0 chnl=0 letter="?" +char id=92 x=129 y=66 width=17 height=28 xoffset=-3 yoffset=-0 xadvance=8 page=0 chnl=0 letter="\" +char id=47 x=147 y=66 width=17 height=28 xoffset=-3 yoffset=-0 xadvance=8 page=0 chnl=0 letter="/" +char id=102 x=165 y=66 width=15 height=28 xoffset=-1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="f" +char id=124 x=181 y=66 width=9 height=28 xoffset=0 yoffset=-0 xadvance=8 page=0 chnl=0 letter="|" +char id=105 x=191 y=66 width=9 height=28 xoffset=1 yoffset=-0 xadvance=8 page=0 chnl=0 letter="i" +char id=73 x=201 y=66 width=9 height=28 xoffset=1 yoffset=-0 xadvance=8 page=0 chnl=0 letter="I" +char id=108 x=211 y=66 width=9 height=28 xoffset=1 yoffset=-0 xadvance=8 page=0 chnl=0 letter="l" +char id=35 x=221 y=66 width=22 height=27 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="#" +char id=52 x=244 y=66 width=21 height=27 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="4" +char id=55 x=266 y=66 width=21 height=27 xoffset=-1 yoffset=1 xadvance=17 page=0 chnl=0 letter="7" +char id=70 x=288 y=66 width=21 height=27 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 letter="F" +char id=104 x=310 y=66 width=20 height=27 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 letter="h" +char id=50 x=331 y=66 width=20 height=27 xoffset=0 yoffset=1 xadvance=17 page=0 chnl=0 letter="2" +char id=107 x=352 y=66 width=20 height=27 xoffset=1 yoffset=1 xadvance=17 page=0 chnl=0 letter="k" +char id=49 x=373 y=66 width=15 height=27 xoffset=1 yoffset=1 xadvance=17 page=0 chnl=0 letter="1" +char id=116 x=389 y=66 width=14 height=27 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0 letter="t" +char id=33 x=404 y=66 width=10 height=27 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 letter="!" +char id=59 x=415 y=66 width=10 height=27 xoffset=2 yoffset=7 xadvance=10 page=0 chnl=0 letter=";" +char id=60 x=426 y=66 width=23 height=23 xoffset=-1 yoffset=6 xadvance=18 page=0 chnl=0 letter="<" +char id=62 x=450 y=66 width=23 height=23 xoffset=-1 yoffset=6 xadvance=18 page=0 chnl=0 letter=">" +char id=111 x=474 y=66 width=22 height=23 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 letter="o" +char id=97 x=1 y=95 width=21 height=23 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="a" +char id=101 x=23 y=95 width=21 height=23 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="e" +char id=117 x=45 y=95 width=21 height=23 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0 letter="u" +char id=115 x=67 y=95 width=20 height=23 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=0 letter="s" +char id=99 x=88 y=95 width=20 height=23 xoffset=0 yoffset=6 xadvance=17 page=0 chnl=0 letter="c" +char id=119 x=109 y=95 width=29 height=22 xoffset=-1 yoffset=6 xadvance=24 page=0 chnl=0 letter="w" +char id=109 x=139 y=95 width=29 height=22 xoffset=1 yoffset=6 xadvance=28 page=0 chnl=0 letter="m" +char id=118 x=169 y=95 width=22 height=22 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="v" +char id=110 x=192 y=95 width=20 height=22 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 letter="n" +char id=122 x=213 y=95 width=20 height=22 xoffset=-1 yoffset=6 xadvance=16 page=0 chnl=0 letter="z" +char id=114 x=234 y=95 width=14 height=22 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0 letter="r" +char id=120 x=249 y=95 width=22 height=21 xoffset=-1 yoffset=7 xadvance=17 page=0 chnl=0 letter="x" +char id=43 x=272 y=95 width=22 height=21 xoffset=0 yoffset=7 xadvance=18 page=0 chnl=0 letter="+" +char id=58 x=295 y=95 width=10 height=21 xoffset=2 yoffset=7 xadvance=10 page=0 chnl=0 letter=":" +char id=94 x=306 y=95 width=20 height=19 xoffset=1 yoffset=-0 xadvance=18 page=0 chnl=0 letter="^" +char id=61 x=327 y=95 width=22 height=17 xoffset=0 yoffset=9 xadvance=18 page=0 chnl=0 letter="=" +char id=42 x=350 y=95 width=16 height=16 xoffset=-1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="*" +char id=34 x=367 y=95 width=15 height=15 xoffset=-1 yoffset=-0 xadvance=15 page=0 chnl=0 letter=""" +char id=44 x=383 y=95 width=10 height=15 xoffset=0 yoffset=19 xadvance=8 page=0 chnl=0 letter="," +char id=39 x=394 y=95 width=9 height=15 xoffset=0 yoffset=-0 xadvance=7 page=0 chnl=0 letter="'" +char id=126 x=404 y=95 width=23 height=13 xoffset=-1 yoffset=11 xadvance=18 page=0 chnl=0 letter="~" +char id=45 x=428 y=95 width=14 height=10 xoffset=-1 yoffset=12 xadvance=10 page=0 chnl=0 letter="-" +char id=96 x=443 y=95 width=12 height=9 xoffset=-2 yoffset=-0 xadvance=10 page=0 chnl=0 letter="`" +char id=46 x=456 y=95 width=9 height=9 xoffset=1 yoffset=19 xadvance=8 page=0 chnl=0 letter="." +char id=95 x=466 y=95 width=22 height=6 xoffset=-1 yoffset=26 xadvance=17 page=0 chnl=0 letter="_" +char id=32 x=489 y=95 width=0 height=0 xoffset=-112 yoffset=145 xadvance=8 page=0 chnl=0 letter="space" diff --git a/tests/cpp-tests/Resources/fonts/helvetica-geneva-32.png b/tests/cpp-tests/Resources/fonts/helvetica-geneva-32.png new file mode 100755 index 0000000000..8d997c0f9f Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/helvetica-geneva-32.png differ diff --git a/tests/cpp-tests/Resources/fonts/konqa32.fnt b/tests/cpp-tests/Resources/fonts/konqa32.fnt new file mode 100755 index 0000000000..4a055fdda0 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/konqa32.fnt @@ -0,0 +1,96 @@ +info face="KonQaBlack" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=40 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="konqa32.png" +chars count=91 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=32 xadvance=16 page=0 chnl=0 +char id=36 x=0 y=0 width=18 height=37 xoffset=1 yoffset=0 xadvance=18 page=0 chnl=0 +char id=81 x=18 y=0 width=20 height=30 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=64 x=38 y=0 width=20 height=29 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=124 x=58 y=0 width=8 height=28 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 +char id=63 x=66 y=0 width=19 height=28 xoffset=1 yoffset=5 xadvance=18 page=0 chnl=0 +char id=56 x=85 y=0 width=20 height=28 xoffset=0 yoffset=5 xadvance=18 page=0 chnl=0 +char id=90 x=105 y=0 width=20 height=28 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=89 x=125 y=0 width=19 height=28 xoffset=1 yoffset=5 xadvance=18 page=0 chnl=0 +char id=87 x=144 y=0 width=28 height=28 xoffset=1 yoffset=5 xadvance=27 page=0 chnl=0 +char id=86 x=172 y=0 width=19 height=28 xoffset=1 yoffset=5 xadvance=18 page=0 chnl=0 +char id=85 x=191 y=0 width=20 height=28 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=84 x=211 y=0 width=19 height=28 xoffset=1 yoffset=5 xadvance=18 page=0 chnl=0 +char id=82 x=230 y=0 width=20 height=28 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=79 x=250 y=0 width=20 height=28 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0 +char id=92 x=270 y=0 width=18 height=27 xoffset=2 yoffset=6 xadvance=19 page=0 chnl=0 +char id=47 x=288 y=0 width=18 height=27 xoffset=2 yoffset=6 xadvance=19 page=0 chnl=0 +char id=33 x=306 y=0 width=10 height=27 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 +char id=48 x=316 y=0 width=21 height=27 xoffset=1 yoffset=6 xadvance=20 page=0 chnl=0 +char id=57 x=337 y=0 width=19 height=27 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 +char id=55 x=356 y=0 width=19 height=27 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 +char id=54 x=375 y=0 width=20 height=27 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=0 +char id=53 x=395 y=0 width=19 height=27 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 +char id=52 x=414 y=0 width=19 height=27 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 +char id=51 x=433 y=0 width=18 height=27 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 +char id=50 x=451 y=0 width=19 height=27 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 +char id=49 x=470 y=0 width=13 height=27 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0 +char id=88 x=483 y=0 width=20 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=83 x=0 y=37 width=20 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=80 x=20 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=78 x=39 y=37 width=21 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=77 x=60 y=37 width=28 height=27 xoffset=1 yoffset=6 xadvance=26 page=0 chnl=0 +char id=76 x=88 y=37 width=19 height=27 xoffset=0 yoffset=6 xadvance=18 page=0 chnl=0 +char id=75 x=107 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 +char id=74 x=126 y=37 width=16 height=27 xoffset=1 yoffset=6 xadvance=15 page=0 chnl=0 +char id=73 x=142 y=37 width=12 height=27 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0 +char id=72 x=154 y=37 width=20 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=71 x=174 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=70 x=193 y=37 width=20 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=69 x=213 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=68 x=232 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 +char id=67 x=251 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=66 x=270 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=65 x=289 y=37 width=19 height=27 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0 +char id=38 x=308 y=37 width=24 height=26 xoffset=1 yoffset=8 xadvance=23 page=0 chnl=0 +char id=37 x=332 y=37 width=27 height=26 xoffset=0 yoffset=8 xadvance=25 page=0 chnl=0 +char id=106 x=359 y=37 width=11 height=22 xoffset=1 yoffset=11 xadvance=9 page=0 chnl=0 +char id=125 x=370 y=37 width=11 height=21 xoffset=2 yoffset=12 xadvance=10 page=0 chnl=0 +char id=123 x=381 y=37 width=11 height=21 xoffset=0 yoffset=12 xadvance=10 page=0 chnl=0 +char id=93 x=392 y=37 width=11 height=21 xoffset=2 yoffset=12 xadvance=10 page=0 chnl=0 +char id=91 x=403 y=37 width=11 height=21 xoffset=0 yoffset=12 xadvance=10 page=0 chnl=0 +char id=41 x=414 y=37 width=12 height=21 xoffset=1 yoffset=12 xadvance=10 page=0 chnl=0 +char id=40 x=426 y=37 width=13 height=21 xoffset=-1 yoffset=12 xadvance=10 page=0 chnl=0 +char id=122 x=439 y=37 width=16 height=21 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=0 +char id=121 x=455 y=37 width=15 height=21 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=0 +char id=120 x=470 y=37 width=14 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=119 x=484 y=37 width=21 height=21 xoffset=1 yoffset=12 xadvance=20 page=0 chnl=0 +char id=118 x=0 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=13 page=0 chnl=0 +char id=117 x=14 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=116 x=29 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=13 page=0 chnl=0 +char id=115 x=43 y=64 width=16 height=21 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=0 +char id=114 x=59 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=113 x=73 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=112 x=88 y=64 width=16 height=21 xoffset=0 yoffset=12 xadvance=14 page=0 chnl=0 +char id=111 x=104 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=110 x=119 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=109 x=134 y=64 width=22 height=21 xoffset=1 yoffset=12 xadvance=21 page=0 chnl=0 +char id=108 x=156 y=64 width=11 height=21 xoffset=1 yoffset=12 xadvance=10 page=0 chnl=0 +char id=107 x=167 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=0 +char id=105 x=182 y=64 width=8 height=21 xoffset=1 yoffset=12 xadvance=7 page=0 chnl=0 +char id=104 x=190 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=103 x=204 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=102 x=219 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=101 x=234 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=100 x=248 y=64 width=14 height=21 xoffset=1 yoffset=12 xadvance=13 page=0 chnl=0 +char id=99 x=262 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=98 x=277 y=64 width=15 height=21 xoffset=1 yoffset=12 xadvance=14 page=0 chnl=0 +char id=97 x=292 y=64 width=16 height=21 xoffset=0 yoffset=12 xadvance=15 page=0 chnl=0 +char id=94 x=308 y=64 width=21 height=20 xoffset=1 yoffset=7 xadvance=21 page=0 chnl=0 +char id=43 x=329 y=64 width=16 height=17 xoffset=1 yoffset=16 xadvance=16 page=0 chnl=0 +char id=61 x=345 y=64 width=17 height=14 xoffset=1 yoffset=16 xadvance=17 page=0 chnl=0 +char id=59 x=362 y=64 width=10 height=14 xoffset=0 yoffset=27 xadvance=8 page=0 chnl=0 +char id=58 x=372 y=64 width=8 height=13 xoffset=1 yoffset=20 xadvance=8 page=0 chnl=0 +char id=42 x=380 y=64 width=12 height=12 xoffset=5 yoffset=6 xadvance=19 page=0 chnl=0 +char id=34 x=392 y=64 width=15 height=11 xoffset=1 yoffset=7 xadvance=14 page=0 chnl=0 +char id=126 x=407 y=64 width=21 height=8 xoffset=3 yoffset=19 xadvance=25 page=0 chnl=0 +char id=44 x=428 y=64 width=9 height=8 xoffset=1 yoffset=29 xadvance=8 page=0 chnl=0 +char id=39 x=437 y=64 width=9 height=8 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0 +char id=96 x=446 y=64 width=9 height=8 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0 +char id=45 x=455 y=64 width=17 height=7 xoffset=1 yoffset=17 xadvance=17 page=0 chnl=0 +char id=95 x=472 y=64 width=16 height=6 xoffset=1 yoffset=28 xadvance=17 page=0 chnl=0 +char id=46 x=488 y=64 width=8 height=6 xoffset=0 yoffset=27 xadvance=7 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/fonts/konqa32.png b/tests/cpp-tests/Resources/fonts/konqa32.png new file mode 100755 index 0000000000..7ed3ceefcd Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/konqa32.png differ diff --git a/tests/cpp-tests/Resources/fonts/labelatlas.png b/tests/cpp-tests/Resources/fonts/labelatlas.png new file mode 100755 index 0000000000..e91d0af540 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/labelatlas.png differ diff --git a/tests/cpp-tests/Resources/fonts/larabie-16.plist b/tests/cpp-tests/Resources/fonts/larabie-16.plist new file mode 100755 index 0000000000..ad0defd872 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/larabie-16.plist @@ -0,0 +1,16 @@ + + + + + version + 1 + textureFilename + larabie-16.png + itemWidth + 10 + itemHeight + 20 + firstChar + 65 + + diff --git a/tests/cpp-tests/Resources/fonts/larabie-16.png b/tests/cpp-tests/Resources/fonts/larabie-16.png new file mode 100755 index 0000000000..304240c7c1 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/larabie-16.png differ diff --git a/tests/cpp-tests/Resources/fonts/markerFelt.fnt b/tests/cpp-tests/Resources/fonts/markerFelt.fnt new file mode 100755 index 0000000000..b62acc9fb4 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/markerFelt.fnt @@ -0,0 +1,3769 @@ +info face="MarkerFelt-Thin" size=25 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=27 base=22 scaleW=256 scaleH=256 pages=1 packed=0 +page id=0 file="markerFelt.png" +chars count=95 +char id=106 x=2 y=2 width=6 height=26 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=0 letter="j" +char id=87 x=10 y=2 width=25 height=25 xoffset=0 yoffset=-1 xadvance=24 page=0 chnl=0 letter="W" +char id=81 x=37 y=2 width=16 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="Q" +char id=77 x=55 y=2 width=23 height=24 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="M" +char id=90 x=80 y=2 width=17 height=24 xoffset=0 yoffset=-1 xadvance=15 page=0 chnl=0 letter="Z" +char id=88 x=99 y=2 width=16 height=24 xoffset=0 yoffset=-0 xadvance=15 page=0 chnl=0 letter="X" +char id=89 x=117 y=2 width=16 height=24 xoffset=1 yoffset=-0 xadvance=15 page=0 chnl=0 letter="Y" +char id=65 x=135 y=2 width=15 height=24 xoffset=1 yoffset=-0 xadvance=16 page=0 chnl=0 letter="A" +char id=75 x=152 y=2 width=15 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="K" +char id=86 x=169 y=2 width=15 height=24 xoffset=0 yoffset=-0 xadvance=14 page=0 chnl=0 letter="V" +char id=52 x=186 y=2 width=15 height=24 xoffset=0 yoffset=-0 xadvance=14 page=0 chnl=0 letter="4" +char id=78 x=203 y=2 width=14 height=24 xoffset=1 yoffset=-0 xadvance=15 page=0 chnl=0 letter="N" +char id=53 x=219 y=2 width=14 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="5" +char id=85 x=235 y=2 width=14 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="U" +char id=55 x=2 y=30 width=14 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="7" +char id=84 x=18 y=30 width=13 height=24 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="T" +char id=83 x=33 y=30 width=13 height=24 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="S" +char id=48 x=48 y=30 width=12 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="0" +char id=68 x=62 y=30 width=12 height=24 xoffset=1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="D" +char id=76 x=76 y=30 width=12 height=24 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="L" +char id=74 x=90 y=30 width=12 height=24 xoffset=0 yoffset=-0 xadvance=11 page=0 chnl=0 letter="J" +char id=56 x=104 y=30 width=12 height=24 xoffset=2 yoffset=-0 xadvance=14 page=0 chnl=0 letter="8" +char id=80 x=118 y=30 width=12 height=24 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="P" +char id=63 x=132 y=30 width=11 height=24 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="?" +char id=69 x=145 y=30 width=11 height=24 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="E" +char id=108 x=158 y=30 width=5 height=24 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="l" +char id=124 x=165 y=30 width=5 height=24 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="|" +char id=64 x=172 y=30 width=23 height=23 xoffset=1 yoffset=-0 xadvance=23 page=0 chnl=0 letter="@" +char id=82 x=197 y=30 width=16 height=23 xoffset=1 yoffset=1 xadvance=14 page=0 chnl=0 letter="R" +char id=38 x=215 y=30 width=16 height=23 xoffset=1 yoffset=1 xadvance=14 page=0 chnl=0 letter="&" +char id=50 x=233 y=30 width=15 height=23 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="2" +char id=92 x=2 y=56 width=14 height=23 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="\" +char id=47 x=18 y=56 width=13 height=23 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="/" +char id=71 x=33 y=56 width=13 height=23 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0 letter="G" +char id=107 x=48 y=56 width=13 height=23 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="k" +char id=66 x=63 y=56 width=13 height=23 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="B" +char id=36 x=78 y=56 width=13 height=23 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="$" +char id=104 x=93 y=56 width=12 height=23 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="h" +char id=72 x=107 y=56 width=12 height=23 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="H" +char id=102 x=121 y=56 width=11 height=23 xoffset=0 yoffset=1 xadvance=9 page=0 chnl=0 letter="f" +char id=91 x=134 y=56 width=11 height=23 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 letter="[" +char id=93 x=147 y=56 width=10 height=23 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 letter="]" +char id=49 x=159 y=56 width=8 height=23 xoffset=3 yoffset=1 xadvance=14 page=0 chnl=0 letter="1" +char id=73 x=169 y=56 width=6 height=23 xoffset=1 yoffset=-0 xadvance=6 page=0 chnl=0 letter="I" +char id=33 x=177 y=56 width=5 height=23 xoffset=1 yoffset=1 xadvance=5 page=0 chnl=0 letter="!" +char id=37 x=184 y=56 width=18 height=22 xoffset=1 yoffset=2 xadvance=18 page=0 chnl=0 letter="%" +char id=79 x=204 y=56 width=13 height=22 xoffset=1 yoffset=2 xadvance=14 page=0 chnl=0 letter="O" +char id=51 x=219 y=56 width=12 height=22 xoffset=1 yoffset=1 xadvance=14 page=0 chnl=0 letter="3" +char id=54 x=233 y=56 width=12 height=22 xoffset=2 yoffset=2 xadvance=14 page=0 chnl=0 letter="6" +char id=57 x=2 y=81 width=12 height=22 xoffset=1 yoffset=2 xadvance=14 page=0 chnl=0 letter="9" +char id=67 x=16 y=81 width=12 height=22 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0 letter="C" +char id=123 x=30 y=81 width=11 height=22 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 letter="{" +char id=125 x=43 y=81 width=11 height=22 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 letter="}" +char id=70 x=56 y=81 width=11 height=22 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 letter="F" +char id=100 x=69 y=81 width=11 height=22 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0 letter="d" +char id=113 x=82 y=81 width=11 height=22 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 letter="q" +char id=112 x=95 y=81 width=10 height=22 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 letter="p" +char id=98 x=107 y=81 width=10 height=22 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0 letter="b" +char id=40 x=119 y=81 width=6 height=22 xoffset=1 yoffset=1 xadvance=6 page=0 chnl=0 letter="(" +char id=41 x=127 y=81 width=6 height=22 xoffset=1 yoffset=1 xadvance=6 page=0 chnl=0 letter=")" +char id=105 x=135 y=81 width=5 height=22 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0 letter="i" +char id=116 x=142 y=81 width=12 height=21 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0 letter="t" +char id=121 x=156 y=81 width=12 height=20 xoffset=-0 yoffset=8 xadvance=12 page=0 chnl=0 letter="y" +char id=103 x=170 y=81 width=10 height=20 xoffset=1 yoffset=8 xadvance=10 page=0 chnl=0 letter="g" +char id=59 x=182 y=81 width=7 height=19 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0 letter=";" +char id=119 x=191 y=81 width=20 height=18 xoffset=-1 yoffset=6 xadvance=18 page=0 chnl=0 letter="w" +char id=109 x=213 y=81 width=18 height=18 xoffset=1 yoffset=6 xadvance=18 page=0 chnl=0 letter="m" +char id=122 x=233 y=81 width=13 height=18 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0 letter="z" +char id=110 x=2 y=105 width=13 height=18 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0 letter="n" +char id=120 x=17 y=105 width=12 height=18 xoffset=-0 yoffset=6 xadvance=10 page=0 chnl=0 letter="x" +char id=114 x=31 y=105 width=11 height=18 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="r" +char id=117 x=44 y=105 width=11 height=18 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="u" +char id=118 x=57 y=105 width=14 height=17 xoffset=-1 yoffset=7 xadvance=11 page=0 chnl=0 letter="v" +char id=111 x=73 y=105 width=10 height=17 xoffset=0 yoffset=7 xadvance=10 page=0 chnl=0 letter="o" +char id=101 x=85 y=105 width=10 height=17 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0 letter="e" +char id=62 x=97 y=105 width=10 height=17 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter=">" +char id=99 x=109 y=105 width=9 height=17 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0 letter="c" +char id=60 x=120 y=105 width=8 height=17 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="<" +char id=35 x=130 y=105 width=14 height=16 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=0 letter="#" +char id=97 x=146 y=105 width=12 height=16 xoffset=0 yoffset=8 xadvance=12 page=0 chnl=0 letter="a" +char id=115 x=160 y=105 width=10 height=16 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0 letter="s" +char id=58 x=172 y=105 width=6 height=15 xoffset=1 yoffset=8 xadvance=6 page=0 chnl=0 letter=":" +char id=43 x=180 y=105 width=12 height=13 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=0 letter="+" +char id=42 x=194 y=105 width=12 height=12 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0 letter="*" +char id=61 x=208 y=105 width=9 height=11 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="=" +char id=34 x=219 y=105 width=8 height=9 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=0 letter=""" +char id=39 x=229 y=105 width=4 height=9 xoffset=0 yoffset=1 xadvance=4 page=0 chnl=0 letter="'" +char id=94 x=235 y=105 width=9 height=8 xoffset=0 yoffset=-0 xadvance=8 page=0 chnl=0 letter="^" +char id=96 x=246 y=105 width=6 height=8 xoffset=0 yoffset=-0 xadvance=5 page=0 chnl=0 letter="`" +char id=44 x=2 y=125 width=6 height=8 xoffset=-1 yoffset=18 xadvance=5 page=0 chnl=0 letter="," +char id=45 x=10 y=125 width=9 height=7 xoffset=1 yoffset=10 xadvance=9 page=0 chnl=0 letter="-" +char id=46 x=21 y=125 width=5 height=7 xoffset=1 yoffset=16 xadvance=5 page=0 chnl=0 letter="." +char id=95 x=28 y=125 width=12 height=6 xoffset=0 yoffset=22 xadvance=12 page=0 chnl=0 letter="_" +char id=126 x=42 y=125 width=9 height=6 xoffset=0 yoffset=-0 xadvance=8 page=0 chnl=0 letter="~" +char id=32 x=53 y=125 width=0 height=0 xoffset=6 yoffset=42 xadvance=6 page=0 chnl=0 letter="space" +kernings count=3669 +kerning first=106 second=106 amount=2 +kerning first=106 second=56 amount=-1 +kerning first=106 second=63 amount=1 +kerning first=106 second=108 amount=1 +kerning first=106 second=107 amount=1 +kerning first=106 second=102 amount=1 +kerning first=106 second=49 amount=-2 +kerning first=106 second=33 amount=1 +kerning first=106 second=100 amount=1 +kerning first=106 second=112 amount=1 +kerning first=106 second=98 amount=1 +kerning first=106 second=40 amount=1 +kerning first=106 second=105 amount=1 +kerning first=106 second=116 amount=1 +kerning first=106 second=121 amount=1 +kerning first=106 second=103 amount=1 +kerning first=106 second=59 amount=2 +kerning first=106 second=119 amount=2 +kerning first=106 second=122 amount=1 +kerning first=106 second=110 amount=1 +kerning first=106 second=120 amount=1 +kerning first=106 second=114 amount=1 +kerning first=106 second=117 amount=1 +kerning first=106 second=118 amount=2 +kerning first=106 second=111 amount=1 +kerning first=106 second=101 amount=1 +kerning first=106 second=99 amount=1 +kerning first=106 second=97 amount=1 +kerning first=106 second=115 amount=1 +kerning first=106 second=34 amount=1 +kerning first=106 second=39 amount=1 +kerning first=106 second=44 amount=1 +kerning first=106 second=46 amount=1 +kerning first=87 second=87 amount=1 +kerning first=87 second=81 amount=-1 +kerning first=87 second=90 amount=-1 +kerning first=87 second=88 amount=1 +kerning first=87 second=89 amount=1 +kerning first=87 second=65 amount=-3 +kerning first=87 second=75 amount=1 +kerning first=87 second=86 amount=1 +kerning first=87 second=52 amount=-2 +kerning first=87 second=53 amount=-1 +kerning first=87 second=85 amount=1 +kerning first=87 second=55 amount=-1 +kerning first=87 second=83 amount=-1 +kerning first=87 second=48 amount=-2 +kerning first=87 second=76 amount=1 +kerning first=87 second=74 amount=-3 +kerning first=87 second=56 amount=-2 +kerning first=87 second=80 amount=1 +kerning first=87 second=108 amount=1 +kerning first=87 second=64 amount=-3 +kerning first=87 second=82 amount=1 +kerning first=87 second=50 amount=-2 +kerning first=87 second=92 amount=1 +kerning first=87 second=47 amount=-3 +kerning first=87 second=71 amount=-1 +kerning first=87 second=107 amount=1 +kerning first=87 second=66 amount=1 +kerning first=87 second=102 amount=-1 +kerning first=87 second=93 amount=1 +kerning first=87 second=49 amount=-2 +kerning first=87 second=73 amount=1 +kerning first=87 second=33 amount=1 +kerning first=87 second=79 amount=-1 +kerning first=87 second=51 amount=-2 +kerning first=87 second=54 amount=-2 +kerning first=87 second=57 amount=-2 +kerning first=87 second=67 amount=-1 +kerning first=87 second=100 amount=-2 +kerning first=87 second=113 amount=-2 +kerning first=87 second=112 amount=-1 +kerning first=87 second=41 amount=1 +kerning first=87 second=116 amount=-1 +kerning first=87 second=103 amount=-2 +kerning first=87 second=59 amount=-2 +kerning first=87 second=109 amount=-1 +kerning first=87 second=122 amount=-2 +kerning first=87 second=110 amount=-1 +kerning first=87 second=120 amount=-1 +kerning first=87 second=114 amount=-1 +kerning first=87 second=117 amount=-1 +kerning first=87 second=111 amount=-2 +kerning first=87 second=101 amount=-2 +kerning first=87 second=99 amount=-2 +kerning first=87 second=35 amount=-1 +kerning first=87 second=97 amount=-2 +kerning first=87 second=115 amount=-2 +kerning first=87 second=58 amount=-2 +kerning first=87 second=34 amount=1 +kerning first=87 second=39 amount=2 +kerning first=87 second=44 amount=-4 +kerning first=87 second=45 amount=-2 +kerning first=87 second=46 amount=-3 +kerning first=81 second=106 amount=3 +kerning first=81 second=77 amount=1 +kerning first=81 second=90 amount=1 +kerning first=81 second=88 amount=2 +kerning first=81 second=89 amount=-1 +kerning first=81 second=65 amount=1 +kerning first=81 second=75 amount=1 +kerning first=81 second=86 amount=-1 +kerning first=81 second=78 amount=1 +kerning first=81 second=55 amount=1 +kerning first=81 second=68 amount=1 +kerning first=81 second=76 amount=1 +kerning first=81 second=56 amount=-1 +kerning first=81 second=80 amount=2 +kerning first=81 second=69 amount=1 +kerning first=81 second=108 amount=2 +kerning first=81 second=82 amount=1 +kerning first=81 second=50 amount=1 +kerning first=81 second=92 amount=-1 +kerning first=81 second=47 amount=1 +kerning first=81 second=107 amount=2 +kerning first=81 second=66 amount=1 +kerning first=81 second=104 amount=1 +kerning first=81 second=72 amount=1 +kerning first=81 second=102 amount=1 +kerning first=81 second=93 amount=1 +kerning first=81 second=49 amount=-2 +kerning first=81 second=73 amount=1 +kerning first=81 second=33 amount=2 +kerning first=81 second=51 amount=-1 +kerning first=81 second=54 amount=-1 +kerning first=81 second=57 amount=-1 +kerning first=81 second=67 amount=1 +kerning first=81 second=70 amount=1 +kerning first=81 second=112 amount=2 +kerning first=81 second=98 amount=2 +kerning first=81 second=40 amount=1 +kerning first=81 second=41 amount=1 +kerning first=81 second=105 amount=2 +kerning first=81 second=116 amount=1 +kerning first=81 second=121 amount=1 +kerning first=81 second=103 amount=1 +kerning first=81 second=59 amount=3 +kerning first=81 second=119 amount=2 +kerning first=81 second=122 amount=2 +kerning first=81 second=110 amount=2 +kerning first=81 second=120 amount=2 +kerning first=81 second=114 amount=2 +kerning first=81 second=117 amount=1 +kerning first=81 second=118 amount=1 +kerning first=81 second=111 amount=1 +kerning first=81 second=99 amount=1 +kerning first=81 second=97 amount=2 +kerning first=81 second=115 amount=1 +kerning first=81 second=58 amount=2 +kerning first=81 second=44 amount=3 +kerning first=81 second=46 amount=2 +kerning first=77 second=106 amount=1 +kerning first=77 second=90 amount=1 +kerning first=77 second=88 amount=1 +kerning first=77 second=65 amount=1 +kerning first=77 second=75 amount=1 +kerning first=77 second=48 amount=-1 +kerning first=77 second=56 amount=-1 +kerning first=77 second=80 amount=1 +kerning first=77 second=69 amount=1 +kerning first=77 second=108 amount=1 +kerning first=77 second=50 amount=1 +kerning first=77 second=47 amount=1 +kerning first=77 second=107 amount=1 +kerning first=77 second=66 amount=1 +kerning first=77 second=104 amount=1 +kerning first=77 second=49 amount=-3 +kerning first=77 second=73 amount=1 +kerning first=77 second=33 amount=1 +kerning first=77 second=51 amount=-1 +kerning first=77 second=54 amount=-1 +kerning first=77 second=57 amount=-1 +kerning first=77 second=70 amount=1 +kerning first=77 second=112 amount=1 +kerning first=77 second=98 amount=1 +kerning first=77 second=41 amount=1 +kerning first=77 second=105 amount=1 +kerning first=77 second=116 amount=1 +kerning first=77 second=59 amount=1 +kerning first=77 second=119 amount=1 +kerning first=77 second=122 amount=1 +kerning first=77 second=110 amount=1 +kerning first=77 second=120 amount=2 +kerning first=77 second=114 amount=1 +kerning first=77 second=118 amount=1 +kerning first=77 second=97 amount=1 +kerning first=77 second=115 amount=1 +kerning first=77 second=58 amount=1 +kerning first=77 second=44 amount=1 +kerning first=77 second=46 amount=1 +kerning first=90 second=87 amount=1 +kerning first=90 second=81 amount=-1 +kerning first=90 second=88 amount=1 +kerning first=90 second=89 amount=1 +kerning first=90 second=65 amount=-1 +kerning first=90 second=75 amount=1 +kerning first=90 second=86 amount=1 +kerning first=90 second=52 amount=-4 +kerning first=90 second=78 amount=1 +kerning first=90 second=53 amount=-1 +kerning first=90 second=85 amount=1 +kerning first=90 second=83 amount=-1 +kerning first=90 second=48 amount=-1 +kerning first=90 second=68 amount=1 +kerning first=90 second=76 amount=1 +kerning first=90 second=74 amount=-3 +kerning first=90 second=56 amount=-1 +kerning first=90 second=80 amount=1 +kerning first=90 second=63 amount=-1 +kerning first=90 second=69 amount=1 +kerning first=90 second=108 amount=1 +kerning first=90 second=64 amount=-2 +kerning first=90 second=82 amount=1 +kerning first=90 second=50 amount=-1 +kerning first=90 second=92 amount=1 +kerning first=90 second=107 amount=1 +kerning first=90 second=66 amount=1 +kerning first=90 second=104 amount=1 +kerning first=90 second=102 amount=-1 +kerning first=90 second=93 amount=1 +kerning first=90 second=49 amount=-2 +kerning first=90 second=73 amount=1 +kerning first=90 second=33 amount=1 +kerning first=90 second=51 amount=-2 +kerning first=90 second=54 amount=-2 +kerning first=90 second=57 amount=-1 +kerning first=90 second=100 amount=-1 +kerning first=90 second=113 amount=-1 +kerning first=90 second=112 amount=-1 +kerning first=90 second=98 amount=1 +kerning first=90 second=41 amount=1 +kerning first=90 second=105 amount=1 +kerning first=90 second=116 amount=-2 +kerning first=90 second=121 amount=-2 +kerning first=90 second=103 amount=-1 +kerning first=90 second=59 amount=-1 +kerning first=90 second=119 amount=-1 +kerning first=90 second=109 amount=-1 +kerning first=90 second=122 amount=-1 +kerning first=90 second=110 amount=-1 +kerning first=90 second=114 amount=-1 +kerning first=90 second=117 amount=-1 +kerning first=90 second=118 amount=-2 +kerning first=90 second=111 amount=-1 +kerning first=90 second=101 amount=-1 +kerning first=90 second=99 amount=-1 +kerning first=90 second=35 amount=-3 +kerning first=90 second=115 amount=-1 +kerning first=90 second=58 amount=-1 +kerning first=90 second=34 amount=2 +kerning first=90 second=39 amount=2 +kerning first=90 second=45 amount=-5 +kerning first=88 second=106 amount=1 +kerning first=88 second=81 amount=-1 +kerning first=88 second=90 amount=1 +kerning first=88 second=88 amount=1 +kerning first=88 second=65 amount=1 +kerning first=88 second=52 amount=-2 +kerning first=88 second=84 amount=-1 +kerning first=88 second=83 amount=-1 +kerning first=88 second=48 amount=-1 +kerning first=88 second=74 amount=-2 +kerning first=88 second=56 amount=-1 +kerning first=88 second=80 amount=1 +kerning first=88 second=63 amount=-2 +kerning first=88 second=69 amount=1 +kerning first=88 second=108 amount=1 +kerning first=88 second=64 amount=-1 +kerning first=88 second=47 amount=1 +kerning first=88 second=71 amount=-1 +kerning first=88 second=107 amount=1 +kerning first=88 second=102 amount=-1 +kerning first=88 second=49 amount=-3 +kerning first=88 second=73 amount=1 +kerning first=88 second=33 amount=1 +kerning first=88 second=79 amount=-1 +kerning first=88 second=51 amount=-1 +kerning first=88 second=54 amount=-2 +kerning first=88 second=57 amount=-1 +kerning first=88 second=112 amount=1 +kerning first=88 second=98 amount=1 +kerning first=88 second=41 amount=1 +kerning first=88 second=105 amount=1 +kerning first=88 second=116 amount=-1 +kerning first=88 second=121 amount=-2 +kerning first=88 second=59 amount=1 +kerning first=88 second=122 amount=1 +kerning first=88 second=110 amount=1 +kerning first=88 second=120 amount=1 +kerning first=88 second=114 amount=1 +kerning first=88 second=118 amount=-1 +kerning first=88 second=35 amount=-3 +kerning first=88 second=97 amount=1 +kerning first=88 second=115 amount=1 +kerning first=88 second=58 amount=1 +kerning first=88 second=44 amount=1 +kerning first=88 second=45 amount=-3 +kerning first=88 second=46 amount=2 +kerning first=89 second=106 amount=1 +kerning first=89 second=87 amount=1 +kerning first=89 second=81 amount=-1 +kerning first=89 second=77 amount=1 +kerning first=89 second=88 amount=1 +kerning first=89 second=89 amount=1 +kerning first=89 second=65 amount=-3 +kerning first=89 second=75 amount=1 +kerning first=89 second=86 amount=2 +kerning first=89 second=52 amount=-3 +kerning first=89 second=78 amount=1 +kerning first=89 second=85 amount=1 +kerning first=89 second=84 amount=1 +kerning first=89 second=48 amount=-1 +kerning first=89 second=68 amount=1 +kerning first=89 second=76 amount=1 +kerning first=89 second=74 amount=-3 +kerning first=89 second=56 amount=-1 +kerning first=89 second=80 amount=1 +kerning first=89 second=69 amount=1 +kerning first=89 second=108 amount=1 +kerning first=89 second=64 amount=-3 +kerning first=89 second=82 amount=1 +kerning first=89 second=50 amount=-2 +kerning first=89 second=92 amount=1 +kerning first=89 second=47 amount=-1 +kerning first=89 second=107 amount=1 +kerning first=89 second=66 amount=1 +kerning first=89 second=104 amount=1 +kerning first=89 second=72 amount=1 +kerning first=89 second=102 amount=-1 +kerning first=89 second=93 amount=1 +kerning first=89 second=49 amount=-2 +kerning first=89 second=73 amount=1 +kerning first=89 second=33 amount=1 +kerning first=89 second=51 amount=-2 +kerning first=89 second=54 amount=-1 +kerning first=89 second=57 amount=-1 +kerning first=89 second=70 amount=1 +kerning first=89 second=100 amount=-2 +kerning first=89 second=113 amount=-2 +kerning first=89 second=112 amount=-1 +kerning first=89 second=98 amount=1 +kerning first=89 second=41 amount=1 +kerning first=89 second=105 amount=1 +kerning first=89 second=116 amount=-1 +kerning first=89 second=121 amount=-1 +kerning first=89 second=103 amount=-2 +kerning first=89 second=59 amount=-2 +kerning first=89 second=109 amount=-1 +kerning first=89 second=122 amount=-2 +kerning first=89 second=110 amount=-1 +kerning first=89 second=120 amount=-1 +kerning first=89 second=114 amount=-1 +kerning first=89 second=117 amount=-1 +kerning first=89 second=111 amount=-2 +kerning first=89 second=101 amount=-3 +kerning first=89 second=99 amount=-2 +kerning first=89 second=35 amount=-1 +kerning first=89 second=97 amount=-2 +kerning first=89 second=115 amount=-2 +kerning first=89 second=58 amount=-2 +kerning first=89 second=34 amount=2 +kerning first=89 second=39 amount=2 +kerning first=89 second=44 amount=-4 +kerning first=89 second=45 amount=-3 +kerning first=89 second=46 amount=-4 +kerning first=65 second=87 amount=-2 +kerning first=65 second=88 amount=1 +kerning first=65 second=89 amount=-3 +kerning first=65 second=86 amount=-2 +kerning first=65 second=53 amount=-1 +kerning first=65 second=84 amount=-2 +kerning first=65 second=83 amount=1 +kerning first=65 second=56 amount=-1 +kerning first=65 second=63 amount=-1 +kerning first=65 second=108 amount=1 +kerning first=65 second=92 amount=-3 +kerning first=65 second=71 amount=1 +kerning first=65 second=102 amount=-1 +kerning first=65 second=93 amount=-1 +kerning first=65 second=49 amount=-4 +kerning first=65 second=51 amount=-2 +kerning first=65 second=54 amount=-1 +kerning first=65 second=57 amount=-1 +kerning first=65 second=67 amount=1 +kerning first=65 second=100 amount=1 +kerning first=65 second=113 amount=1 +kerning first=65 second=105 amount=1 +kerning first=65 second=116 amount=-1 +kerning first=65 second=103 amount=1 +kerning first=65 second=59 amount=1 +kerning first=65 second=122 amount=1 +kerning first=65 second=110 amount=1 +kerning first=65 second=120 amount=1 +kerning first=65 second=114 amount=1 +kerning first=65 second=117 amount=1 +kerning first=65 second=111 amount=1 +kerning first=65 second=101 amount=1 +kerning first=65 second=99 amount=1 +kerning first=65 second=97 amount=1 +kerning first=65 second=34 amount=-4 +kerning first=65 second=39 amount=-3 +kerning first=65 second=44 amount=1 +kerning first=65 second=46 amount=1 +kerning first=75 second=106 amount=1 +kerning first=75 second=77 amount=1 +kerning first=75 second=90 amount=1 +kerning first=75 second=88 amount=2 +kerning first=75 second=65 amount=1 +kerning first=75 second=75 amount=1 +kerning first=75 second=52 amount=-3 +kerning first=75 second=78 amount=1 +kerning first=75 second=53 amount=1 +kerning first=75 second=55 amount=1 +kerning first=75 second=84 amount=-1 +kerning first=75 second=76 amount=1 +kerning first=75 second=74 amount=-1 +kerning first=75 second=80 amount=1 +kerning first=75 second=63 amount=-1 +kerning first=75 second=69 amount=1 +kerning first=75 second=108 amount=1 +kerning first=75 second=82 amount=1 +kerning first=75 second=50 amount=1 +kerning first=75 second=47 amount=1 +kerning first=75 second=107 amount=1 +kerning first=75 second=66 amount=1 +kerning first=75 second=104 amount=1 +kerning first=75 second=72 amount=1 +kerning first=75 second=102 amount=-1 +kerning first=75 second=49 amount=-3 +kerning first=75 second=73 amount=1 +kerning first=75 second=33 amount=1 +kerning first=75 second=54 amount=-1 +kerning first=75 second=67 amount=1 +kerning first=75 second=70 amount=1 +kerning first=75 second=100 amount=1 +kerning first=75 second=113 amount=1 +kerning first=75 second=112 amount=1 +kerning first=75 second=98 amount=1 +kerning first=75 second=40 amount=1 +kerning first=75 second=41 amount=1 +kerning first=75 second=105 amount=1 +kerning first=75 second=116 amount=-1 +kerning first=75 second=121 amount=-1 +kerning first=75 second=103 amount=1 +kerning first=75 second=59 amount=1 +kerning first=75 second=122 amount=1 +kerning first=75 second=110 amount=1 +kerning first=75 second=120 amount=2 +kerning first=75 second=114 amount=1 +kerning first=75 second=117 amount=1 +kerning first=75 second=111 amount=1 +kerning first=75 second=101 amount=1 +kerning first=75 second=99 amount=1 +kerning first=75 second=35 amount=-4 +kerning first=75 second=97 amount=2 +kerning first=75 second=115 amount=1 +kerning first=75 second=58 amount=1 +kerning first=75 second=44 amount=1 +kerning first=75 second=45 amount=-4 +kerning first=75 second=46 amount=2 +kerning first=86 second=87 amount=1 +kerning first=86 second=81 amount=-1 +kerning first=86 second=90 amount=-1 +kerning first=86 second=88 amount=1 +kerning first=86 second=89 amount=1 +kerning first=86 second=65 amount=-3 +kerning first=86 second=75 amount=1 +kerning first=86 second=86 amount=1 +kerning first=86 second=52 amount=-2 +kerning first=86 second=78 amount=1 +kerning first=86 second=53 amount=-1 +kerning first=86 second=85 amount=1 +kerning first=86 second=83 amount=-1 +kerning first=86 second=48 amount=-2 +kerning first=86 second=68 amount=1 +kerning first=86 second=76 amount=1 +kerning first=86 second=74 amount=-2 +kerning first=86 second=56 amount=-1 +kerning first=86 second=80 amount=1 +kerning first=86 second=69 amount=1 +kerning first=86 second=108 amount=1 +kerning first=86 second=64 amount=-3 +kerning first=86 second=82 amount=1 +kerning first=86 second=50 amount=-2 +kerning first=86 second=92 amount=1 +kerning first=86 second=47 amount=-3 +kerning first=86 second=107 amount=1 +kerning first=86 second=66 amount=1 +kerning first=86 second=104 amount=1 +kerning first=86 second=102 amount=-1 +kerning first=86 second=93 amount=1 +kerning first=86 second=49 amount=-2 +kerning first=86 second=73 amount=1 +kerning first=86 second=33 amount=1 +kerning first=86 second=51 amount=-2 +kerning first=86 second=54 amount=-2 +kerning first=86 second=57 amount=-1 +kerning first=86 second=100 amount=-2 +kerning first=86 second=113 amount=-2 +kerning first=86 second=112 amount=-1 +kerning first=86 second=98 amount=1 +kerning first=86 second=41 amount=1 +kerning first=86 second=105 amount=1 +kerning first=86 second=103 amount=-2 +kerning first=86 second=59 amount=-1 +kerning first=86 second=109 amount=-1 +kerning first=86 second=122 amount=-2 +kerning first=86 second=110 amount=-1 +kerning first=86 second=120 amount=-1 +kerning first=86 second=114 amount=-1 +kerning first=86 second=117 amount=-1 +kerning first=86 second=111 amount=-2 +kerning first=86 second=101 amount=-2 +kerning first=86 second=99 amount=-2 +kerning first=86 second=35 amount=-1 +kerning first=86 second=97 amount=-1 +kerning first=86 second=115 amount=-2 +kerning first=86 second=58 amount=-2 +kerning first=86 second=34 amount=2 +kerning first=86 second=39 amount=2 +kerning first=86 second=44 amount=-3 +kerning first=86 second=45 amount=-2 +kerning first=86 second=46 amount=-3 +kerning first=52 second=106 amount=1 +kerning first=52 second=87 amount=-1 +kerning first=52 second=81 amount=1 +kerning first=52 second=90 amount=-2 +kerning first=52 second=88 amount=-2 +kerning first=52 second=89 amount=-2 +kerning first=52 second=65 amount=-1 +kerning first=52 second=86 amount=-1 +kerning first=52 second=85 amount=1 +kerning first=52 second=84 amount=-2 +kerning first=52 second=83 amount=-1 +kerning first=52 second=80 amount=1 +kerning first=52 second=63 amount=-1 +kerning first=52 second=69 amount=1 +kerning first=52 second=108 amount=1 +kerning first=52 second=92 amount=-2 +kerning first=52 second=47 amount=-2 +kerning first=52 second=71 amount=1 +kerning first=52 second=107 amount=1 +kerning first=52 second=66 amount=1 +kerning first=52 second=104 amount=1 +kerning first=52 second=72 amount=1 +kerning first=52 second=102 amount=1 +kerning first=52 second=93 amount=-2 +kerning first=52 second=73 amount=1 +kerning first=52 second=33 amount=1 +kerning first=52 second=79 amount=1 +kerning first=52 second=67 amount=1 +kerning first=52 second=100 amount=1 +kerning first=52 second=113 amount=1 +kerning first=52 second=112 amount=1 +kerning first=52 second=98 amount=1 +kerning first=52 second=40 amount=1 +kerning first=52 second=41 amount=-1 +kerning first=52 second=105 amount=1 +kerning first=52 second=116 amount=1 +kerning first=52 second=121 amount=1 +kerning first=52 second=103 amount=1 +kerning first=52 second=119 amount=1 +kerning first=52 second=122 amount=-1 +kerning first=52 second=110 amount=1 +kerning first=52 second=114 amount=1 +kerning first=52 second=117 amount=1 +kerning first=52 second=118 amount=1 +kerning first=52 second=111 amount=1 +kerning first=52 second=101 amount=1 +kerning first=52 second=99 amount=1 +kerning first=52 second=35 amount=1 +kerning first=52 second=97 amount=1 +kerning first=52 second=115 amount=1 +kerning first=52 second=34 amount=-2 +kerning first=52 second=39 amount=-1 +kerning first=52 second=44 amount=-2 +kerning first=52 second=45 amount=1 +kerning first=52 second=46 amount=-2 +kerning first=78 second=106 amount=1 +kerning first=78 second=87 amount=1 +kerning first=78 second=90 amount=1 +kerning first=78 second=88 amount=1 +kerning first=78 second=65 amount=1 +kerning first=78 second=75 amount=1 +kerning first=78 second=86 amount=1 +kerning first=78 second=85 amount=1 +kerning first=78 second=83 amount=1 +kerning first=78 second=48 amount=-1 +kerning first=78 second=76 amount=1 +kerning first=78 second=80 amount=1 +kerning first=78 second=69 amount=1 +kerning first=78 second=108 amount=1 +kerning first=78 second=82 amount=1 +kerning first=78 second=92 amount=1 +kerning first=78 second=47 amount=1 +kerning first=78 second=107 amount=1 +kerning first=78 second=66 amount=1 +kerning first=78 second=104 amount=1 +kerning first=78 second=102 amount=1 +kerning first=78 second=93 amount=1 +kerning first=78 second=49 amount=-2 +kerning first=78 second=73 amount=1 +kerning first=78 second=33 amount=1 +kerning first=78 second=54 amount=-1 +kerning first=78 second=57 amount=-1 +kerning first=78 second=112 amount=1 +kerning first=78 second=98 amount=1 +kerning first=78 second=41 amount=1 +kerning first=78 second=105 amount=1 +kerning first=78 second=116 amount=1 +kerning first=78 second=121 amount=1 +kerning first=78 second=103 amount=1 +kerning first=78 second=59 amount=1 +kerning first=78 second=119 amount=1 +kerning first=78 second=122 amount=1 +kerning first=78 second=110 amount=1 +kerning first=78 second=120 amount=2 +kerning first=78 second=114 amount=1 +kerning first=78 second=117 amount=1 +kerning first=78 second=118 amount=1 +kerning first=78 second=111 amount=1 +kerning first=78 second=99 amount=1 +kerning first=78 second=97 amount=1 +kerning first=78 second=115 amount=1 +kerning first=78 second=58 amount=1 +kerning first=78 second=34 amount=1 +kerning first=78 second=39 amount=1 +kerning first=78 second=46 amount=1 +kerning first=53 second=81 amount=-1 +kerning first=53 second=90 amount=-1 +kerning first=53 second=65 amount=-3 +kerning first=53 second=86 amount=1 +kerning first=53 second=83 amount=-1 +kerning first=53 second=74 amount=-1 +kerning first=53 second=63 amount=-1 +kerning first=53 second=64 amount=-2 +kerning first=53 second=47 amount=-3 +kerning first=53 second=71 amount=-1 +kerning first=53 second=79 amount=-1 +kerning first=53 second=100 amount=-1 +kerning first=53 second=113 amount=-1 +kerning first=53 second=112 amount=-1 +kerning first=53 second=103 amount=-1 +kerning first=53 second=59 amount=-1 +kerning first=53 second=109 amount=-1 +kerning first=53 second=122 amount=-2 +kerning first=53 second=110 amount=-1 +kerning first=53 second=120 amount=-1 +kerning first=53 second=114 amount=-1 +kerning first=53 second=117 amount=-1 +kerning first=53 second=111 amount=-1 +kerning first=53 second=101 amount=-1 +kerning first=53 second=99 amount=-1 +kerning first=53 second=35 amount=-1 +kerning first=53 second=97 amount=-1 +kerning first=53 second=115 amount=-1 +kerning first=53 second=58 amount=-1 +kerning first=53 second=34 amount=1 +kerning first=53 second=39 amount=1 +kerning first=53 second=44 amount=-4 +kerning first=53 second=45 amount=-1 +kerning first=53 second=46 amount=-3 +kerning first=85 second=106 amount=1 +kerning first=85 second=87 amount=1 +kerning first=85 second=88 amount=1 +kerning first=85 second=89 amount=1 +kerning first=85 second=65 amount=-1 +kerning first=85 second=75 amount=1 +kerning first=85 second=86 amount=1 +kerning first=85 second=85 amount=1 +kerning first=85 second=84 amount=1 +kerning first=85 second=68 amount=1 +kerning first=85 second=76 amount=1 +kerning first=85 second=56 amount=-1 +kerning first=85 second=80 amount=1 +kerning first=85 second=63 amount=1 +kerning first=85 second=108 amount=1 +kerning first=85 second=82 amount=1 +kerning first=85 second=50 amount=-1 +kerning first=85 second=92 amount=1 +kerning first=85 second=47 amount=-1 +kerning first=85 second=71 amount=1 +kerning first=85 second=107 amount=1 +kerning first=85 second=66 amount=1 +kerning first=85 second=102 amount=1 +kerning first=85 second=93 amount=1 +kerning first=85 second=49 amount=-2 +kerning first=85 second=73 amount=1 +kerning first=85 second=33 amount=1 +kerning first=85 second=51 amount=-1 +kerning first=85 second=54 amount=-1 +kerning first=85 second=57 amount=-1 +kerning first=85 second=67 amount=1 +kerning first=85 second=112 amount=1 +kerning first=85 second=98 amount=1 +kerning first=85 second=40 amount=1 +kerning first=85 second=41 amount=1 +kerning first=85 second=105 amount=1 +kerning first=85 second=116 amount=1 +kerning first=85 second=121 amount=1 +kerning first=85 second=119 amount=2 +kerning first=85 second=110 amount=1 +kerning first=85 second=120 amount=1 +kerning first=85 second=114 amount=1 +kerning first=85 second=117 amount=1 +kerning first=85 second=118 amount=2 +kerning first=85 second=97 amount=1 +kerning first=85 second=34 amount=1 +kerning first=85 second=39 amount=1 +kerning first=85 second=44 amount=-2 +kerning first=85 second=46 amount=-1 +kerning first=55 second=106 amount=-1 +kerning first=55 second=81 amount=-2 +kerning first=55 second=77 amount=-1 +kerning first=55 second=90 amount=-2 +kerning first=55 second=89 amount=-1 +kerning first=55 second=65 amount=-4 +kerning first=55 second=78 amount=-1 +kerning first=55 second=83 amount=-2 +kerning first=55 second=68 amount=-1 +kerning first=55 second=74 amount=-3 +kerning first=55 second=63 amount=-1 +kerning first=55 second=69 amount=-1 +kerning first=55 second=64 amount=-5 +kerning first=55 second=47 amount=-5 +kerning first=55 second=71 amount=-1 +kerning first=55 second=104 amount=-1 +kerning first=55 second=72 amount=-1 +kerning first=55 second=102 amount=-3 +kerning first=55 second=79 amount=-1 +kerning first=55 second=67 amount=-1 +kerning first=55 second=70 amount=-1 +kerning first=55 second=100 amount=-4 +kerning first=55 second=113 amount=-4 +kerning first=55 second=112 amount=-3 +kerning first=55 second=40 amount=-1 +kerning first=55 second=105 amount=-1 +kerning first=55 second=116 amount=-3 +kerning first=55 second=121 amount=-2 +kerning first=55 second=103 amount=-4 +kerning first=55 second=59 amount=-3 +kerning first=55 second=119 amount=-2 +kerning first=55 second=109 amount=-3 +kerning first=55 second=122 amount=-4 +kerning first=55 second=110 amount=-3 +kerning first=55 second=120 amount=-3 +kerning first=55 second=114 amount=-3 +kerning first=55 second=117 amount=-3 +kerning first=55 second=118 amount=-2 +kerning first=55 second=111 amount=-4 +kerning first=55 second=101 amount=-4 +kerning first=55 second=99 amount=-4 +kerning first=55 second=35 amount=-3 +kerning first=55 second=97 amount=-4 +kerning first=55 second=115 amount=-4 +kerning first=55 second=58 amount=-4 +kerning first=55 second=39 amount=1 +kerning first=55 second=44 amount=-5 +kerning first=55 second=45 amount=-4 +kerning first=55 second=46 amount=-6 +kerning first=84 second=87 amount=1 +kerning first=84 second=81 amount=-1 +kerning first=84 second=90 amount=-1 +kerning first=84 second=88 amount=1 +kerning first=84 second=65 amount=-3 +kerning first=84 second=75 amount=1 +kerning first=84 second=86 amount=1 +kerning first=84 second=52 amount=-3 +kerning first=84 second=53 amount=-1 +kerning first=84 second=85 amount=1 +kerning first=84 second=83 amount=-1 +kerning first=84 second=48 amount=-1 +kerning first=84 second=76 amount=1 +kerning first=84 second=74 amount=-3 +kerning first=84 second=56 amount=-1 +kerning first=84 second=80 amount=1 +kerning first=84 second=108 amount=1 +kerning first=84 second=64 amount=-4 +kerning first=84 second=82 amount=1 +kerning first=84 second=50 amount=-3 +kerning first=84 second=92 amount=1 +kerning first=84 second=47 amount=-3 +kerning first=84 second=107 amount=1 +kerning first=84 second=66 amount=1 +kerning first=84 second=102 amount=-2 +kerning first=84 second=93 amount=1 +kerning first=84 second=49 amount=-2 +kerning first=84 second=73 amount=1 +kerning first=84 second=33 amount=1 +kerning first=84 second=51 amount=-2 +kerning first=84 second=54 amount=-2 +kerning first=84 second=57 amount=-1 +kerning first=84 second=100 amount=-3 +kerning first=84 second=113 amount=-3 +kerning first=84 second=112 amount=-3 +kerning first=84 second=98 amount=1 +kerning first=84 second=41 amount=1 +kerning first=84 second=116 amount=-2 +kerning first=84 second=121 amount=-3 +kerning first=84 second=103 amount=-3 +kerning first=84 second=59 amount=-2 +kerning first=84 second=119 amount=-2 +kerning first=84 second=109 amount=-4 +kerning first=84 second=122 amount=-3 +kerning first=84 second=110 amount=-3 +kerning first=84 second=120 amount=-2 +kerning first=84 second=114 amount=-3 +kerning first=84 second=117 amount=-3 +kerning first=84 second=118 amount=-2 +kerning first=84 second=111 amount=-3 +kerning first=84 second=101 amount=-3 +kerning first=84 second=99 amount=-3 +kerning first=84 second=35 amount=-2 +kerning first=84 second=97 amount=-3 +kerning first=84 second=115 amount=-3 +kerning first=84 second=58 amount=-3 +kerning first=84 second=34 amount=1 +kerning first=84 second=39 amount=1 +kerning first=84 second=44 amount=-2 +kerning first=84 second=45 amount=-4 +kerning first=84 second=46 amount=-3 +kerning first=83 second=106 amount=1 +kerning first=83 second=90 amount=1 +kerning first=83 second=88 amount=1 +kerning first=83 second=89 amount=-1 +kerning first=83 second=53 amount=1 +kerning first=83 second=83 amount=1 +kerning first=83 second=74 amount=1 +kerning first=83 second=108 amount=1 +kerning first=83 second=71 amount=1 +kerning first=83 second=107 amount=1 +kerning first=83 second=104 amount=1 +kerning first=83 second=49 amount=-3 +kerning first=83 second=33 amount=1 +kerning first=83 second=67 amount=1 +kerning first=83 second=100 amount=1 +kerning first=83 second=113 amount=1 +kerning first=83 second=112 amount=1 +kerning first=83 second=98 amount=1 +kerning first=83 second=40 amount=1 +kerning first=83 second=41 amount=1 +kerning first=83 second=105 amount=1 +kerning first=83 second=116 amount=-1 +kerning first=83 second=121 amount=1 +kerning first=83 second=103 amount=1 +kerning first=83 second=119 amount=1 +kerning first=83 second=122 amount=1 +kerning first=83 second=110 amount=1 +kerning first=83 second=120 amount=1 +kerning first=83 second=114 amount=1 +kerning first=83 second=117 amount=1 +kerning first=83 second=118 amount=1 +kerning first=83 second=111 amount=1 +kerning first=83 second=101 amount=1 +kerning first=83 second=99 amount=1 +kerning first=83 second=97 amount=1 +kerning first=83 second=115 amount=1 +kerning first=83 second=46 amount=1 +kerning first=48 second=87 amount=-1 +kerning first=48 second=77 amount=-1 +kerning first=48 second=90 amount=-1 +kerning first=48 second=88 amount=-1 +kerning first=48 second=89 amount=-2 +kerning first=48 second=65 amount=-2 +kerning first=48 second=75 amount=-1 +kerning first=48 second=86 amount=-2 +kerning first=48 second=78 amount=-1 +kerning first=48 second=85 amount=-1 +kerning first=48 second=84 amount=-1 +kerning first=48 second=68 amount=-1 +kerning first=48 second=76 amount=-1 +kerning first=48 second=74 amount=-1 +kerning first=48 second=80 amount=-1 +kerning first=48 second=63 amount=-1 +kerning first=48 second=69 amount=-1 +kerning first=48 second=64 amount=-1 +kerning first=48 second=82 amount=-1 +kerning first=48 second=92 amount=-2 +kerning first=48 second=47 amount=-2 +kerning first=48 second=66 amount=-1 +kerning first=48 second=104 amount=-1 +kerning first=48 second=93 amount=-2 +kerning first=48 second=73 amount=-1 +kerning first=48 second=70 amount=-1 +kerning first=48 second=98 amount=-1 +kerning first=48 second=41 amount=-1 +kerning first=48 second=116 amount=1 +kerning first=48 second=119 amount=1 +kerning first=48 second=109 amount=-1 +kerning first=48 second=122 amount=-1 +kerning first=48 second=118 amount=1 +kerning first=48 second=115 amount=-1 +kerning first=48 second=58 amount=-1 +kerning first=48 second=34 amount=-1 +kerning first=48 second=39 amount=-1 +kerning first=48 second=44 amount=-2 +kerning first=48 second=46 amount=-1 +kerning first=68 second=106 amount=1 +kerning first=68 second=87 amount=1 +kerning first=68 second=90 amount=-1 +kerning first=68 second=65 amount=-2 +kerning first=68 second=75 amount=1 +kerning first=68 second=86 amount=1 +kerning first=68 second=52 amount=-1 +kerning first=68 second=53 amount=-1 +kerning first=68 second=85 amount=1 +kerning first=68 second=84 amount=1 +kerning first=68 second=76 amount=1 +kerning first=68 second=74 amount=-1 +kerning first=68 second=80 amount=1 +kerning first=68 second=63 amount=1 +kerning first=68 second=108 amount=1 +kerning first=68 second=64 amount=-1 +kerning first=68 second=82 amount=1 +kerning first=68 second=50 amount=-1 +kerning first=68 second=47 amount=-3 +kerning first=68 second=107 amount=1 +kerning first=68 second=66 amount=1 +kerning first=68 second=104 amount=1 +kerning first=68 second=102 amount=1 +kerning first=68 second=49 amount=-2 +kerning first=68 second=73 amount=1 +kerning first=68 second=33 amount=1 +kerning first=68 second=54 amount=-1 +kerning first=68 second=67 amount=1 +kerning first=68 second=112 amount=1 +kerning first=68 second=98 amount=1 +kerning first=68 second=40 amount=1 +kerning first=68 second=105 amount=1 +kerning first=68 second=116 amount=1 +kerning first=68 second=121 amount=1 +kerning first=68 second=119 amount=2 +kerning first=68 second=110 amount=1 +kerning first=68 second=120 amount=1 +kerning first=68 second=114 amount=1 +kerning first=68 second=117 amount=1 +kerning first=68 second=118 amount=2 +kerning first=68 second=101 amount=-1 +kerning first=68 second=34 amount=1 +kerning first=68 second=39 amount=1 +kerning first=68 second=44 amount=-4 +kerning first=68 second=46 amount=-3 +kerning first=76 second=106 amount=1 +kerning first=76 second=87 amount=-2 +kerning first=76 second=90 amount=1 +kerning first=76 second=88 amount=1 +kerning first=76 second=89 amount=-3 +kerning first=76 second=86 amount=-2 +kerning first=76 second=52 amount=-1 +kerning first=76 second=53 amount=1 +kerning first=76 second=84 amount=-2 +kerning first=76 second=83 amount=1 +kerning first=76 second=63 amount=-2 +kerning first=76 second=108 amount=1 +kerning first=76 second=92 amount=-4 +kerning first=76 second=47 amount=1 +kerning first=76 second=107 amount=1 +kerning first=76 second=104 amount=1 +kerning first=76 second=102 amount=-1 +kerning first=76 second=49 amount=-3 +kerning first=76 second=33 amount=1 +kerning first=76 second=54 amount=-1 +kerning first=76 second=67 amount=1 +kerning first=76 second=100 amount=1 +kerning first=76 second=113 amount=1 +kerning first=76 second=112 amount=1 +kerning first=76 second=98 amount=1 +kerning first=76 second=41 amount=1 +kerning first=76 second=105 amount=1 +kerning first=76 second=116 amount=-1 +kerning first=76 second=121 amount=-1 +kerning first=76 second=103 amount=1 +kerning first=76 second=59 amount=1 +kerning first=76 second=122 amount=1 +kerning first=76 second=110 amount=1 +kerning first=76 second=120 amount=1 +kerning first=76 second=114 amount=1 +kerning first=76 second=117 amount=1 +kerning first=76 second=111 amount=1 +kerning first=76 second=101 amount=1 +kerning first=76 second=99 amount=1 +kerning first=76 second=35 amount=-4 +kerning first=76 second=97 amount=2 +kerning first=76 second=115 amount=1 +kerning first=76 second=58 amount=1 +kerning first=76 second=34 amount=-4 +kerning first=76 second=39 amount=-4 +kerning first=76 second=44 amount=1 +kerning first=76 second=45 amount=-4 +kerning first=76 second=46 amount=1 +kerning first=74 second=106 amount=1 +kerning first=74 second=87 amount=1 +kerning first=74 second=77 amount=1 +kerning first=74 second=88 amount=1 +kerning first=74 second=89 amount=1 +kerning first=74 second=75 amount=1 +kerning first=74 second=86 amount=1 +kerning first=74 second=78 amount=1 +kerning first=74 second=85 amount=1 +kerning first=74 second=84 amount=1 +kerning first=74 second=68 amount=1 +kerning first=74 second=76 amount=1 +kerning first=74 second=56 amount=-1 +kerning first=74 second=80 amount=1 +kerning first=74 second=63 amount=1 +kerning first=74 second=69 amount=1 +kerning first=74 second=108 amount=1 +kerning first=74 second=82 amount=1 +kerning first=74 second=92 amount=1 +kerning first=74 second=71 amount=1 +kerning first=74 second=107 amount=1 +kerning first=74 second=66 amount=1 +kerning first=74 second=104 amount=1 +kerning first=74 second=72 amount=1 +kerning first=74 second=102 amount=1 +kerning first=74 second=93 amount=1 +kerning first=74 second=49 amount=-2 +kerning first=74 second=73 amount=1 +kerning first=74 second=33 amount=1 +kerning first=74 second=51 amount=-1 +kerning first=74 second=54 amount=-1 +kerning first=74 second=57 amount=-1 +kerning first=74 second=67 amount=1 +kerning first=74 second=98 amount=1 +kerning first=74 second=41 amount=1 +kerning first=74 second=105 amount=1 +kerning first=74 second=116 amount=1 +kerning first=74 second=121 amount=1 +kerning first=74 second=119 amount=1 +kerning first=74 second=120 amount=1 +kerning first=74 second=114 amount=1 +kerning first=74 second=118 amount=1 +kerning first=74 second=111 amount=1 +kerning first=74 second=97 amount=1 +kerning first=74 second=115 amount=1 +kerning first=74 second=34 amount=1 +kerning first=74 second=39 amount=1 +kerning first=56 second=106 amount=-1 +kerning first=56 second=87 amount=-1 +kerning first=56 second=81 amount=-1 +kerning first=56 second=77 amount=-2 +kerning first=56 second=90 amount=-1 +kerning first=56 second=88 amount=-1 +kerning first=56 second=89 amount=-2 +kerning first=56 second=65 amount=-2 +kerning first=56 second=75 amount=-2 +kerning first=56 second=86 amount=-1 +kerning first=56 second=78 amount=-2 +kerning first=56 second=85 amount=-1 +kerning first=56 second=84 amount=-1 +kerning first=56 second=83 amount=-1 +kerning first=56 second=68 amount=-2 +kerning first=56 second=76 amount=-2 +kerning first=56 second=74 amount=-1 +kerning first=56 second=80 amount=-1 +kerning first=56 second=63 amount=-1 +kerning first=56 second=69 amount=-1 +kerning first=56 second=108 amount=-1 +kerning first=56 second=64 amount=-2 +kerning first=56 second=82 amount=-1 +kerning first=56 second=92 amount=-2 +kerning first=56 second=47 amount=-2 +kerning first=56 second=71 amount=-1 +kerning first=56 second=107 amount=-1 +kerning first=56 second=66 amount=-1 +kerning first=56 second=104 amount=-1 +kerning first=56 second=72 amount=-2 +kerning first=56 second=102 amount=-2 +kerning first=56 second=93 amount=-2 +kerning first=56 second=73 amount=-1 +kerning first=56 second=33 amount=-1 +kerning first=56 second=79 amount=-2 +kerning first=56 second=67 amount=-1 +kerning first=56 second=70 amount=-2 +kerning first=56 second=100 amount=-1 +kerning first=56 second=113 amount=-1 +kerning first=56 second=112 amount=-1 +kerning first=56 second=98 amount=-1 +kerning first=56 second=40 amount=-1 +kerning first=56 second=41 amount=-2 +kerning first=56 second=105 amount=-1 +kerning first=56 second=116 amount=-2 +kerning first=56 second=121 amount=-1 +kerning first=56 second=103 amount=-1 +kerning first=56 second=59 amount=-2 +kerning first=56 second=119 amount=-1 +kerning first=56 second=109 amount=-2 +kerning first=56 second=122 amount=-2 +kerning first=56 second=110 amount=-1 +kerning first=56 second=120 amount=-2 +kerning first=56 second=114 amount=-1 +kerning first=56 second=117 amount=-1 +kerning first=56 second=118 amount=-1 +kerning first=56 second=111 amount=-1 +kerning first=56 second=101 amount=-1 +kerning first=56 second=99 amount=-1 +kerning first=56 second=35 amount=-2 +kerning first=56 second=97 amount=-1 +kerning first=56 second=115 amount=-1 +kerning first=56 second=58 amount=-2 +kerning first=56 second=34 amount=-1 +kerning first=56 second=39 amount=-1 +kerning first=56 second=44 amount=-3 +kerning first=56 second=45 amount=-1 +kerning first=56 second=46 amount=-2 +kerning first=80 second=106 amount=1 +kerning first=80 second=87 amount=1 +kerning first=80 second=77 amount=1 +kerning first=80 second=88 amount=1 +kerning first=80 second=89 amount=1 +kerning first=80 second=65 amount=-2 +kerning first=80 second=75 amount=1 +kerning first=80 second=86 amount=2 +kerning first=80 second=52 amount=-2 +kerning first=80 second=78 amount=1 +kerning first=80 second=85 amount=1 +kerning first=80 second=84 amount=1 +kerning first=80 second=68 amount=1 +kerning first=80 second=76 amount=1 +kerning first=80 second=74 amount=-3 +kerning first=80 second=80 amount=1 +kerning first=80 second=63 amount=1 +kerning first=80 second=69 amount=1 +kerning first=80 second=108 amount=1 +kerning first=80 second=64 amount=-2 +kerning first=80 second=82 amount=1 +kerning first=80 second=50 amount=-1 +kerning first=80 second=92 amount=1 +kerning first=80 second=47 amount=-4 +kerning first=80 second=71 amount=1 +kerning first=80 second=107 amount=1 +kerning first=80 second=66 amount=1 +kerning first=80 second=104 amount=1 +kerning first=80 second=72 amount=1 +kerning first=80 second=93 amount=1 +kerning first=80 second=49 amount=-1 +kerning first=80 second=73 amount=1 +kerning first=80 second=33 amount=1 +kerning first=80 second=79 amount=1 +kerning first=80 second=54 amount=-1 +kerning first=80 second=67 amount=1 +kerning first=80 second=70 amount=1 +kerning first=80 second=100 amount=-1 +kerning first=80 second=113 amount=-1 +kerning first=80 second=98 amount=1 +kerning first=80 second=40 amount=1 +kerning first=80 second=41 amount=1 +kerning first=80 second=105 amount=1 +kerning first=80 second=116 amount=1 +kerning first=80 second=121 amount=1 +kerning first=80 second=103 amount=-1 +kerning first=80 second=119 amount=1 +kerning first=80 second=122 amount=-1 +kerning first=80 second=118 amount=1 +kerning first=80 second=111 amount=-1 +kerning first=80 second=101 amount=-1 +kerning first=80 second=99 amount=-1 +kerning first=80 second=115 amount=-1 +kerning first=80 second=58 amount=-1 +kerning first=80 second=34 amount=2 +kerning first=80 second=39 amount=2 +kerning first=80 second=44 amount=-4 +kerning first=80 second=45 amount=-2 +kerning first=80 second=46 amount=-5 +kerning first=63 second=87 amount=1 +kerning first=63 second=90 amount=-1 +kerning first=63 second=88 amount=1 +kerning first=63 second=65 amount=-2 +kerning first=63 second=75 amount=1 +kerning first=63 second=86 amount=1 +kerning first=63 second=52 amount=-2 +kerning first=63 second=53 amount=-1 +kerning first=63 second=85 amount=1 +kerning first=63 second=84 amount=1 +kerning first=63 second=48 amount=-1 +kerning first=63 second=74 amount=-2 +kerning first=63 second=56 amount=-1 +kerning first=63 second=80 amount=1 +kerning first=63 second=63 amount=1 +kerning first=63 second=108 amount=1 +kerning first=63 second=64 amount=-3 +kerning first=63 second=82 amount=1 +kerning first=63 second=50 amount=-1 +kerning first=63 second=92 amount=1 +kerning first=63 second=47 amount=-2 +kerning first=63 second=107 amount=1 +kerning first=63 second=66 amount=1 +kerning first=63 second=102 amount=-1 +kerning first=63 second=93 amount=1 +kerning first=63 second=49 amount=-2 +kerning first=63 second=73 amount=1 +kerning first=63 second=33 amount=1 +kerning first=63 second=51 amount=-1 +kerning first=63 second=54 amount=-1 +kerning first=63 second=57 amount=-1 +kerning first=63 second=100 amount=-2 +kerning first=63 second=113 amount=-1 +kerning first=63 second=98 amount=1 +kerning first=63 second=105 amount=1 +kerning first=63 second=103 amount=-2 +kerning first=63 second=59 amount=-1 +kerning first=63 second=119 amount=1 +kerning first=63 second=122 amount=-1 +kerning first=63 second=118 amount=1 +kerning first=63 second=111 amount=-1 +kerning first=63 second=101 amount=-2 +kerning first=63 second=99 amount=-2 +kerning first=63 second=35 amount=-1 +kerning first=63 second=97 amount=-1 +kerning first=63 second=115 amount=-2 +kerning first=63 second=58 amount=-1 +kerning first=63 second=34 amount=1 +kerning first=63 second=39 amount=1 +kerning first=63 second=44 amount=-1 +kerning first=63 second=45 amount=-2 +kerning first=63 second=46 amount=-1 +kerning first=69 second=87 amount=1 +kerning first=69 second=81 amount=-1 +kerning first=69 second=90 amount=1 +kerning first=69 second=88 amount=1 +kerning first=69 second=75 amount=1 +kerning first=69 second=86 amount=1 +kerning first=69 second=52 amount=-1 +kerning first=69 second=85 amount=1 +kerning first=69 second=48 amount=-1 +kerning first=69 second=76 amount=1 +kerning first=69 second=74 amount=-1 +kerning first=69 second=56 amount=-1 +kerning first=69 second=80 amount=1 +kerning first=69 second=63 amount=-1 +kerning first=69 second=108 amount=1 +kerning first=69 second=64 amount=-1 +kerning first=69 second=82 amount=1 +kerning first=69 second=92 amount=1 +kerning first=69 second=107 amount=1 +kerning first=69 second=66 amount=1 +kerning first=69 second=102 amount=-1 +kerning first=69 second=93 amount=1 +kerning first=69 second=49 amount=-2 +kerning first=69 second=73 amount=1 +kerning first=69 second=33 amount=1 +kerning first=69 second=51 amount=-1 +kerning first=69 second=54 amount=-1 +kerning first=69 second=57 amount=-1 +kerning first=69 second=98 amount=1 +kerning first=69 second=41 amount=1 +kerning first=69 second=105 amount=1 +kerning first=69 second=121 amount=-1 +kerning first=69 second=120 amount=1 +kerning first=69 second=118 amount=-1 +kerning first=69 second=35 amount=-1 +kerning first=69 second=97 amount=1 +kerning first=69 second=34 amount=1 +kerning first=69 second=39 amount=1 +kerning first=69 second=46 amount=1 +kerning first=108 second=106 amount=1 +kerning first=108 second=63 amount=1 +kerning first=108 second=108 amount=1 +kerning first=108 second=50 amount=1 +kerning first=108 second=92 amount=1 +kerning first=108 second=47 amount=1 +kerning first=108 second=107 amount=1 +kerning first=108 second=104 amount=1 +kerning first=108 second=102 amount=1 +kerning first=108 second=93 amount=1 +kerning first=108 second=49 amount=-2 +kerning first=108 second=33 amount=1 +kerning first=108 second=100 amount=1 +kerning first=108 second=113 amount=1 +kerning first=108 second=112 amount=1 +kerning first=108 second=98 amount=1 +kerning first=108 second=40 amount=1 +kerning first=108 second=41 amount=1 +kerning first=108 second=105 amount=1 +kerning first=108 second=116 amount=2 +kerning first=108 second=121 amount=1 +kerning first=108 second=103 amount=1 +kerning first=108 second=59 amount=2 +kerning first=108 second=119 amount=2 +kerning first=108 second=122 amount=1 +kerning first=108 second=110 amount=1 +kerning first=108 second=120 amount=2 +kerning first=108 second=114 amount=1 +kerning first=108 second=117 amount=1 +kerning first=108 second=118 amount=2 +kerning first=108 second=111 amount=1 +kerning first=108 second=101 amount=1 +kerning first=108 second=99 amount=1 +kerning first=108 second=35 amount=1 +kerning first=108 second=97 amount=1 +kerning first=108 second=115 amount=1 +kerning first=108 second=58 amount=1 +kerning first=108 second=34 amount=1 +kerning first=108 second=39 amount=1 +kerning first=108 second=44 amount=1 +kerning first=108 second=45 amount=1 +kerning first=108 second=46 amount=1 +kerning first=64 second=106 amount=1 +kerning first=64 second=87 amount=-1 +kerning first=64 second=81 amount=1 +kerning first=64 second=90 amount=-1 +kerning first=64 second=88 amount=-2 +kerning first=64 second=89 amount=-2 +kerning first=64 second=65 amount=-1 +kerning first=64 second=86 amount=-1 +kerning first=64 second=52 amount=1 +kerning first=64 second=55 amount=-2 +kerning first=64 second=84 amount=-2 +kerning first=64 second=74 amount=1 +kerning first=64 second=56 amount=-1 +kerning first=64 second=63 amount=-1 +kerning first=64 second=108 amount=1 +kerning first=64 second=50 amount=-3 +kerning first=64 second=92 amount=-3 +kerning first=64 second=47 amount=-1 +kerning first=64 second=71 amount=1 +kerning first=64 second=107 amount=1 +kerning first=64 second=72 amount=1 +kerning first=64 second=102 amount=1 +kerning first=64 second=93 amount=-3 +kerning first=64 second=49 amount=-4 +kerning first=64 second=33 amount=1 +kerning first=64 second=79 amount=1 +kerning first=64 second=51 amount=-2 +kerning first=64 second=57 amount=-1 +kerning first=64 second=67 amount=1 +kerning first=64 second=100 amount=1 +kerning first=64 second=113 amount=1 +kerning first=64 second=40 amount=1 +kerning first=64 second=41 amount=-1 +kerning first=64 second=105 amount=1 +kerning first=64 second=116 amount=2 +kerning first=64 second=121 amount=1 +kerning first=64 second=103 amount=1 +kerning first=64 second=119 amount=1 +kerning first=64 second=122 amount=-1 +kerning first=64 second=110 amount=1 +kerning first=64 second=114 amount=1 +kerning first=64 second=117 amount=1 +kerning first=64 second=118 amount=1 +kerning first=64 second=111 amount=1 +kerning first=64 second=101 amount=1 +kerning first=64 second=99 amount=1 +kerning first=64 second=35 amount=1 +kerning first=64 second=97 amount=1 +kerning first=64 second=34 amount=-2 +kerning first=64 second=39 amount=-2 +kerning first=64 second=44 amount=-3 +kerning first=64 second=45 amount=1 +kerning first=64 second=46 amount=-2 +kerning first=82 second=106 amount=1 +kerning first=82 second=77 amount=1 +kerning first=82 second=90 amount=2 +kerning first=82 second=88 amount=2 +kerning first=82 second=89 amount=-1 +kerning first=82 second=65 amount=1 +kerning first=82 second=75 amount=1 +kerning first=82 second=52 amount=-3 +kerning first=82 second=78 amount=1 +kerning first=82 second=53 amount=1 +kerning first=82 second=55 amount=1 +kerning first=82 second=68 amount=1 +kerning first=82 second=76 amount=1 +kerning first=82 second=74 amount=-1 +kerning first=82 second=80 amount=1 +kerning first=82 second=63 amount=-1 +kerning first=82 second=69 amount=1 +kerning first=82 second=108 amount=2 +kerning first=82 second=82 amount=1 +kerning first=82 second=50 amount=1 +kerning first=82 second=92 amount=-1 +kerning first=82 second=47 amount=1 +kerning first=82 second=107 amount=1 +kerning first=82 second=66 amount=1 +kerning first=82 second=104 amount=1 +kerning first=82 second=72 amount=1 +kerning first=82 second=93 amount=1 +kerning first=82 second=49 amount=-2 +kerning first=82 second=73 amount=1 +kerning first=82 second=33 amount=1 +kerning first=82 second=54 amount=-1 +kerning first=82 second=57 amount=-1 +kerning first=82 second=67 amount=1 +kerning first=82 second=70 amount=1 +kerning first=82 second=100 amount=1 +kerning first=82 second=113 amount=1 +kerning first=82 second=112 amount=1 +kerning first=82 second=98 amount=2 +kerning first=82 second=40 amount=1 +kerning first=82 second=41 amount=2 +kerning first=82 second=105 amount=1 +kerning first=82 second=121 amount=-1 +kerning first=82 second=103 amount=1 +kerning first=82 second=59 amount=1 +kerning first=82 second=122 amount=2 +kerning first=82 second=110 amount=1 +kerning first=82 second=120 amount=2 +kerning first=82 second=114 amount=1 +kerning first=82 second=117 amount=1 +kerning first=82 second=111 amount=1 +kerning first=82 second=101 amount=1 +kerning first=82 second=99 amount=1 +kerning first=82 second=35 amount=-3 +kerning first=82 second=97 amount=2 +kerning first=82 second=115 amount=1 +kerning first=82 second=58 amount=1 +kerning first=82 second=44 amount=2 +kerning first=82 second=45 amount=-4 +kerning first=82 second=46 amount=2 +kerning first=50 second=106 amount=1 +kerning first=50 second=81 amount=-1 +kerning first=50 second=90 amount=1 +kerning first=50 second=88 amount=1 +kerning first=50 second=74 amount=-1 +kerning first=50 second=108 amount=1 +kerning first=50 second=47 amount=1 +kerning first=50 second=107 amount=1 +kerning first=50 second=98 amount=1 +kerning first=50 second=41 amount=1 +kerning first=50 second=105 amount=1 +kerning first=50 second=119 amount=1 +kerning first=50 second=122 amount=1 +kerning first=50 second=110 amount=1 +kerning first=50 second=120 amount=1 +kerning first=50 second=118 amount=1 +kerning first=50 second=35 amount=-1 +kerning first=50 second=97 amount=1 +kerning first=50 second=115 amount=1 +kerning first=50 second=34 amount=1 +kerning first=50 second=39 amount=1 +kerning first=50 second=45 amount=-2 +kerning first=50 second=46 amount=1 +kerning first=92 second=87 amount=-3 +kerning first=92 second=81 amount=-1 +kerning first=92 second=88 amount=1 +kerning first=92 second=89 amount=-3 +kerning first=92 second=86 amount=-2 +kerning first=92 second=52 amount=-2 +kerning first=92 second=85 amount=-1 +kerning first=92 second=84 amount=-2 +kerning first=92 second=83 amount=-1 +kerning first=92 second=48 amount=-1 +kerning first=92 second=74 amount=-2 +kerning first=92 second=56 amount=-1 +kerning first=92 second=63 amount=-2 +kerning first=92 second=108 amount=1 +kerning first=92 second=64 amount=-1 +kerning first=92 second=92 amount=-5 +kerning first=92 second=71 amount=-1 +kerning first=92 second=102 amount=-2 +kerning first=92 second=93 amount=-1 +kerning first=92 second=49 amount=-3 +kerning first=92 second=79 amount=-1 +kerning first=92 second=51 amount=-1 +kerning first=92 second=54 amount=-2 +kerning first=92 second=57 amount=-1 +kerning first=92 second=116 amount=-1 +kerning first=92 second=121 amount=-2 +kerning first=92 second=59 amount=1 +kerning first=92 second=119 amount=-1 +kerning first=92 second=122 amount=1 +kerning first=92 second=110 amount=1 +kerning first=92 second=120 amount=1 +kerning first=92 second=114 amount=1 +kerning first=92 second=118 amount=-1 +kerning first=92 second=35 amount=-3 +kerning first=92 second=97 amount=1 +kerning first=92 second=115 amount=1 +kerning first=92 second=58 amount=1 +kerning first=92 second=34 amount=-6 +kerning first=92 second=39 amount=-4 +kerning first=92 second=44 amount=1 +kerning first=92 second=45 amount=-2 +kerning first=92 second=46 amount=1 +kerning first=47 second=87 amount=1 +kerning first=47 second=81 amount=-2 +kerning first=47 second=90 amount=-1 +kerning first=47 second=88 amount=1 +kerning first=47 second=65 amount=-4 +kerning first=47 second=75 amount=1 +kerning first=47 second=86 amount=1 +kerning first=47 second=52 amount=-4 +kerning first=47 second=53 amount=-1 +kerning first=47 second=55 amount=-1 +kerning first=47 second=83 amount=-1 +kerning first=47 second=48 amount=-2 +kerning first=47 second=76 amount=1 +kerning first=47 second=74 amount=-5 +kerning first=47 second=56 amount=-2 +kerning first=47 second=63 amount=-1 +kerning first=47 second=64 amount=-5 +kerning first=47 second=50 amount=-3 +kerning first=47 second=47 amount=-6 +kerning first=47 second=71 amount=-1 +kerning first=47 second=66 amount=1 +kerning first=47 second=102 amount=-2 +kerning first=47 second=49 amount=-3 +kerning first=47 second=79 amount=-1 +kerning first=47 second=51 amount=-2 +kerning first=47 second=54 amount=-2 +kerning first=47 second=57 amount=-2 +kerning first=47 second=67 amount=-1 +kerning first=47 second=100 amount=-4 +kerning first=47 second=113 amount=-3 +kerning first=47 second=112 amount=-2 +kerning first=47 second=40 amount=-1 +kerning first=47 second=116 amount=-2 +kerning first=47 second=121 amount=-2 +kerning first=47 second=103 amount=-4 +kerning first=47 second=59 amount=-3 +kerning first=47 second=119 amount=-1 +kerning first=47 second=109 amount=-2 +kerning first=47 second=122 amount=-4 +kerning first=47 second=110 amount=-2 +kerning first=47 second=120 amount=-2 +kerning first=47 second=114 amount=-2 +kerning first=47 second=117 amount=-2 +kerning first=47 second=118 amount=-1 +kerning first=47 second=111 amount=-3 +kerning first=47 second=101 amount=-4 +kerning first=47 second=99 amount=-4 +kerning first=47 second=35 amount=-3 +kerning first=47 second=97 amount=-3 +kerning first=47 second=115 amount=-4 +kerning first=47 second=58 amount=-3 +kerning first=47 second=34 amount=1 +kerning first=47 second=39 amount=1 +kerning first=47 second=44 amount=-4 +kerning first=47 second=45 amount=-4 +kerning first=47 second=46 amount=-5 +kerning first=71 second=106 amount=1 +kerning first=71 second=81 amount=1 +kerning first=71 second=90 amount=-1 +kerning first=71 second=88 amount=-1 +kerning first=71 second=89 amount=-2 +kerning first=71 second=75 amount=1 +kerning first=71 second=86 amount=-1 +kerning first=71 second=52 amount=1 +kerning first=71 second=78 amount=1 +kerning first=71 second=53 amount=-1 +kerning first=71 second=85 amount=1 +kerning first=71 second=55 amount=-2 +kerning first=71 second=84 amount=-1 +kerning first=71 second=83 amount=-1 +kerning first=71 second=48 amount=1 +kerning first=71 second=68 amount=1 +kerning first=71 second=76 amount=1 +kerning first=71 second=74 amount=1 +kerning first=71 second=56 amount=-1 +kerning first=71 second=80 amount=1 +kerning first=71 second=63 amount=-1 +kerning first=71 second=69 amount=1 +kerning first=71 second=108 amount=1 +kerning first=71 second=64 amount=1 +kerning first=71 second=82 amount=1 +kerning first=71 second=50 amount=-3 +kerning first=71 second=92 amount=-2 +kerning first=71 second=47 amount=-1 +kerning first=71 second=71 amount=1 +kerning first=71 second=107 amount=1 +kerning first=71 second=66 amount=1 +kerning first=71 second=104 amount=1 +kerning first=71 second=72 amount=1 +kerning first=71 second=102 amount=1 +kerning first=71 second=93 amount=-2 +kerning first=71 second=49 amount=-3 +kerning first=71 second=73 amount=1 +kerning first=71 second=33 amount=1 +kerning first=71 second=79 amount=1 +kerning first=71 second=51 amount=-1 +kerning first=71 second=57 amount=-1 +kerning first=71 second=67 amount=2 +kerning first=71 second=70 amount=1 +kerning first=71 second=100 amount=1 +kerning first=71 second=113 amount=1 +kerning first=71 second=112 amount=1 +kerning first=71 second=98 amount=1 +kerning first=71 second=40 amount=1 +kerning first=71 second=105 amount=1 +kerning first=71 second=116 amount=1 +kerning first=71 second=121 amount=1 +kerning first=71 second=103 amount=2 +kerning first=71 second=119 amount=2 +kerning first=71 second=109 amount=1 +kerning first=71 second=122 amount=-1 +kerning first=71 second=110 amount=1 +kerning first=71 second=114 amount=1 +kerning first=71 second=117 amount=2 +kerning first=71 second=118 amount=1 +kerning first=71 second=111 amount=2 +kerning first=71 second=101 amount=1 +kerning first=71 second=99 amount=1 +kerning first=71 second=35 amount=1 +kerning first=71 second=97 amount=1 +kerning first=71 second=115 amount=1 +kerning first=71 second=34 amount=-1 +kerning first=71 second=39 amount=-1 +kerning first=71 second=44 amount=-3 +kerning first=71 second=45 amount=2 +kerning first=71 second=46 amount=-2 +kerning first=107 second=106 amount=1 +kerning first=107 second=52 amount=-1 +kerning first=107 second=53 amount=1 +kerning first=107 second=55 amount=1 +kerning first=107 second=108 amount=1 +kerning first=107 second=50 amount=1 +kerning first=107 second=92 amount=-2 +kerning first=107 second=47 amount=1 +kerning first=107 second=107 amount=1 +kerning first=107 second=104 amount=1 +kerning first=107 second=102 amount=1 +kerning first=107 second=49 amount=-3 +kerning first=107 second=33 amount=1 +kerning first=107 second=100 amount=1 +kerning first=107 second=113 amount=1 +kerning first=107 second=112 amount=1 +kerning first=107 second=98 amount=1 +kerning first=107 second=40 amount=1 +kerning first=107 second=41 amount=1 +kerning first=107 second=105 amount=1 +kerning first=107 second=116 amount=1 +kerning first=107 second=121 amount=2 +kerning first=107 second=103 amount=1 +kerning first=107 second=59 amount=2 +kerning first=107 second=119 amount=2 +kerning first=107 second=109 amount=1 +kerning first=107 second=122 amount=2 +kerning first=107 second=110 amount=2 +kerning first=107 second=120 amount=2 +kerning first=107 second=114 amount=2 +kerning first=107 second=117 amount=1 +kerning first=107 second=118 amount=2 +kerning first=107 second=111 amount=1 +kerning first=107 second=101 amount=1 +kerning first=107 second=99 amount=1 +kerning first=107 second=35 amount=1 +kerning first=107 second=97 amount=2 +kerning first=107 second=115 amount=2 +kerning first=107 second=58 amount=2 +kerning first=107 second=34 amount=-1 +kerning first=107 second=39 amount=-1 +kerning first=107 second=44 amount=2 +kerning first=107 second=45 amount=-2 +kerning first=107 second=46 amount=2 +kerning first=66 second=90 amount=-1 +kerning first=66 second=89 amount=-1 +kerning first=66 second=65 amount=-1 +kerning first=66 second=53 amount=-1 +kerning first=66 second=55 amount=-1 +kerning first=66 second=56 amount=-1 +kerning first=66 second=108 amount=1 +kerning first=66 second=50 amount=-2 +kerning first=66 second=47 amount=-2 +kerning first=66 second=71 amount=1 +kerning first=66 second=107 amount=1 +kerning first=66 second=72 amount=1 +kerning first=66 second=49 amount=-3 +kerning first=66 second=33 amount=1 +kerning first=66 second=51 amount=-2 +kerning first=66 second=57 amount=-1 +kerning first=66 second=67 amount=1 +kerning first=66 second=100 amount=1 +kerning first=66 second=113 amount=1 +kerning first=66 second=40 amount=1 +kerning first=66 second=41 amount=-1 +kerning first=66 second=105 amount=1 +kerning first=66 second=116 amount=1 +kerning first=66 second=103 amount=1 +kerning first=66 second=119 amount=1 +kerning first=66 second=122 amount=-1 +kerning first=66 second=110 amount=1 +kerning first=66 second=114 amount=1 +kerning first=66 second=117 amount=1 +kerning first=66 second=111 amount=1 +kerning first=66 second=101 amount=1 +kerning first=66 second=99 amount=1 +kerning first=66 second=35 amount=1 +kerning first=66 second=44 amount=-4 +kerning first=66 second=45 amount=1 +kerning first=66 second=46 amount=-2 +kerning first=104 second=106 amount=1 +kerning first=104 second=52 amount=1 +kerning first=104 second=63 amount=-1 +kerning first=104 second=108 amount=1 +kerning first=104 second=64 amount=1 +kerning first=104 second=92 amount=-3 +kerning first=104 second=107 amount=1 +kerning first=104 second=102 amount=1 +kerning first=104 second=49 amount=-3 +kerning first=104 second=33 amount=1 +kerning first=104 second=100 amount=1 +kerning first=104 second=113 amount=1 +kerning first=104 second=112 amount=1 +kerning first=104 second=98 amount=1 +kerning first=104 second=40 amount=1 +kerning first=104 second=41 amount=1 +kerning first=104 second=105 amount=1 +kerning first=104 second=116 amount=1 +kerning first=104 second=121 amount=1 +kerning first=104 second=103 amount=1 +kerning first=104 second=59 amount=1 +kerning first=104 second=119 amount=2 +kerning first=104 second=109 amount=1 +kerning first=104 second=122 amount=1 +kerning first=104 second=110 amount=1 +kerning first=104 second=120 amount=1 +kerning first=104 second=114 amount=1 +kerning first=104 second=117 amount=1 +kerning first=104 second=118 amount=1 +kerning first=104 second=111 amount=1 +kerning first=104 second=101 amount=1 +kerning first=104 second=99 amount=1 +kerning first=104 second=35 amount=1 +kerning first=104 second=97 amount=1 +kerning first=104 second=115 amount=1 +kerning first=104 second=58 amount=1 +kerning first=104 second=34 amount=-2 +kerning first=104 second=39 amount=-2 +kerning first=104 second=45 amount=1 +kerning first=104 second=46 amount=1 +kerning first=72 second=106 amount=1 +kerning first=72 second=87 amount=1 +kerning first=72 second=81 amount=1 +kerning first=72 second=88 amount=1 +kerning first=72 second=75 amount=1 +kerning first=72 second=86 amount=1 +kerning first=72 second=52 amount=1 +kerning first=72 second=85 amount=1 +kerning first=72 second=76 amount=1 +kerning first=72 second=56 amount=-1 +kerning first=72 second=80 amount=1 +kerning first=72 second=69 amount=1 +kerning first=72 second=108 amount=1 +kerning first=72 second=82 amount=1 +kerning first=72 second=92 amount=1 +kerning first=72 second=71 amount=1 +kerning first=72 second=107 amount=1 +kerning first=72 second=66 amount=1 +kerning first=72 second=104 amount=1 +kerning first=72 second=72 amount=1 +kerning first=72 second=102 amount=1 +kerning first=72 second=93 amount=1 +kerning first=72 second=49 amount=-2 +kerning first=72 second=73 amount=1 +kerning first=72 second=33 amount=1 +kerning first=72 second=79 amount=1 +kerning first=72 second=51 amount=-1 +kerning first=72 second=57 amount=-1 +kerning first=72 second=67 amount=1 +kerning first=72 second=100 amount=1 +kerning first=72 second=113 amount=1 +kerning first=72 second=112 amount=1 +kerning first=72 second=98 amount=1 +kerning first=72 second=40 amount=1 +kerning first=72 second=41 amount=1 +kerning first=72 second=105 amount=1 +kerning first=72 second=116 amount=2 +kerning first=72 second=121 amount=1 +kerning first=72 second=103 amount=1 +kerning first=72 second=59 amount=1 +kerning first=72 second=119 amount=1 +kerning first=72 second=110 amount=1 +kerning first=72 second=120 amount=1 +kerning first=72 second=114 amount=1 +kerning first=72 second=117 amount=1 +kerning first=72 second=118 amount=1 +kerning first=72 second=111 amount=1 +kerning first=72 second=101 amount=1 +kerning first=72 second=99 amount=1 +kerning first=72 second=35 amount=1 +kerning first=72 second=97 amount=1 +kerning first=72 second=115 amount=1 +kerning first=72 second=34 amount=1 +kerning first=72 second=39 amount=1 +kerning first=72 second=45 amount=1 +kerning first=72 second=46 amount=1 +kerning first=102 second=106 amount=2 +kerning first=102 second=53 amount=1 +kerning first=102 second=55 amount=-1 +kerning first=102 second=48 amount=1 +kerning first=102 second=63 amount=1 +kerning first=102 second=108 amount=2 +kerning first=102 second=50 amount=-1 +kerning first=102 second=92 amount=1 +kerning first=102 second=47 amount=-1 +kerning first=102 second=107 amount=2 +kerning first=102 second=104 amount=2 +kerning first=102 second=102 amount=2 +kerning first=102 second=93 amount=1 +kerning first=102 second=49 amount=-2 +kerning first=102 second=33 amount=2 +kerning first=102 second=54 amount=1 +kerning first=102 second=57 amount=1 +kerning first=102 second=100 amount=1 +kerning first=102 second=113 amount=1 +kerning first=102 second=112 amount=2 +kerning first=102 second=98 amount=2 +kerning first=102 second=40 amount=2 +kerning first=102 second=41 amount=1 +kerning first=102 second=105 amount=2 +kerning first=102 second=116 amount=2 +kerning first=102 second=121 amount=2 +kerning first=102 second=103 amount=1 +kerning first=102 second=59 amount=1 +kerning first=102 second=119 amount=3 +kerning first=102 second=109 amount=1 +kerning first=102 second=122 amount=1 +kerning first=102 second=110 amount=2 +kerning first=102 second=120 amount=2 +kerning first=102 second=114 amount=2 +kerning first=102 second=117 amount=2 +kerning first=102 second=118 amount=3 +kerning first=102 second=111 amount=1 +kerning first=102 second=101 amount=1 +kerning first=102 second=99 amount=1 +kerning first=102 second=35 amount=2 +kerning first=102 second=97 amount=2 +kerning first=102 second=115 amount=1 +kerning first=102 second=58 amount=1 +kerning first=102 second=34 amount=2 +kerning first=102 second=39 amount=2 +kerning first=102 second=45 amount=-2 +kerning first=102 second=46 amount=-1 +kerning first=93 second=106 amount=1 +kerning first=93 second=90 amount=1 +kerning first=93 second=88 amount=1 +kerning first=93 second=65 amount=1 +kerning first=93 second=75 amount=1 +kerning first=93 second=86 amount=1 +kerning first=93 second=78 amount=1 +kerning first=93 second=55 amount=1 +kerning first=93 second=83 amount=1 +kerning first=93 second=48 amount=-1 +kerning first=93 second=56 amount=-1 +kerning first=93 second=80 amount=1 +kerning first=93 second=69 amount=1 +kerning first=93 second=108 amount=1 +kerning first=93 second=82 amount=1 +kerning first=93 second=50 amount=1 +kerning first=93 second=47 amount=1 +kerning first=93 second=107 amount=1 +kerning first=93 second=66 amount=1 +kerning first=93 second=104 amount=1 +kerning first=93 second=49 amount=-3 +kerning first=93 second=73 amount=1 +kerning first=93 second=33 amount=1 +kerning first=93 second=54 amount=-1 +kerning first=93 second=67 amount=1 +kerning first=93 second=70 amount=1 +kerning first=93 second=112 amount=1 +kerning first=93 second=98 amount=1 +kerning first=93 second=41 amount=1 +kerning first=93 second=105 amount=1 +kerning first=93 second=116 amount=1 +kerning first=93 second=121 amount=1 +kerning first=93 second=103 amount=1 +kerning first=93 second=59 amount=1 +kerning first=93 second=119 amount=1 +kerning first=93 second=122 amount=1 +kerning first=93 second=110 amount=1 +kerning first=93 second=120 amount=2 +kerning first=93 second=114 amount=1 +kerning first=93 second=117 amount=1 +kerning first=93 second=118 amount=1 +kerning first=93 second=111 amount=1 +kerning first=93 second=99 amount=1 +kerning first=93 second=97 amount=1 +kerning first=93 second=115 amount=1 +kerning first=93 second=58 amount=1 +kerning first=93 second=34 amount=1 +kerning first=93 second=39 amount=1 +kerning first=93 second=44 amount=1 +kerning first=93 second=46 amount=1 +kerning first=49 second=106 amount=-3 +kerning first=49 second=87 amount=-4 +kerning first=49 second=81 amount=-4 +kerning first=49 second=77 amount=-4 +kerning first=49 second=90 amount=-3 +kerning first=49 second=88 amount=-3 +kerning first=49 second=89 amount=-4 +kerning first=49 second=65 amount=-3 +kerning first=49 second=75 amount=-3 +kerning first=49 second=86 amount=-3 +kerning first=49 second=78 amount=-4 +kerning first=49 second=85 amount=-4 +kerning first=49 second=84 amount=-4 +kerning first=49 second=83 amount=-4 +kerning first=49 second=68 amount=-4 +kerning first=49 second=76 amount=-4 +kerning first=49 second=74 amount=-4 +kerning first=49 second=80 amount=-3 +kerning first=49 second=63 amount=-4 +kerning first=49 second=69 amount=-3 +kerning first=49 second=108 amount=-3 +kerning first=49 second=64 amount=-4 +kerning first=49 second=82 amount=-3 +kerning first=49 second=92 amount=-4 +kerning first=49 second=47 amount=-3 +kerning first=49 second=71 amount=-4 +kerning first=49 second=107 amount=-3 +kerning first=49 second=66 amount=-3 +kerning first=49 second=104 amount=-3 +kerning first=49 second=72 amount=-4 +kerning first=49 second=102 amount=-4 +kerning first=49 second=93 amount=-4 +kerning first=49 second=73 amount=-3 +kerning first=49 second=33 amount=-3 +kerning first=49 second=79 amount=-4 +kerning first=49 second=67 amount=-4 +kerning first=49 second=70 amount=-3 +kerning first=49 second=100 amount=-4 +kerning first=49 second=113 amount=-4 +kerning first=49 second=112 amount=-3 +kerning first=49 second=98 amount=-3 +kerning first=49 second=40 amount=-4 +kerning first=49 second=41 amount=-3 +kerning first=49 second=105 amount=-3 +kerning first=49 second=116 amount=-3 +kerning first=49 second=121 amount=-3 +kerning first=49 second=103 amount=-4 +kerning first=49 second=59 amount=-3 +kerning first=49 second=119 amount=-3 +kerning first=49 second=109 amount=-4 +kerning first=49 second=122 amount=-3 +kerning first=49 second=110 amount=-3 +kerning first=49 second=120 amount=-2 +kerning first=49 second=114 amount=-3 +kerning first=49 second=117 amount=-3 +kerning first=49 second=118 amount=-3 +kerning first=49 second=111 amount=-4 +kerning first=49 second=101 amount=-4 +kerning first=49 second=99 amount=-3 +kerning first=49 second=35 amount=-4 +kerning first=49 second=97 amount=-3 +kerning first=49 second=115 amount=-3 +kerning first=49 second=58 amount=-3 +kerning first=49 second=34 amount=-4 +kerning first=49 second=39 amount=-3 +kerning first=49 second=44 amount=-3 +kerning first=49 second=45 amount=-4 +kerning first=49 second=46 amount=-3 +kerning first=73 second=106 amount=1 +kerning first=73 second=87 amount=1 +kerning first=73 second=90 amount=1 +kerning first=73 second=88 amount=1 +kerning first=73 second=65 amount=1 +kerning first=73 second=75 amount=1 +kerning first=73 second=86 amount=1 +kerning first=73 second=85 amount=1 +kerning first=73 second=83 amount=1 +kerning first=73 second=76 amount=1 +kerning first=73 second=56 amount=-1 +kerning first=73 second=80 amount=1 +kerning first=73 second=63 amount=1 +kerning first=73 second=108 amount=1 +kerning first=73 second=82 amount=1 +kerning first=73 second=92 amount=1 +kerning first=73 second=47 amount=1 +kerning first=73 second=71 amount=1 +kerning first=73 second=107 amount=1 +kerning first=73 second=66 amount=1 +kerning first=73 second=104 amount=1 +kerning first=73 second=72 amount=1 +kerning first=73 second=102 amount=1 +kerning first=73 second=93 amount=1 +kerning first=73 second=49 amount=-2 +kerning first=73 second=73 amount=1 +kerning first=73 second=33 amount=1 +kerning first=73 second=54 amount=-1 +kerning first=73 second=67 amount=1 +kerning first=73 second=113 amount=1 +kerning first=73 second=112 amount=1 +kerning first=73 second=98 amount=1 +kerning first=73 second=41 amount=1 +kerning first=73 second=105 amount=1 +kerning first=73 second=116 amount=1 +kerning first=73 second=121 amount=1 +kerning first=73 second=103 amount=1 +kerning first=73 second=59 amount=1 +kerning first=73 second=119 amount=2 +kerning first=73 second=122 amount=1 +kerning first=73 second=110 amount=1 +kerning first=73 second=120 amount=1 +kerning first=73 second=114 amount=1 +kerning first=73 second=117 amount=1 +kerning first=73 second=118 amount=1 +kerning first=73 second=111 amount=1 +kerning first=73 second=99 amount=1 +kerning first=73 second=97 amount=1 +kerning first=73 second=115 amount=1 +kerning first=73 second=58 amount=1 +kerning first=73 second=34 amount=1 +kerning first=73 second=39 amount=1 +kerning first=73 second=44 amount=1 +kerning first=73 second=46 amount=1 +kerning first=33 second=106 amount=1 +kerning first=33 second=87 amount=1 +kerning first=33 second=81 amount=1 +kerning first=33 second=90 amount=1 +kerning first=33 second=88 amount=1 +kerning first=33 second=89 amount=1 +kerning first=33 second=65 amount=1 +kerning first=33 second=75 amount=1 +kerning first=33 second=86 amount=1 +kerning first=33 second=52 amount=1 +kerning first=33 second=78 amount=1 +kerning first=33 second=53 amount=2 +kerning first=33 second=85 amount=1 +kerning first=33 second=84 amount=1 +kerning first=33 second=83 amount=1 +kerning first=33 second=68 amount=1 +kerning first=33 second=76 amount=1 +kerning first=33 second=74 amount=1 +kerning first=33 second=80 amount=1 +kerning first=33 second=63 amount=1 +kerning first=33 second=69 amount=1 +kerning first=33 second=108 amount=1 +kerning first=33 second=82 amount=1 +kerning first=33 second=92 amount=1 +kerning first=33 second=47 amount=1 +kerning first=33 second=71 amount=1 +kerning first=33 second=107 amount=1 +kerning first=33 second=66 amount=1 +kerning first=33 second=104 amount=1 +kerning first=33 second=72 amount=1 +kerning first=33 second=102 amount=1 +kerning first=33 second=93 amount=1 +kerning first=33 second=49 amount=-2 +kerning first=33 second=73 amount=2 +kerning first=33 second=33 amount=1 +kerning first=33 second=79 amount=1 +kerning first=33 second=67 amount=1 +kerning first=33 second=100 amount=1 +kerning first=33 second=113 amount=1 +kerning first=33 second=112 amount=1 +kerning first=33 second=98 amount=1 +kerning first=33 second=40 amount=1 +kerning first=33 second=41 amount=1 +kerning first=33 second=105 amount=1 +kerning first=33 second=116 amount=2 +kerning first=33 second=121 amount=1 +kerning first=33 second=103 amount=1 +kerning first=33 second=59 amount=2 +kerning first=33 second=119 amount=2 +kerning first=33 second=122 amount=1 +kerning first=33 second=110 amount=1 +kerning first=33 second=120 amount=1 +kerning first=33 second=114 amount=1 +kerning first=33 second=117 amount=1 +kerning first=33 second=118 amount=2 +kerning first=33 second=111 amount=1 +kerning first=33 second=101 amount=1 +kerning first=33 second=99 amount=1 +kerning first=33 second=35 amount=1 +kerning first=33 second=97 amount=1 +kerning first=33 second=115 amount=1 +kerning first=33 second=58 amount=1 +kerning first=33 second=43 amount=1 +kerning first=33 second=34 amount=1 +kerning first=33 second=39 amount=1 +kerning first=33 second=44 amount=1 +kerning first=33 second=45 amount=1 +kerning first=33 second=46 amount=1 +kerning first=79 second=106 amount=1 +kerning first=79 second=81 amount=1 +kerning first=79 second=88 amount=-1 +kerning first=79 second=89 amount=-1 +kerning first=79 second=65 amount=-1 +kerning first=79 second=55 amount=-1 +kerning first=79 second=56 amount=-1 +kerning first=79 second=108 amount=1 +kerning first=79 second=50 amount=-1 +kerning first=79 second=92 amount=-1 +kerning first=79 second=47 amount=-1 +kerning first=79 second=71 amount=1 +kerning first=79 second=107 amount=1 +kerning first=79 second=72 amount=1 +kerning first=79 second=102 amount=1 +kerning first=79 second=93 amount=-1 +kerning first=79 second=49 amount=-3 +kerning first=79 second=33 amount=1 +kerning first=79 second=79 amount=1 +kerning first=79 second=51 amount=-1 +kerning first=79 second=57 amount=-1 +kerning first=79 second=67 amount=1 +kerning first=79 second=100 amount=1 +kerning first=79 second=113 amount=1 +kerning first=79 second=112 amount=1 +kerning first=79 second=98 amount=1 +kerning first=79 second=40 amount=1 +kerning first=79 second=41 amount=-1 +kerning first=79 second=105 amount=1 +kerning first=79 second=116 amount=2 +kerning first=79 second=121 amount=1 +kerning first=79 second=103 amount=1 +kerning first=79 second=59 amount=1 +kerning first=79 second=119 amount=2 +kerning first=79 second=110 amount=1 +kerning first=79 second=120 amount=1 +kerning first=79 second=114 amount=1 +kerning first=79 second=117 amount=1 +kerning first=79 second=118 amount=2 +kerning first=79 second=111 amount=1 +kerning first=79 second=101 amount=1 +kerning first=79 second=99 amount=1 +kerning first=79 second=35 amount=1 +kerning first=79 second=97 amount=1 +kerning first=79 second=44 amount=-1 +kerning first=79 second=45 amount=1 +kerning first=51 second=77 amount=-1 +kerning first=51 second=90 amount=-2 +kerning first=51 second=89 amount=-1 +kerning first=51 second=65 amount=-2 +kerning first=51 second=75 amount=-1 +kerning first=51 second=78 amount=-1 +kerning first=51 second=84 amount=-1 +kerning first=51 second=83 amount=-1 +kerning first=51 second=68 amount=-1 +kerning first=51 second=76 amount=-1 +kerning first=51 second=74 amount=-1 +kerning first=51 second=63 amount=-1 +kerning first=51 second=64 amount=-1 +kerning first=51 second=92 amount=-1 +kerning first=51 second=47 amount=-3 +kerning first=51 second=93 amount=-1 +kerning first=51 second=70 amount=-1 +kerning first=51 second=41 amount=-1 +kerning first=51 second=59 amount=-1 +kerning first=51 second=109 amount=-1 +kerning first=51 second=122 amount=-2 +kerning first=51 second=120 amount=-1 +kerning first=51 second=58 amount=-1 +kerning first=51 second=44 amount=-4 +kerning first=51 second=46 amount=-3 +kerning first=54 second=106 amount=-1 +kerning first=54 second=87 amount=-1 +kerning first=54 second=81 amount=-1 +kerning first=54 second=77 amount=-1 +kerning first=54 second=90 amount=-1 +kerning first=54 second=88 amount=-2 +kerning first=54 second=89 amount=-2 +kerning first=54 second=65 amount=-2 +kerning first=54 second=75 amount=-1 +kerning first=54 second=86 amount=-1 +kerning first=54 second=78 amount=-1 +kerning first=54 second=83 amount=-1 +kerning first=54 second=68 amount=-1 +kerning first=54 second=76 amount=-1 +kerning first=54 second=74 amount=-1 +kerning first=54 second=80 amount=-1 +kerning first=54 second=69 amount=-1 +kerning first=54 second=64 amount=-1 +kerning first=54 second=82 amount=-1 +kerning first=54 second=92 amount=-2 +kerning first=54 second=47 amount=-2 +kerning first=54 second=66 amount=-1 +kerning first=54 second=104 amount=-1 +kerning first=54 second=72 amount=-1 +kerning first=54 second=102 amount=-1 +kerning first=54 second=93 amount=-1 +kerning first=54 second=73 amount=-1 +kerning first=54 second=79 amount=-1 +kerning first=54 second=70 amount=-1 +kerning first=54 second=100 amount=-1 +kerning first=54 second=113 amount=-1 +kerning first=54 second=112 amount=-1 +kerning first=54 second=98 amount=-1 +kerning first=54 second=40 amount=-1 +kerning first=54 second=41 amount=-1 +kerning first=54 second=121 amount=-1 +kerning first=54 second=59 amount=-1 +kerning first=54 second=109 amount=-1 +kerning first=54 second=122 amount=-2 +kerning first=54 second=110 amount=-1 +kerning first=54 second=120 amount=-1 +kerning first=54 second=114 amount=-1 +kerning first=54 second=118 amount=-1 +kerning first=54 second=101 amount=-1 +kerning first=54 second=35 amount=-1 +kerning first=54 second=97 amount=-1 +kerning first=54 second=115 amount=-1 +kerning first=54 second=58 amount=-2 +kerning first=54 second=44 amount=-2 +kerning first=54 second=45 amount=-1 +kerning first=54 second=46 amount=-1 +kerning first=57 second=87 amount=-1 +kerning first=57 second=81 amount=-1 +kerning first=57 second=77 amount=-1 +kerning first=57 second=90 amount=-1 +kerning first=57 second=88 amount=-2 +kerning first=57 second=89 amount=-2 +kerning first=57 second=65 amount=-2 +kerning first=57 second=75 amount=-1 +kerning first=57 second=86 amount=-2 +kerning first=57 second=78 amount=-1 +kerning first=57 second=85 amount=-1 +kerning first=57 second=84 amount=-1 +kerning first=57 second=83 amount=-1 +kerning first=57 second=68 amount=-1 +kerning first=57 second=76 amount=-1 +kerning first=57 second=74 amount=-1 +kerning first=57 second=80 amount=-1 +kerning first=57 second=63 amount=-1 +kerning first=57 second=69 amount=-1 +kerning first=57 second=64 amount=-1 +kerning first=57 second=82 amount=-1 +kerning first=57 second=92 amount=-2 +kerning first=57 second=47 amount=-2 +kerning first=57 second=66 amount=-1 +kerning first=57 second=104 amount=-1 +kerning first=57 second=93 amount=-2 +kerning first=57 second=73 amount=-1 +kerning first=57 second=79 amount=-1 +kerning first=57 second=70 amount=-1 +kerning first=57 second=100 amount=-1 +kerning first=57 second=98 amount=-1 +kerning first=57 second=41 amount=-2 +kerning first=57 second=116 amount=1 +kerning first=57 second=59 amount=-1 +kerning first=57 second=119 amount=1 +kerning first=57 second=109 amount=-1 +kerning first=57 second=122 amount=-1 +kerning first=57 second=118 amount=1 +kerning first=57 second=101 amount=-1 +kerning first=57 second=115 amount=-1 +kerning first=57 second=58 amount=-1 +kerning first=57 second=34 amount=-1 +kerning first=57 second=44 amount=-3 +kerning first=57 second=46 amount=-2 +kerning first=67 second=106 amount=1 +kerning first=67 second=81 amount=1 +kerning first=67 second=88 amount=-1 +kerning first=67 second=89 amount=-1 +kerning first=67 second=52 amount=1 +kerning first=67 second=85 amount=1 +kerning first=67 second=55 amount=-1 +kerning first=67 second=83 amount=1 +kerning first=67 second=74 amount=1 +kerning first=67 second=56 amount=-1 +kerning first=67 second=80 amount=1 +kerning first=67 second=69 amount=1 +kerning first=67 second=108 amount=1 +kerning first=67 second=64 amount=1 +kerning first=67 second=50 amount=-1 +kerning first=67 second=92 amount=-1 +kerning first=67 second=47 amount=-1 +kerning first=67 second=71 amount=1 +kerning first=67 second=107 amount=1 +kerning first=67 second=66 amount=1 +kerning first=67 second=104 amount=1 +kerning first=67 second=102 amount=1 +kerning first=67 second=93 amount=-1 +kerning first=67 second=49 amount=-3 +kerning first=67 second=73 amount=1 +kerning first=67 second=33 amount=1 +kerning first=67 second=79 amount=1 +kerning first=67 second=51 amount=-1 +kerning first=67 second=67 amount=1 +kerning first=67 second=100 amount=1 +kerning first=67 second=113 amount=1 +kerning first=67 second=112 amount=1 +kerning first=67 second=98 amount=1 +kerning first=67 second=40 amount=1 +kerning first=67 second=105 amount=1 +kerning first=67 second=116 amount=1 +kerning first=67 second=121 amount=1 +kerning first=67 second=103 amount=1 +kerning first=67 second=119 amount=2 +kerning first=67 second=109 amount=1 +kerning first=67 second=110 amount=1 +kerning first=67 second=120 amount=1 +kerning first=67 second=114 amount=1 +kerning first=67 second=117 amount=1 +kerning first=67 second=118 amount=2 +kerning first=67 second=111 amount=1 +kerning first=67 second=101 amount=1 +kerning first=67 second=99 amount=1 +kerning first=67 second=35 amount=1 +kerning first=67 second=97 amount=1 +kerning first=67 second=34 amount=1 +kerning first=67 second=39 amount=1 +kerning first=67 second=44 amount=-1 +kerning first=123 second=32 amount=1 +kerning first=125 second=112 amount=1 +kerning first=125 second=109 amount=1 +kerning first=125 second=110 amount=1 +kerning first=125 second=111 amount=1 +kerning first=70 second=87 amount=1 +kerning first=70 second=90 amount=-1 +kerning first=70 second=88 amount=1 +kerning first=70 second=65 amount=-2 +kerning first=70 second=75 amount=1 +kerning first=70 second=86 amount=1 +kerning first=70 second=53 amount=-1 +kerning first=70 second=85 amount=1 +kerning first=70 second=83 amount=-1 +kerning first=70 second=48 amount=-1 +kerning first=70 second=76 amount=1 +kerning first=70 second=74 amount=-2 +kerning first=70 second=56 amount=-1 +kerning first=70 second=80 amount=1 +kerning first=70 second=63 amount=-1 +kerning first=70 second=108 amount=1 +kerning first=70 second=64 amount=-1 +kerning first=70 second=82 amount=1 +kerning first=70 second=50 amount=-3 +kerning first=70 second=92 amount=1 +kerning first=70 second=47 amount=-3 +kerning first=70 second=107 amount=1 +kerning first=70 second=66 amount=1 +kerning first=70 second=93 amount=1 +kerning first=70 second=49 amount=-2 +kerning first=70 second=73 amount=1 +kerning first=70 second=33 amount=1 +kerning first=70 second=51 amount=-2 +kerning first=70 second=54 amount=-1 +kerning first=70 second=57 amount=-1 +kerning first=70 second=98 amount=1 +kerning first=70 second=41 amount=1 +kerning first=70 second=105 amount=1 +kerning first=70 second=59 amount=-1 +kerning first=70 second=109 amount=-1 +kerning first=70 second=122 amount=-2 +kerning first=70 second=120 amount=-1 +kerning first=70 second=58 amount=-1 +kerning first=70 second=34 amount=1 +kerning first=70 second=39 amount=1 +kerning first=70 second=44 amount=-4 +kerning first=70 second=46 amount=-3 +kerning first=100 second=106 amount=1 +kerning first=100 second=56 amount=-1 +kerning first=100 second=63 amount=1 +kerning first=100 second=108 amount=1 +kerning first=100 second=92 amount=1 +kerning first=100 second=47 amount=1 +kerning first=100 second=107 amount=1 +kerning first=100 second=102 amount=1 +kerning first=100 second=93 amount=1 +kerning first=100 second=49 amount=-2 +kerning first=100 second=33 amount=1 +kerning first=100 second=113 amount=1 +kerning first=100 second=112 amount=1 +kerning first=100 second=98 amount=1 +kerning first=100 second=41 amount=1 +kerning first=100 second=105 amount=1 +kerning first=100 second=116 amount=1 +kerning first=100 second=121 amount=1 +kerning first=100 second=103 amount=1 +kerning first=100 second=59 amount=1 +kerning first=100 second=119 amount=2 +kerning first=100 second=122 amount=1 +kerning first=100 second=110 amount=1 +kerning first=100 second=120 amount=1 +kerning first=100 second=114 amount=1 +kerning first=100 second=117 amount=1 +kerning first=100 second=118 amount=2 +kerning first=100 second=111 amount=1 +kerning first=100 second=99 amount=1 +kerning first=100 second=97 amount=1 +kerning first=100 second=115 amount=1 +kerning first=100 second=58 amount=1 +kerning first=100 second=34 amount=1 +kerning first=100 second=39 amount=1 +kerning first=100 second=44 amount=1 +kerning first=100 second=46 amount=1 +kerning first=113 second=106 amount=3 +kerning first=113 second=52 amount=1 +kerning first=113 second=108 amount=1 +kerning first=113 second=92 amount=-2 +kerning first=113 second=47 amount=1 +kerning first=113 second=107 amount=1 +kerning first=113 second=104 amount=1 +kerning first=113 second=102 amount=1 +kerning first=113 second=49 amount=-3 +kerning first=113 second=33 amount=1 +kerning first=113 second=100 amount=1 +kerning first=113 second=112 amount=1 +kerning first=113 second=98 amount=1 +kerning first=113 second=40 amount=1 +kerning first=113 second=41 amount=1 +kerning first=113 second=105 amount=1 +kerning first=113 second=116 amount=2 +kerning first=113 second=121 amount=2 +kerning first=113 second=103 amount=1 +kerning first=113 second=59 amount=2 +kerning first=113 second=119 amount=2 +kerning first=113 second=109 amount=1 +kerning first=113 second=122 amount=1 +kerning first=113 second=110 amount=1 +kerning first=113 second=120 amount=1 +kerning first=113 second=114 amount=1 +kerning first=113 second=117 amount=1 +kerning first=113 second=118 amount=2 +kerning first=113 second=111 amount=1 +kerning first=113 second=101 amount=1 +kerning first=113 second=99 amount=1 +kerning first=113 second=35 amount=1 +kerning first=113 second=97 amount=1 +kerning first=113 second=115 amount=1 +kerning first=113 second=58 amount=1 +kerning first=113 second=44 amount=2 +kerning first=113 second=45 amount=1 +kerning first=113 second=46 amount=1 +kerning first=112 second=106 amount=1 +kerning first=112 second=52 amount=1 +kerning first=112 second=63 amount=-1 +kerning first=112 second=108 amount=1 +kerning first=112 second=64 amount=1 +kerning first=112 second=50 amount=-1 +kerning first=112 second=92 amount=-3 +kerning first=112 second=107 amount=1 +kerning first=112 second=104 amount=1 +kerning first=112 second=102 amount=1 +kerning first=112 second=93 amount=-1 +kerning first=112 second=49 amount=-4 +kerning first=112 second=33 amount=1 +kerning first=112 second=100 amount=1 +kerning first=112 second=113 amount=1 +kerning first=112 second=98 amount=1 +kerning first=112 second=40 amount=1 +kerning first=112 second=105 amount=1 +kerning first=112 second=116 amount=2 +kerning first=112 second=103 amount=1 +kerning first=112 second=59 amount=1 +kerning first=112 second=119 amount=1 +kerning first=112 second=110 amount=1 +kerning first=112 second=120 amount=1 +kerning first=112 second=114 amount=1 +kerning first=112 second=117 amount=1 +kerning first=112 second=118 amount=1 +kerning first=112 second=111 amount=1 +kerning first=112 second=101 amount=1 +kerning first=112 second=99 amount=1 +kerning first=112 second=35 amount=1 +kerning first=112 second=97 amount=1 +kerning first=112 second=115 amount=1 +kerning first=112 second=34 amount=-2 +kerning first=112 second=39 amount=-2 +kerning first=112 second=44 amount=-1 +kerning first=112 second=45 amount=1 +kerning first=98 second=52 amount=1 +kerning first=98 second=56 amount=-1 +kerning first=98 second=63 amount=-1 +kerning first=98 second=108 amount=1 +kerning first=98 second=92 amount=-3 +kerning first=98 second=107 amount=1 +kerning first=98 second=102 amount=1 +kerning first=98 second=93 amount=-1 +kerning first=98 second=49 amount=-4 +kerning first=98 second=33 amount=1 +kerning first=98 second=100 amount=1 +kerning first=98 second=113 amount=1 +kerning first=98 second=112 amount=1 +kerning first=98 second=40 amount=1 +kerning first=98 second=105 amount=1 +kerning first=98 second=116 amount=1 +kerning first=98 second=103 amount=1 +kerning first=98 second=119 amount=1 +kerning first=98 second=110 amount=1 +kerning first=98 second=120 amount=1 +kerning first=98 second=114 amount=1 +kerning first=98 second=117 amount=1 +kerning first=98 second=118 amount=1 +kerning first=98 second=111 amount=1 +kerning first=98 second=101 amount=1 +kerning first=98 second=99 amount=1 +kerning first=98 second=35 amount=1 +kerning first=98 second=97 amount=1 +kerning first=98 second=115 amount=1 +kerning first=98 second=34 amount=-3 +kerning first=98 second=39 amount=-3 +kerning first=98 second=45 amount=1 +kerning first=98 second=46 amount=1 +kerning first=40 second=106 amount=1 +kerning first=40 second=87 amount=1 +kerning first=40 second=81 amount=-1 +kerning first=40 second=90 amount=1 +kerning first=40 second=88 amount=1 +kerning first=40 second=89 amount=1 +kerning first=40 second=65 amount=1 +kerning first=40 second=75 amount=1 +kerning first=40 second=86 amount=1 +kerning first=40 second=52 amount=-1 +kerning first=40 second=78 amount=1 +kerning first=40 second=85 amount=1 +kerning first=40 second=48 amount=-1 +kerning first=40 second=68 amount=1 +kerning first=40 second=76 amount=1 +kerning first=40 second=74 amount=-1 +kerning first=40 second=56 amount=-1 +kerning first=40 second=80 amount=1 +kerning first=40 second=69 amount=1 +kerning first=40 second=108 amount=1 +kerning first=40 second=64 amount=-1 +kerning first=40 second=82 amount=1 +kerning first=40 second=92 amount=1 +kerning first=40 second=47 amount=1 +kerning first=40 second=107 amount=1 +kerning first=40 second=66 amount=1 +kerning first=40 second=104 amount=1 +kerning first=40 second=93 amount=1 +kerning first=40 second=49 amount=-2 +kerning first=40 second=73 amount=1 +kerning first=40 second=33 amount=1 +kerning first=40 second=51 amount=-1 +kerning first=40 second=54 amount=-2 +kerning first=40 second=57 amount=-1 +kerning first=40 second=112 amount=1 +kerning first=40 second=98 amount=1 +kerning first=40 second=41 amount=1 +kerning first=40 second=105 amount=1 +kerning first=40 second=59 amount=1 +kerning first=40 second=122 amount=1 +kerning first=40 second=110 amount=1 +kerning first=40 second=120 amount=1 +kerning first=40 second=114 amount=1 +kerning first=40 second=35 amount=-1 +kerning first=40 second=97 amount=1 +kerning first=40 second=58 amount=1 +kerning first=40 second=34 amount=1 +kerning first=40 second=39 amount=1 +kerning first=40 second=44 amount=1 +kerning first=40 second=45 amount=-1 +kerning first=40 second=46 amount=1 +kerning first=41 second=106 amount=1 +kerning first=41 second=81 amount=1 +kerning first=41 second=52 amount=1 +kerning first=41 second=85 amount=1 +kerning first=41 second=55 amount=-1 +kerning first=41 second=83 amount=1 +kerning first=41 second=74 amount=1 +kerning first=41 second=56 amount=-1 +kerning first=41 second=80 amount=1 +kerning first=41 second=63 amount=1 +kerning first=41 second=69 amount=1 +kerning first=41 second=108 amount=1 +kerning first=41 second=50 amount=-1 +kerning first=41 second=71 amount=1 +kerning first=41 second=107 amount=1 +kerning first=41 second=66 amount=1 +kerning first=41 second=104 amount=1 +kerning first=41 second=72 amount=1 +kerning first=41 second=102 amount=1 +kerning first=41 second=49 amount=-2 +kerning first=41 second=73 amount=1 +kerning first=41 second=33 amount=1 +kerning first=41 second=79 amount=1 +kerning first=41 second=67 amount=1 +kerning first=41 second=100 amount=1 +kerning first=41 second=113 amount=1 +kerning first=41 second=112 amount=1 +kerning first=41 second=98 amount=1 +kerning first=41 second=40 amount=1 +kerning first=41 second=105 amount=1 +kerning first=41 second=116 amount=2 +kerning first=41 second=121 amount=2 +kerning first=41 second=103 amount=1 +kerning first=41 second=59 amount=1 +kerning first=41 second=119 amount=2 +kerning first=41 second=109 amount=1 +kerning first=41 second=110 amount=1 +kerning first=41 second=120 amount=1 +kerning first=41 second=114 amount=1 +kerning first=41 second=117 amount=1 +kerning first=41 second=118 amount=2 +kerning first=41 second=111 amount=1 +kerning first=41 second=101 amount=1 +kerning first=41 second=99 amount=1 +kerning first=41 second=35 amount=1 +kerning first=41 second=97 amount=1 +kerning first=41 second=115 amount=1 +kerning first=41 second=34 amount=1 +kerning first=41 second=39 amount=1 +kerning first=41 second=44 amount=-1 +kerning first=41 second=45 amount=1 +kerning first=105 second=106 amount=1 +kerning first=105 second=63 amount=1 +kerning first=105 second=108 amount=1 +kerning first=105 second=50 amount=1 +kerning first=105 second=92 amount=1 +kerning first=105 second=47 amount=1 +kerning first=105 second=107 amount=1 +kerning first=105 second=104 amount=1 +kerning first=105 second=102 amount=1 +kerning first=105 second=93 amount=1 +kerning first=105 second=49 amount=-2 +kerning first=105 second=33 amount=1 +kerning first=105 second=100 amount=1 +kerning first=105 second=113 amount=1 +kerning first=105 second=112 amount=1 +kerning first=105 second=98 amount=1 +kerning first=105 second=40 amount=1 +kerning first=105 second=41 amount=1 +kerning first=105 second=105 amount=1 +kerning first=105 second=116 amount=2 +kerning first=105 second=121 amount=2 +kerning first=105 second=103 amount=1 +kerning first=105 second=59 amount=2 +kerning first=105 second=119 amount=2 +kerning first=105 second=109 amount=1 +kerning first=105 second=122 amount=1 +kerning first=105 second=110 amount=1 +kerning first=105 second=120 amount=1 +kerning first=105 second=114 amount=1 +kerning first=105 second=117 amount=1 +kerning first=105 second=118 amount=2 +kerning first=105 second=111 amount=1 +kerning first=105 second=101 amount=1 +kerning first=105 second=99 amount=1 +kerning first=105 second=35 amount=1 +kerning first=105 second=97 amount=1 +kerning first=105 second=115 amount=1 +kerning first=105 second=58 amount=1 +kerning first=105 second=34 amount=1 +kerning first=105 second=39 amount=1 +kerning first=105 second=44 amount=1 +kerning first=105 second=46 amount=1 +kerning first=116 second=106 amount=2 +kerning first=116 second=52 amount=-1 +kerning first=116 second=55 amount=-1 +kerning first=116 second=48 amount=1 +kerning first=116 second=63 amount=1 +kerning first=116 second=108 amount=2 +kerning first=116 second=50 amount=-1 +kerning first=116 second=92 amount=-1 +kerning first=116 second=107 amount=2 +kerning first=116 second=104 amount=1 +kerning first=116 second=102 amount=2 +kerning first=116 second=93 amount=-2 +kerning first=116 second=49 amount=-3 +kerning first=116 second=33 amount=2 +kerning first=116 second=54 amount=1 +kerning first=116 second=57 amount=1 +kerning first=116 second=100 amount=1 +kerning first=116 second=113 amount=1 +kerning first=116 second=112 amount=2 +kerning first=116 second=98 amount=1 +kerning first=116 second=40 amount=2 +kerning first=116 second=105 amount=2 +kerning first=116 second=116 amount=2 +kerning first=116 second=121 amount=2 +kerning first=116 second=103 amount=1 +kerning first=116 second=59 amount=1 +kerning first=116 second=119 amount=3 +kerning first=116 second=109 amount=1 +kerning first=116 second=122 amount=1 +kerning first=116 second=110 amount=2 +kerning first=116 second=120 amount=2 +kerning first=116 second=114 amount=2 +kerning first=116 second=117 amount=2 +kerning first=116 second=118 amount=3 +kerning first=116 second=111 amount=1 +kerning first=116 second=101 amount=1 +kerning first=116 second=99 amount=1 +kerning first=116 second=35 amount=1 +kerning first=116 second=97 amount=1 +kerning first=116 second=115 amount=1 +kerning first=116 second=58 amount=1 +kerning first=116 second=34 amount=1 +kerning first=116 second=39 amount=1 +kerning first=116 second=45 amount=-1 +kerning first=116 second=32 amount=1 +kerning first=121 second=106 amount=1 +kerning first=121 second=55 amount=-3 +kerning first=121 second=108 amount=1 +kerning first=121 second=64 amount=-1 +kerning first=121 second=50 amount=-2 +kerning first=121 second=92 amount=-2 +kerning first=121 second=47 amount=-2 +kerning first=121 second=107 amount=1 +kerning first=121 second=104 amount=1 +kerning first=121 second=102 amount=1 +kerning first=121 second=93 amount=-3 +kerning first=121 second=49 amount=-3 +kerning first=121 second=33 amount=1 +kerning first=121 second=51 amount=-1 +kerning first=121 second=112 amount=1 +kerning first=121 second=98 amount=1 +kerning first=121 second=40 amount=1 +kerning first=121 second=41 amount=-1 +kerning first=121 second=105 amount=1 +kerning first=121 second=116 amount=2 +kerning first=121 second=121 amount=2 +kerning first=121 second=59 amount=1 +kerning first=121 second=119 amount=2 +kerning first=121 second=109 amount=1 +kerning first=121 second=110 amount=1 +kerning first=121 second=120 amount=1 +kerning first=121 second=114 amount=1 +kerning first=121 second=117 amount=1 +kerning first=121 second=118 amount=2 +kerning first=121 second=111 amount=1 +kerning first=121 second=35 amount=1 +kerning first=121 second=97 amount=1 +kerning first=121 second=44 amount=-2 +kerning first=121 second=46 amount=-2 +kerning first=121 second=32 amount=1 +kerning first=103 second=106 amount=3 +kerning first=103 second=52 amount=1 +kerning first=103 second=53 amount=1 +kerning first=103 second=108 amount=1 +kerning first=103 second=92 amount=-2 +kerning first=103 second=47 amount=1 +kerning first=103 second=107 amount=1 +kerning first=103 second=104 amount=1 +kerning first=103 second=102 amount=1 +kerning first=103 second=49 amount=-3 +kerning first=103 second=33 amount=1 +kerning first=103 second=100 amount=1 +kerning first=103 second=113 amount=1 +kerning first=103 second=112 amount=1 +kerning first=103 second=98 amount=1 +kerning first=103 second=40 amount=1 +kerning first=103 second=41 amount=1 +kerning first=103 second=105 amount=1 +kerning first=103 second=116 amount=2 +kerning first=103 second=121 amount=1 +kerning first=103 second=103 amount=1 +kerning first=103 second=59 amount=2 +kerning first=103 second=119 amount=2 +kerning first=103 second=122 amount=1 +kerning first=103 second=110 amount=1 +kerning first=103 second=120 amount=1 +kerning first=103 second=114 amount=1 +kerning first=103 second=117 amount=1 +kerning first=103 second=118 amount=2 +kerning first=103 second=111 amount=1 +kerning first=103 second=101 amount=1 +kerning first=103 second=99 amount=1 +kerning first=103 second=35 amount=1 +kerning first=103 second=97 amount=1 +kerning first=103 second=115 amount=1 +kerning first=103 second=58 amount=1 +kerning first=103 second=34 amount=-1 +kerning first=103 second=44 amount=2 +kerning first=103 second=45 amount=1 +kerning first=103 second=46 amount=1 +kerning first=59 second=106 amount=1 +kerning first=59 second=87 amount=-1 +kerning first=59 second=89 amount=-2 +kerning first=59 second=86 amount=-1 +kerning first=59 second=52 amount=-1 +kerning first=59 second=53 amount=-1 +kerning first=59 second=84 amount=-2 +kerning first=59 second=74 amount=-3 +kerning first=59 second=56 amount=-1 +kerning first=59 second=63 amount=-1 +kerning first=59 second=64 amount=-1 +kerning first=59 second=92 amount=-3 +kerning first=59 second=71 amount=1 +kerning first=59 second=102 amount=1 +kerning first=59 second=93 amount=-1 +kerning first=59 second=49 amount=-4 +kerning first=59 second=33 amount=1 +kerning first=59 second=51 amount=-2 +kerning first=59 second=54 amount=-1 +kerning first=59 second=57 amount=-1 +kerning first=59 second=67 amount=1 +kerning first=59 second=112 amount=1 +kerning first=59 second=105 amount=1 +kerning first=59 second=116 amount=1 +kerning first=59 second=121 amount=1 +kerning first=59 second=59 amount=1 +kerning first=59 second=119 amount=2 +kerning first=59 second=110 amount=1 +kerning first=59 second=120 amount=1 +kerning first=59 second=114 amount=1 +kerning first=59 second=117 amount=1 +kerning first=59 second=118 amount=2 +kerning first=59 second=34 amount=-1 +kerning first=59 second=44 amount=1 +kerning first=59 second=45 amount=-1 +kerning first=119 second=106 amount=1 +kerning first=119 second=55 amount=-2 +kerning first=119 second=63 amount=1 +kerning first=119 second=108 amount=1 +kerning first=119 second=64 amount=-1 +kerning first=119 second=50 amount=-1 +kerning first=119 second=92 amount=-1 +kerning first=119 second=47 amount=-2 +kerning first=119 second=107 amount=1 +kerning first=119 second=104 amount=1 +kerning first=119 second=102 amount=1 +kerning first=119 second=93 amount=-3 +kerning first=119 second=49 amount=-3 +kerning first=119 second=33 amount=1 +kerning first=119 second=112 amount=1 +kerning first=119 second=98 amount=1 +kerning first=119 second=40 amount=1 +kerning first=119 second=105 amount=1 +kerning first=119 second=116 amount=1 +kerning first=119 second=121 amount=2 +kerning first=119 second=59 amount=1 +kerning first=119 second=119 amount=2 +kerning first=119 second=109 amount=1 +kerning first=119 second=110 amount=1 +kerning first=119 second=120 amount=2 +kerning first=119 second=114 amount=1 +kerning first=119 second=117 amount=1 +kerning first=119 second=118 amount=2 +kerning first=119 second=35 amount=1 +kerning first=119 second=34 amount=1 +kerning first=119 second=39 amount=1 +kerning first=119 second=44 amount=-2 +kerning first=119 second=46 amount=-2 +kerning first=109 second=106 amount=1 +kerning first=109 second=55 amount=1 +kerning first=109 second=56 amount=-1 +kerning first=109 second=63 amount=-2 +kerning first=109 second=108 amount=1 +kerning first=109 second=50 amount=1 +kerning first=109 second=92 amount=-3 +kerning first=109 second=47 amount=1 +kerning first=109 second=107 amount=1 +kerning first=109 second=104 amount=1 +kerning first=109 second=102 amount=1 +kerning first=109 second=49 amount=-3 +kerning first=109 second=33 amount=1 +kerning first=109 second=51 amount=-1 +kerning first=109 second=54 amount=-1 +kerning first=109 second=57 amount=-1 +kerning first=109 second=100 amount=1 +kerning first=109 second=112 amount=1 +kerning first=109 second=98 amount=1 +kerning first=109 second=41 amount=1 +kerning first=109 second=105 amount=1 +kerning first=109 second=116 amount=1 +kerning first=109 second=121 amount=1 +kerning first=109 second=59 amount=2 +kerning first=109 second=119 amount=1 +kerning first=109 second=122 amount=1 +kerning first=109 second=110 amount=1 +kerning first=109 second=120 amount=2 +kerning first=109 second=114 amount=1 +kerning first=109 second=118 amount=1 +kerning first=109 second=111 amount=1 +kerning first=109 second=97 amount=1 +kerning first=109 second=115 amount=1 +kerning first=109 second=58 amount=1 +kerning first=109 second=34 amount=-1 +kerning first=109 second=39 amount=-1 +kerning first=109 second=44 amount=2 +kerning first=109 second=46 amount=1 +kerning first=122 second=106 amount=1 +kerning first=122 second=52 amount=-1 +kerning first=122 second=108 amount=1 +kerning first=122 second=50 amount=1 +kerning first=122 second=92 amount=-2 +kerning first=122 second=47 amount=1 +kerning first=122 second=107 amount=1 +kerning first=122 second=104 amount=1 +kerning first=122 second=102 amount=1 +kerning first=122 second=49 amount=-3 +kerning first=122 second=33 amount=1 +kerning first=122 second=100 amount=1 +kerning first=122 second=113 amount=1 +kerning first=122 second=112 amount=1 +kerning first=122 second=98 amount=1 +kerning first=122 second=40 amount=1 +kerning first=122 second=41 amount=1 +kerning first=122 second=105 amount=1 +kerning first=122 second=116 amount=2 +kerning first=122 second=121 amount=2 +kerning first=122 second=103 amount=1 +kerning first=122 second=59 amount=1 +kerning first=122 second=119 amount=2 +kerning first=122 second=109 amount=1 +kerning first=122 second=122 amount=1 +kerning first=122 second=110 amount=1 +kerning first=122 second=120 amount=2 +kerning first=122 second=114 amount=1 +kerning first=122 second=117 amount=1 +kerning first=122 second=118 amount=2 +kerning first=122 second=111 amount=1 +kerning first=122 second=99 amount=1 +kerning first=122 second=35 amount=1 +kerning first=122 second=97 amount=1 +kerning first=122 second=115 amount=1 +kerning first=122 second=58 amount=1 +kerning first=122 second=44 amount=1 +kerning first=122 second=45 amount=-1 +kerning first=122 second=46 amount=1 +kerning first=122 second=32 amount=1 +kerning first=110 second=106 amount=1 +kerning first=110 second=52 amount=1 +kerning first=110 second=55 amount=1 +kerning first=110 second=63 amount=-1 +kerning first=110 second=108 amount=1 +kerning first=110 second=50 amount=1 +kerning first=110 second=92 amount=-3 +kerning first=110 second=47 amount=1 +kerning first=110 second=107 amount=1 +kerning first=110 second=104 amount=1 +kerning first=110 second=102 amount=1 +kerning first=110 second=49 amount=-3 +kerning first=110 second=33 amount=1 +kerning first=110 second=100 amount=1 +kerning first=110 second=113 amount=1 +kerning first=110 second=112 amount=1 +kerning first=110 second=98 amount=1 +kerning first=110 second=40 amount=1 +kerning first=110 second=41 amount=1 +kerning first=110 second=105 amount=1 +kerning first=110 second=116 amount=1 +kerning first=110 second=121 amount=1 +kerning first=110 second=103 amount=1 +kerning first=110 second=59 amount=1 +kerning first=110 second=119 amount=1 +kerning first=110 second=122 amount=1 +kerning first=110 second=110 amount=1 +kerning first=110 second=120 amount=2 +kerning first=110 second=114 amount=1 +kerning first=110 second=117 amount=1 +kerning first=110 second=118 amount=1 +kerning first=110 second=111 amount=1 +kerning first=110 second=101 amount=1 +kerning first=110 second=99 amount=1 +kerning first=110 second=35 amount=1 +kerning first=110 second=97 amount=1 +kerning first=110 second=115 amount=1 +kerning first=110 second=58 amount=1 +kerning first=110 second=34 amount=-1 +kerning first=110 second=39 amount=-1 +kerning first=110 second=45 amount=1 +kerning first=110 second=46 amount=1 +kerning first=120 second=106 amount=1 +kerning first=120 second=52 amount=-1 +kerning first=120 second=53 amount=-1 +kerning first=120 second=63 amount=1 +kerning first=120 second=108 amount=1 +kerning first=120 second=64 amount=-1 +kerning first=120 second=92 amount=-1 +kerning first=120 second=47 amount=1 +kerning first=120 second=107 amount=1 +kerning first=120 second=104 amount=1 +kerning first=120 second=102 amount=1 +kerning first=120 second=93 amount=-1 +kerning first=120 second=49 amount=-3 +kerning first=120 second=33 amount=1 +kerning first=120 second=112 amount=1 +kerning first=120 second=98 amount=1 +kerning first=120 second=40 amount=1 +kerning first=120 second=105 amount=1 +kerning first=120 second=116 amount=1 +kerning first=120 second=121 amount=2 +kerning first=120 second=59 amount=1 +kerning first=120 second=119 amount=2 +kerning first=120 second=109 amount=1 +kerning first=120 second=122 amount=1 +kerning first=120 second=110 amount=1 +kerning first=120 second=120 amount=2 +kerning first=120 second=114 amount=1 +kerning first=120 second=117 amount=1 +kerning first=120 second=118 amount=2 +kerning first=120 second=35 amount=1 +kerning first=120 second=97 amount=1 +kerning first=120 second=34 amount=1 +kerning first=120 second=39 amount=1 +kerning first=120 second=44 amount=1 +kerning first=120 second=45 amount=-1 +kerning first=120 second=46 amount=1 +kerning first=120 second=32 amount=1 +kerning first=114 second=106 amount=2 +kerning first=114 second=52 amount=-1 +kerning first=114 second=55 amount=-2 +kerning first=114 second=48 amount=1 +kerning first=114 second=63 amount=1 +kerning first=114 second=108 amount=1 +kerning first=114 second=64 amount=-1 +kerning first=114 second=50 amount=-1 +kerning first=114 second=92 amount=-1 +kerning first=114 second=47 amount=-3 +kerning first=114 second=107 amount=1 +kerning first=114 second=104 amount=1 +kerning first=114 second=102 amount=1 +kerning first=114 second=93 amount=-3 +kerning first=114 second=49 amount=-3 +kerning first=114 second=33 amount=2 +kerning first=114 second=113 amount=1 +kerning first=114 second=112 amount=2 +kerning first=114 second=98 amount=1 +kerning first=114 second=40 amount=1 +kerning first=114 second=105 amount=2 +kerning first=114 second=116 amount=1 +kerning first=114 second=121 amount=2 +kerning first=114 second=103 amount=1 +kerning first=114 second=59 amount=1 +kerning first=114 second=119 amount=3 +kerning first=114 second=109 amount=1 +kerning first=114 second=122 amount=1 +kerning first=114 second=110 amount=2 +kerning first=114 second=120 amount=2 +kerning first=114 second=114 amount=2 +kerning first=114 second=117 amount=2 +kerning first=114 second=118 amount=3 +kerning first=114 second=111 amount=1 +kerning first=114 second=35 amount=1 +kerning first=114 second=97 amount=1 +kerning first=114 second=34 amount=1 +kerning first=114 second=39 amount=2 +kerning first=114 second=44 amount=-3 +kerning first=114 second=45 amount=-2 +kerning first=114 second=46 amount=-3 +kerning first=117 second=106 amount=1 +kerning first=117 second=52 amount=1 +kerning first=117 second=56 amount=-1 +kerning first=117 second=63 amount=-1 +kerning first=117 second=108 amount=1 +kerning first=117 second=50 amount=-1 +kerning first=117 second=92 amount=-2 +kerning first=117 second=107 amount=1 +kerning first=117 second=104 amount=1 +kerning first=117 second=102 amount=1 +kerning first=117 second=93 amount=-1 +kerning first=117 second=49 amount=-3 +kerning first=117 second=33 amount=1 +kerning first=117 second=51 amount=-1 +kerning first=117 second=100 amount=1 +kerning first=117 second=113 amount=1 +kerning first=117 second=112 amount=1 +kerning first=117 second=98 amount=1 +kerning first=117 second=40 amount=1 +kerning first=117 second=105 amount=1 +kerning first=117 second=116 amount=2 +kerning first=117 second=121 amount=2 +kerning first=117 second=103 amount=1 +kerning first=117 second=59 amount=1 +kerning first=117 second=119 amount=2 +kerning first=117 second=109 amount=1 +kerning first=117 second=110 amount=1 +kerning first=117 second=120 amount=1 +kerning first=117 second=114 amount=1 +kerning first=117 second=117 amount=1 +kerning first=117 second=118 amount=2 +kerning first=117 second=111 amount=1 +kerning first=117 second=101 amount=1 +kerning first=117 second=99 amount=1 +kerning first=117 second=35 amount=1 +kerning first=117 second=97 amount=1 +kerning first=117 second=115 amount=1 +kerning first=117 second=34 amount=-2 +kerning first=117 second=39 amount=-2 +kerning first=117 second=44 amount=-1 +kerning first=117 second=45 amount=1 +kerning first=118 second=106 amount=2 +kerning first=118 second=55 amount=-2 +kerning first=118 second=48 amount=1 +kerning first=118 second=63 amount=1 +kerning first=118 second=108 amount=2 +kerning first=118 second=50 amount=-1 +kerning first=118 second=92 amount=-1 +kerning first=118 second=47 amount=-1 +kerning first=118 second=107 amount=2 +kerning first=118 second=104 amount=1 +kerning first=118 second=102 amount=2 +kerning first=118 second=93 amount=-2 +kerning first=118 second=49 amount=-3 +kerning first=118 second=33 amount=2 +kerning first=118 second=54 amount=1 +kerning first=118 second=57 amount=1 +kerning first=118 second=100 amount=1 +kerning first=118 second=113 amount=1 +kerning first=118 second=112 amount=2 +kerning first=118 second=98 amount=1 +kerning first=118 second=40 amount=2 +kerning first=118 second=105 amount=2 +kerning first=118 second=116 amount=2 +kerning first=118 second=121 amount=2 +kerning first=118 second=103 amount=1 +kerning first=118 second=59 amount=1 +kerning first=118 second=119 amount=3 +kerning first=118 second=109 amount=2 +kerning first=118 second=122 amount=1 +kerning first=118 second=110 amount=2 +kerning first=118 second=120 amount=2 +kerning first=118 second=114 amount=2 +kerning first=118 second=117 amount=2 +kerning first=118 second=118 amount=3 +kerning first=118 second=111 amount=1 +kerning first=118 second=101 amount=1 +kerning first=118 second=99 amount=1 +kerning first=118 second=35 amount=2 +kerning first=118 second=97 amount=1 +kerning first=118 second=115 amount=1 +kerning first=118 second=58 amount=1 +kerning first=118 second=34 amount=1 +kerning first=118 second=39 amount=1 +kerning first=118 second=44 amount=-2 +kerning first=118 second=46 amount=-2 +kerning first=118 second=32 amount=1 +kerning first=111 second=106 amount=1 +kerning first=111 second=52 amount=1 +kerning first=111 second=53 amount=1 +kerning first=111 second=63 amount=-1 +kerning first=111 second=108 amount=1 +kerning first=111 second=64 amount=1 +kerning first=111 second=92 amount=-3 +kerning first=111 second=47 amount=1 +kerning first=111 second=107 amount=1 +kerning first=111 second=104 amount=1 +kerning first=111 second=102 amount=1 +kerning first=111 second=93 amount=-1 +kerning first=111 second=49 amount=-3 +kerning first=111 second=33 amount=1 +kerning first=111 second=100 amount=1 +kerning first=111 second=113 amount=1 +kerning first=111 second=112 amount=1 +kerning first=111 second=98 amount=1 +kerning first=111 second=40 amount=1 +kerning first=111 second=105 amount=1 +kerning first=111 second=116 amount=2 +kerning first=111 second=121 amount=1 +kerning first=111 second=103 amount=1 +kerning first=111 second=59 amount=1 +kerning first=111 second=119 amount=2 +kerning first=111 second=109 amount=1 +kerning first=111 second=110 amount=1 +kerning first=111 second=120 amount=1 +kerning first=111 second=114 amount=1 +kerning first=111 second=117 amount=1 +kerning first=111 second=118 amount=1 +kerning first=111 second=111 amount=1 +kerning first=111 second=101 amount=1 +kerning first=111 second=99 amount=1 +kerning first=111 second=35 amount=1 +kerning first=111 second=97 amount=1 +kerning first=111 second=115 amount=1 +kerning first=111 second=34 amount=-2 +kerning first=111 second=39 amount=-2 +kerning first=111 second=45 amount=1 +kerning first=111 second=46 amount=1 +kerning first=101 second=106 amount=1 +kerning first=101 second=52 amount=1 +kerning first=101 second=53 amount=1 +kerning first=101 second=55 amount=1 +kerning first=101 second=56 amount=1 +kerning first=101 second=63 amount=-1 +kerning first=101 second=108 amount=2 +kerning first=101 second=64 amount=1 +kerning first=101 second=50 amount=1 +kerning first=101 second=92 amount=-2 +kerning first=101 second=47 amount=2 +kerning first=101 second=107 amount=2 +kerning first=101 second=104 amount=1 +kerning first=101 second=102 amount=1 +kerning first=101 second=49 amount=-2 +kerning first=101 second=33 amount=1 +kerning first=101 second=51 amount=1 +kerning first=101 second=57 amount=1 +kerning first=101 second=100 amount=2 +kerning first=101 second=113 amount=1 +kerning first=101 second=112 amount=1 +kerning first=101 second=98 amount=1 +kerning first=101 second=40 amount=1 +kerning first=101 second=41 amount=1 +kerning first=101 second=105 amount=2 +kerning first=101 second=116 amount=2 +kerning first=101 second=121 amount=1 +kerning first=101 second=103 amount=1 +kerning first=101 second=59 amount=1 +kerning first=101 second=119 amount=2 +kerning first=101 second=109 amount=1 +kerning first=101 second=122 amount=1 +kerning first=101 second=110 amount=2 +kerning first=101 second=120 amount=2 +kerning first=101 second=114 amount=2 +kerning first=101 second=117 amount=2 +kerning first=101 second=118 amount=2 +kerning first=101 second=111 amount=2 +kerning first=101 second=101 amount=1 +kerning first=101 second=99 amount=2 +kerning first=101 second=35 amount=1 +kerning first=101 second=97 amount=2 +kerning first=101 second=115 amount=2 +kerning first=101 second=58 amount=1 +kerning first=101 second=34 amount=-1 +kerning first=101 second=39 amount=-1 +kerning first=101 second=44 amount=1 +kerning first=101 second=45 amount=1 +kerning first=101 second=46 amount=2 +kerning first=99 second=106 amount=1 +kerning first=99 second=52 amount=1 +kerning first=99 second=53 amount=1 +kerning first=99 second=63 amount=-1 +kerning first=99 second=108 amount=1 +kerning first=99 second=50 amount=-1 +kerning first=99 second=92 amount=-3 +kerning first=99 second=107 amount=1 +kerning first=99 second=104 amount=1 +kerning first=99 second=102 amount=1 +kerning first=99 second=93 amount=-1 +kerning first=99 second=49 amount=-4 +kerning first=99 second=33 amount=1 +kerning first=99 second=100 amount=1 +kerning first=99 second=113 amount=1 +kerning first=99 second=112 amount=1 +kerning first=99 second=98 amount=1 +kerning first=99 second=40 amount=1 +kerning first=99 second=105 amount=1 +kerning first=99 second=116 amount=1 +kerning first=99 second=121 amount=1 +kerning first=99 second=103 amount=1 +kerning first=99 second=119 amount=1 +kerning first=99 second=110 amount=1 +kerning first=99 second=120 amount=1 +kerning first=99 second=114 amount=1 +kerning first=99 second=117 amount=1 +kerning first=99 second=118 amount=1 +kerning first=99 second=111 amount=1 +kerning first=99 second=101 amount=1 +kerning first=99 second=99 amount=1 +kerning first=99 second=35 amount=1 +kerning first=99 second=97 amount=1 +kerning first=99 second=115 amount=1 +kerning first=99 second=58 amount=1 +kerning first=99 second=34 amount=-2 +kerning first=99 second=39 amount=-2 +kerning first=99 second=45 amount=1 +kerning first=99 second=46 amount=1 +kerning first=35 second=106 amount=1 +kerning first=35 second=81 amount=1 +kerning first=35 second=90 amount=-3 +kerning first=35 second=88 amount=-2 +kerning first=35 second=89 amount=-1 +kerning first=35 second=65 amount=-1 +kerning first=35 second=53 amount=-1 +kerning first=35 second=85 amount=1 +kerning first=35 second=55 amount=-1 +kerning first=35 second=74 amount=-1 +kerning first=35 second=56 amount=-1 +kerning first=35 second=63 amount=1 +kerning first=35 second=108 amount=1 +kerning first=35 second=50 amount=-1 +kerning first=35 second=92 amount=-1 +kerning first=35 second=47 amount=-3 +kerning first=35 second=71 amount=1 +kerning first=35 second=107 amount=1 +kerning first=35 second=72 amount=1 +kerning first=35 second=102 amount=1 +kerning first=35 second=93 amount=-2 +kerning first=35 second=49 amount=-3 +kerning first=35 second=33 amount=1 +kerning first=35 second=79 amount=1 +kerning first=35 second=51 amount=-1 +kerning first=35 second=57 amount=-1 +kerning first=35 second=67 amount=1 +kerning first=35 second=113 amount=1 +kerning first=35 second=112 amount=1 +kerning first=35 second=40 amount=1 +kerning first=35 second=41 amount=-1 +kerning first=35 second=105 amount=1 +kerning first=35 second=116 amount=2 +kerning first=35 second=121 amount=1 +kerning first=35 second=103 amount=1 +kerning first=35 second=119 amount=2 +kerning first=35 second=109 amount=1 +kerning first=35 second=122 amount=-1 +kerning first=35 second=110 amount=1 +kerning first=35 second=120 amount=1 +kerning first=35 second=114 amount=1 +kerning first=35 second=117 amount=1 +kerning first=35 second=118 amount=2 +kerning first=35 second=111 amount=1 +kerning first=35 second=99 amount=1 +kerning first=35 second=97 amount=1 +kerning first=35 second=34 amount=1 +kerning first=35 second=39 amount=1 +kerning first=35 second=44 amount=-5 +kerning first=35 second=46 amount=-3 +kerning first=97 second=106 amount=1 +kerning first=97 second=55 amount=1 +kerning first=97 second=48 amount=-1 +kerning first=97 second=63 amount=-2 +kerning first=97 second=108 amount=1 +kerning first=97 second=50 amount=1 +kerning first=97 second=92 amount=-4 +kerning first=97 second=47 amount=1 +kerning first=97 second=107 amount=1 +kerning first=97 second=104 amount=1 +kerning first=97 second=49 amount=-3 +kerning first=97 second=33 amount=1 +kerning first=97 second=54 amount=-1 +kerning first=97 second=57 amount=-1 +kerning first=97 second=100 amount=1 +kerning first=97 second=112 amount=1 +kerning first=97 second=98 amount=1 +kerning first=97 second=41 amount=1 +kerning first=97 second=105 amount=1 +kerning first=97 second=116 amount=1 +kerning first=97 second=103 amount=1 +kerning first=97 second=59 amount=1 +kerning first=97 second=119 amount=1 +kerning first=97 second=122 amount=1 +kerning first=97 second=110 amount=1 +kerning first=97 second=120 amount=2 +kerning first=97 second=114 amount=1 +kerning first=97 second=117 amount=1 +kerning first=97 second=118 amount=1 +kerning first=97 second=111 amount=1 +kerning first=97 second=99 amount=1 +kerning first=97 second=97 amount=1 +kerning first=97 second=115 amount=1 +kerning first=97 second=58 amount=1 +kerning first=97 second=34 amount=-3 +kerning first=97 second=39 amount=-2 +kerning first=97 second=44 amount=1 +kerning first=97 second=46 amount=1 +kerning first=115 second=106 amount=1 +kerning first=115 second=53 amount=1 +kerning first=115 second=63 amount=-1 +kerning first=115 second=108 amount=1 +kerning first=115 second=92 amount=-3 +kerning first=115 second=47 amount=1 +kerning first=115 second=107 amount=1 +kerning first=115 second=104 amount=1 +kerning first=115 second=102 amount=1 +kerning first=115 second=49 amount=-3 +kerning first=115 second=33 amount=1 +kerning first=115 second=100 amount=1 +kerning first=115 second=113 amount=1 +kerning first=115 second=112 amount=1 +kerning first=115 second=98 amount=1 +kerning first=115 second=40 amount=1 +kerning first=115 second=41 amount=1 +kerning first=115 second=105 amount=1 +kerning first=115 second=116 amount=2 +kerning first=115 second=121 amount=1 +kerning first=115 second=103 amount=1 +kerning first=115 second=59 amount=1 +kerning first=115 second=119 amount=2 +kerning first=115 second=109 amount=1 +kerning first=115 second=122 amount=1 +kerning first=115 second=110 amount=1 +kerning first=115 second=120 amount=1 +kerning first=115 second=114 amount=1 +kerning first=115 second=117 amount=1 +kerning first=115 second=118 amount=1 +kerning first=115 second=111 amount=1 +kerning first=115 second=101 amount=1 +kerning first=115 second=99 amount=1 +kerning first=115 second=35 amount=1 +kerning first=115 second=97 amount=2 +kerning first=115 second=115 amount=1 +kerning first=115 second=58 amount=1 +kerning first=115 second=34 amount=-2 +kerning first=115 second=39 amount=-2 +kerning first=115 second=46 amount=1 +kerning first=58 second=87 amount=-1 +kerning first=58 second=77 amount=-1 +kerning first=58 second=89 amount=-2 +kerning first=58 second=65 amount=-1 +kerning first=58 second=86 amount=-1 +kerning first=58 second=52 amount=-1 +kerning first=58 second=53 amount=-1 +kerning first=58 second=55 amount=-1 +kerning first=58 second=84 amount=-3 +kerning first=58 second=48 amount=-1 +kerning first=58 second=74 amount=-2 +kerning first=58 second=56 amount=-1 +kerning first=58 second=63 amount=-1 +kerning first=58 second=64 amount=-1 +kerning first=58 second=50 amount=-1 +kerning first=58 second=92 amount=-3 +kerning first=58 second=93 amount=-1 +kerning first=58 second=49 amount=-4 +kerning first=58 second=51 amount=-1 +kerning first=58 second=54 amount=-1 +kerning first=58 second=57 amount=-1 +kerning first=58 second=116 amount=1 +kerning first=58 second=121 amount=1 +kerning first=58 second=119 amount=1 +kerning first=58 second=120 amount=1 +kerning first=58 second=114 amount=1 +kerning first=58 second=118 amount=1 +kerning first=58 second=58 amount=-1 +kerning first=58 second=34 amount=-3 +kerning first=58 second=39 amount=-1 +kerning first=58 second=45 amount=-2 +kerning first=42 second=83 amount=1 +kerning first=42 second=93 amount=1 +kerning first=42 second=113 amount=1 +kerning first=42 second=103 amount=1 +kerning first=34 second=106 amount=1 +kerning first=34 second=87 amount=1 +kerning first=34 second=90 amount=-1 +kerning first=34 second=88 amount=1 +kerning first=34 second=89 amount=1 +kerning first=34 second=65 amount=-3 +kerning first=34 second=75 amount=1 +kerning first=34 second=86 amount=1 +kerning first=34 second=52 amount=-3 +kerning first=34 second=53 amount=-1 +kerning first=34 second=85 amount=1 +kerning first=34 second=84 amount=1 +kerning first=34 second=48 amount=-1 +kerning first=34 second=76 amount=1 +kerning first=34 second=74 amount=-5 +kerning first=34 second=56 amount=-1 +kerning first=34 second=80 amount=1 +kerning first=34 second=63 amount=1 +kerning first=34 second=108 amount=1 +kerning first=34 second=64 amount=-4 +kerning first=34 second=82 amount=1 +kerning first=34 second=50 amount=-1 +kerning first=34 second=92 amount=1 +kerning first=34 second=47 amount=-1 +kerning first=34 second=107 amount=1 +kerning first=34 second=66 amount=1 +kerning first=34 second=102 amount=-1 +kerning first=34 second=93 amount=1 +kerning first=34 second=49 amount=-2 +kerning first=34 second=73 amount=1 +kerning first=34 second=33 amount=1 +kerning first=34 second=51 amount=-1 +kerning first=34 second=54 amount=-1 +kerning first=34 second=57 amount=-1 +kerning first=34 second=100 amount=-2 +kerning first=34 second=113 amount=-1 +kerning first=34 second=112 amount=1 +kerning first=34 second=98 amount=1 +kerning first=34 second=41 amount=1 +kerning first=34 second=105 amount=1 +kerning first=34 second=116 amount=-1 +kerning first=34 second=121 amount=2 +kerning first=34 second=103 amount=-1 +kerning first=34 second=119 amount=1 +kerning first=34 second=109 amount=1 +kerning first=34 second=122 amount=-1 +kerning first=34 second=110 amount=1 +kerning first=34 second=120 amount=1 +kerning first=34 second=117 amount=1 +kerning first=34 second=118 amount=1 +kerning first=34 second=111 amount=-1 +kerning first=34 second=101 amount=-2 +kerning first=34 second=99 amount=-2 +kerning first=34 second=35 amount=-1 +kerning first=34 second=97 amount=-2 +kerning first=34 second=115 amount=-1 +kerning first=34 second=34 amount=1 +kerning first=34 second=39 amount=1 +kerning first=34 second=44 amount=-3 +kerning first=34 second=45 amount=-1 +kerning first=34 second=46 amount=-2 +kerning first=39 second=87 amount=1 +kerning first=39 second=90 amount=-1 +kerning first=39 second=88 amount=1 +kerning first=39 second=89 amount=1 +kerning first=39 second=65 amount=-3 +kerning first=39 second=75 amount=1 +kerning first=39 second=86 amount=2 +kerning first=39 second=52 amount=-2 +kerning first=39 second=78 amount=1 +kerning first=39 second=53 amount=-1 +kerning first=39 second=85 amount=1 +kerning first=39 second=84 amount=1 +kerning first=39 second=68 amount=1 +kerning first=39 second=76 amount=1 +kerning first=39 second=74 amount=-4 +kerning first=39 second=80 amount=1 +kerning first=39 second=63 amount=1 +kerning first=39 second=69 amount=1 +kerning first=39 second=108 amount=1 +kerning first=39 second=64 amount=-5 +kerning first=39 second=82 amount=1 +kerning first=39 second=50 amount=-1 +kerning first=39 second=92 amount=2 +kerning first=39 second=47 amount=-5 +kerning first=39 second=107 amount=1 +kerning first=39 second=66 amount=1 +kerning first=39 second=104 amount=1 +kerning first=39 second=102 amount=-1 +kerning first=39 second=93 amount=1 +kerning first=39 second=49 amount=-1 +kerning first=39 second=73 amount=1 +kerning first=39 second=33 amount=1 +kerning first=39 second=54 amount=-1 +kerning first=39 second=100 amount=-2 +kerning first=39 second=113 amount=-2 +kerning first=39 second=98 amount=1 +kerning first=39 second=41 amount=1 +kerning first=39 second=105 amount=1 +kerning first=39 second=116 amount=-1 +kerning first=39 second=121 amount=1 +kerning first=39 second=103 amount=-1 +kerning first=39 second=59 amount=-1 +kerning first=39 second=122 amount=-1 +kerning first=39 second=114 amount=-1 +kerning first=39 second=118 amount=1 +kerning first=39 second=111 amount=-2 +kerning first=39 second=101 amount=-2 +kerning first=39 second=99 amount=-2 +kerning first=39 second=35 amount=-1 +kerning first=39 second=97 amount=-1 +kerning first=39 second=115 amount=-2 +kerning first=39 second=58 amount=-1 +kerning first=39 second=34 amount=1 +kerning first=39 second=39 amount=1 +kerning first=39 second=44 amount=-3 +kerning first=39 second=45 amount=-2 +kerning first=39 second=46 amount=-1 +kerning first=44 second=106 amount=1 +kerning first=44 second=87 amount=-3 +kerning first=44 second=81 amount=-2 +kerning first=44 second=90 amount=2 +kerning first=44 second=88 amount=1 +kerning first=44 second=89 amount=-3 +kerning first=44 second=65 amount=1 +kerning first=44 second=86 amount=-2 +kerning first=44 second=52 amount=-3 +kerning first=44 second=85 amount=-1 +kerning first=44 second=55 amount=1 +kerning first=44 second=84 amount=-1 +kerning first=44 second=83 amount=-1 +kerning first=44 second=48 amount=-2 +kerning first=44 second=74 amount=-2 +kerning first=44 second=56 amount=-1 +kerning first=44 second=80 amount=1 +kerning first=44 second=63 amount=-2 +kerning first=44 second=108 amount=1 +kerning first=44 second=64 amount=-1 +kerning first=44 second=50 amount=1 +kerning first=44 second=92 amount=-4 +kerning first=44 second=47 amount=2 +kerning first=44 second=71 amount=-1 +kerning first=44 second=107 amount=1 +kerning first=44 second=102 amount=-1 +kerning first=44 second=49 amount=-3 +kerning first=44 second=73 amount=1 +kerning first=44 second=33 amount=1 +kerning first=44 second=79 amount=-2 +kerning first=44 second=51 amount=-1 +kerning first=44 second=54 amount=-2 +kerning first=44 second=57 amount=-2 +kerning first=44 second=70 amount=1 +kerning first=44 second=113 amount=-1 +kerning first=44 second=98 amount=1 +kerning first=44 second=41 amount=1 +kerning first=44 second=105 amount=1 +kerning first=44 second=116 amount=-1 +kerning first=44 second=121 amount=-2 +kerning first=44 second=59 amount=2 +kerning first=44 second=119 amount=-1 +kerning first=44 second=109 amount=-1 +kerning first=44 second=122 amount=1 +kerning first=44 second=110 amount=1 +kerning first=44 second=120 amount=1 +kerning first=44 second=114 amount=1 +kerning first=44 second=118 amount=-1 +kerning first=44 second=35 amount=-3 +kerning first=44 second=97 amount=1 +kerning first=44 second=58 amount=1 +kerning first=44 second=34 amount=-3 +kerning first=44 second=39 amount=-4 +kerning first=44 second=44 amount=1 +kerning first=44 second=45 amount=-3 +kerning first=44 second=46 amount=1 +kerning first=45 second=87 amount=-1 +kerning first=45 second=81 amount=1 +kerning first=45 second=90 amount=-2 +kerning first=45 second=88 amount=-2 +kerning first=45 second=89 amount=-3 +kerning first=45 second=65 amount=-1 +kerning first=45 second=86 amount=-1 +kerning first=45 second=52 amount=1 +kerning first=45 second=53 amount=-1 +kerning first=45 second=55 amount=-3 +kerning first=45 second=84 amount=-2 +kerning first=45 second=83 amount=-2 +kerning first=45 second=56 amount=-2 +kerning first=45 second=63 amount=-1 +kerning first=45 second=108 amount=1 +kerning first=45 second=50 amount=-4 +kerning first=45 second=92 amount=-4 +kerning first=45 second=47 amount=-2 +kerning first=45 second=71 amount=1 +kerning first=45 second=107 amount=1 +kerning first=45 second=72 amount=1 +kerning first=45 second=93 amount=-4 +kerning first=45 second=49 amount=-4 +kerning first=45 second=33 amount=1 +kerning first=45 second=79 amount=1 +kerning first=45 second=51 amount=-2 +kerning first=45 second=57 amount=-1 +kerning first=45 second=67 amount=1 +kerning first=45 second=100 amount=1 +kerning first=45 second=113 amount=1 +kerning first=45 second=40 amount=1 +kerning first=45 second=41 amount=-1 +kerning first=45 second=105 amount=1 +kerning first=45 second=116 amount=1 +kerning first=45 second=103 amount=1 +kerning first=45 second=119 amount=1 +kerning first=45 second=122 amount=-2 +kerning first=45 second=110 amount=1 +kerning first=45 second=120 amount=-1 +kerning first=45 second=114 amount=1 +kerning first=45 second=117 amount=1 +kerning first=45 second=118 amount=1 +kerning first=45 second=111 amount=1 +kerning first=45 second=101 amount=1 +kerning first=45 second=99 amount=1 +kerning first=45 second=35 amount=1 +kerning first=45 second=58 amount=-1 +kerning first=45 second=34 amount=-1 +kerning first=45 second=39 amount=-1 +kerning first=45 second=44 amount=-3 +kerning first=45 second=45 amount=1 +kerning first=45 second=46 amount=-3 +kerning first=46 second=106 amount=1 +kerning first=46 second=87 amount=-2 +kerning first=46 second=90 amount=2 +kerning first=46 second=88 amount=1 +kerning first=46 second=89 amount=-3 +kerning first=46 second=65 amount=1 +kerning first=46 second=86 amount=-1 +kerning first=46 second=52 amount=-3 +kerning first=46 second=53 amount=1 +kerning first=46 second=85 amount=-1 +kerning first=46 second=55 amount=1 +kerning first=46 second=84 amount=-2 +kerning first=46 second=48 amount=-1 +kerning first=46 second=74 amount=-1 +kerning first=46 second=80 amount=1 +kerning first=46 second=63 amount=-2 +kerning first=46 second=108 amount=1 +kerning first=46 second=50 amount=1 +kerning first=46 second=92 amount=-5 +kerning first=46 second=47 amount=2 +kerning first=46 second=107 amount=1 +kerning first=46 second=104 amount=1 +kerning first=46 second=102 amount=-1 +kerning first=46 second=49 amount=-3 +kerning first=46 second=73 amount=1 +kerning first=46 second=33 amount=1 +kerning first=46 second=79 amount=-1 +kerning first=46 second=54 amount=-1 +kerning first=46 second=100 amount=1 +kerning first=46 second=112 amount=1 +kerning first=46 second=98 amount=1 +kerning first=46 second=41 amount=1 +kerning first=46 second=105 amount=1 +kerning first=46 second=116 amount=-1 +kerning first=46 second=121 amount=-2 +kerning first=46 second=103 amount=1 +kerning first=46 second=59 amount=1 +kerning first=46 second=122 amount=1 +kerning first=46 second=110 amount=1 +kerning first=46 second=120 amount=2 +kerning first=46 second=114 amount=1 +kerning first=46 second=117 amount=1 +kerning first=46 second=118 amount=-1 +kerning first=46 second=111 amount=1 +kerning first=46 second=101 amount=1 +kerning first=46 second=99 amount=1 +kerning first=46 second=35 amount=-5 +kerning first=46 second=97 amount=1 +kerning first=46 second=115 amount=1 +kerning first=46 second=58 amount=1 +kerning first=46 second=34 amount=-5 +kerning first=46 second=39 amount=-1 +kerning first=46 second=44 amount=1 +kerning first=46 second=45 amount=-2 +kerning first=46 second=46 amount=1 +kerning first=126 second=33 amount=-1 +kerning first=126 second=32 amount=-1 +kerning first=32 second=53 amount=-1 +kerning first=32 second=83 amount=1 +kerning first=32 second=123 amount=1 diff --git a/tests/cpp-tests/Resources/fonts/markerFelt.png b/tests/cpp-tests/Resources/fonts/markerFelt.png new file mode 100755 index 0000000000..8651e05e32 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/markerFelt.png differ diff --git a/tests/cpp-tests/Resources/fonts/strings.xml b/tests/cpp-tests/Resources/fonts/strings.xml new file mode 100755 index 0000000000..0cf865c3bc --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/strings.xml @@ -0,0 +1,14 @@ + + + + + chinese1 + 美好的一天 + japanese + 良ã„一日を + russian + Хорошего Ð´Ð½Ñ + spanish + Buen día + + diff --git a/tests/cpp-tests/Resources/fonts/tahoma.ttf b/tests/cpp-tests/Resources/fonts/tahoma.ttf new file mode 100755 index 0000000000..3f8554bba4 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/tahoma.ttf differ diff --git a/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.plist b/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.plist new file mode 100755 index 0000000000..e906288c7c --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.plist @@ -0,0 +1,16 @@ + + + + + version + 1 + textureFilename + tuffy_bold_italic-charmap.png + itemHeight + 64 + itemWidth + 48 + firstChar + 32 + + diff --git a/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.png b/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.png new file mode 100755 index 0000000000..c39d1a9a4b Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/tuffy_bold_italic-charmap.png differ diff --git a/tests/cpp-tests/Resources/fonts/west_england-64.fnt b/tests/cpp-tests/Resources/fonts/west_england-64.fnt new file mode 100755 index 0000000000..0663d7de12 --- /dev/null +++ b/tests/cpp-tests/Resources/fonts/west_england-64.fnt @@ -0,0 +1,99 @@ +info face="West_england" size=64 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=48 base=36 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="west_england-64.png" +chars count=95 +char id=39 x=2 y=2 width=44 height=52 xoffset=-1 yoffset=-1 xadvance=44 page=0 chnl=0 letter="'" +char id=96 x=48 y=2 width=24 height=52 xoffset=-1 yoffset=-1 xadvance=24 page=0 chnl=0 letter="`" +char id=106 x=74 y=2 width=32 height=44 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="j" +char id=94 x=108 y=2 width=32 height=44 xoffset=7 yoffset=-1 xadvance=40 page=0 chnl=0 letter="^" +char id=124 x=142 y=2 width=20 height=44 xoffset=11 yoffset=3 xadvance=32 page=0 chnl=0 letter="|" +char id=47 x=164 y=2 width=44 height=40 xoffset=-1 yoffset=3 xadvance=44 page=0 chnl=0 letter="/" +char id=123 x=210 y=2 width=40 height=40 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="{" +char id=125 x=252 y=2 width=40 height=40 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="}" +char id=81 x=294 y=2 width=36 height=40 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="Q" +char id=121 x=332 y=2 width=36 height=40 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="y" +char id=92 x=370 y=2 width=36 height=40 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="\" +char id=112 x=408 y=2 width=36 height=40 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="p" +char id=113 x=446 y=2 width=36 height=40 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="q" +char id=36 x=2 y=56 width=32 height=40 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="$" +char id=60 x=36 y=56 width=28 height=40 xoffset=7 yoffset=3 xadvance=36 page=0 chnl=0 letter="<" +char id=62 x=66 y=56 width=28 height=40 xoffset=7 yoffset=3 xadvance=36 page=0 chnl=0 letter=">" +char id=40 x=96 y=56 width=16 height=40 xoffset=19 yoffset=3 xadvance=36 page=0 chnl=0 letter="(" +char id=41 x=114 y=56 width=16 height=40 xoffset=7 yoffset=3 xadvance=24 page=0 chnl=0 letter=")" +char id=59 x=132 y=56 width=16 height=40 xoffset=7 yoffset=11 xadvance=24 page=0 chnl=0 letter=";" +char id=37 x=150 y=56 width=40 height=36 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="%" +char id=87 x=192 y=56 width=40 height=36 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="W" +char id=77 x=234 y=56 width=40 height=36 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="M" +char id=88 x=276 y=56 width=40 height=36 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="X" +char id=52 x=318 y=56 width=40 height=36 xoffset=3 yoffset=3 xadvance=44 page=0 chnl=0 letter="4" +char id=64 x=360 y=56 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="@" +char id=79 x=398 y=56 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="O" +char id=71 x=436 y=56 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="G" +char id=67 x=474 y=56 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="C" +char id=38 x=2 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="&" +char id=83 x=40 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="S" +char id=103 x=78 y=98 width=36 height=36 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="g" +char id=85 x=116 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="U" +char id=51 x=154 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="3" +char id=53 x=192 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="5" +char id=54 x=230 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="6" +char id=56 x=268 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="8" +char id=57 x=306 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="9" +char id=48 x=344 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="0" +char id=63 x=382 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="?" +char id=98 x=420 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="b" +char id=100 x=458 y=98 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="d" +char id=102 x=2 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="f" +char id=65 x=40 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="A" +char id=86 x=78 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="V" +char id=89 x=116 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="Y" +char id=82 x=154 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="R" +char id=68 x=192 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="D" +char id=75 x=230 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="K" +char id=72 x=268 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="H" +char id=78 x=306 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="N" +char id=84 x=344 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="T" +char id=90 x=382 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="Z" +char id=66 x=420 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="B" +char id=80 x=458 y=136 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="P" +char id=50 x=2 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="2" +char id=55 x=40 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="7" +char id=104 x=78 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="h" +char id=107 x=116 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="k" +char id=49 x=154 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="1" +char id=116 x=192 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="t" +char id=105 x=230 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="i" +char id=108 x=268 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="l" +char id=95 x=306 y=174 width=36 height=36 xoffset=3 yoffset=3 xadvance=40 page=0 chnl=0 letter="_" +char id=35 x=344 y=174 width=32 height=36 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="#" +char id=74 x=378 y=174 width=32 height=36 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="J" +char id=69 x=412 y=174 width=32 height=36 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="E" +char id=70 x=446 y=174 width=32 height=36 xoffset=3 yoffset=3 xadvance=36 page=0 chnl=0 letter="F" +char id=76 x=2 y=212 width=32 height=36 xoffset=7 yoffset=3 xadvance=40 page=0 chnl=0 letter="L" +char id=73 x=36 y=212 width=28 height=36 xoffset=7 yoffset=3 xadvance=36 page=0 chnl=0 letter="I" +char id=33 x=66 y=212 width=12 height=36 xoffset=15 yoffset=3 xadvance=28 page=0 chnl=0 letter="!" +char id=91 x=80 y=212 width=36 height=32 xoffset=3 yoffset=7 xadvance=40 page=0 chnl=0 letter="[" +char id=93 x=118 y=212 width=36 height=32 xoffset=3 yoffset=7 xadvance=40 page=0 chnl=0 letter="]" +char id=126 x=156 y=212 width=36 height=32 xoffset=3 yoffset=7 xadvance=40 page=0 chnl=0 letter="~" +char id=109 x=194 y=212 width=40 height=28 xoffset=3 yoffset=11 xadvance=44 page=0 chnl=0 letter="m" +char id=119 x=236 y=212 width=40 height=28 xoffset=3 yoffset=11 xadvance=44 page=0 chnl=0 letter="w" +char id=111 x=278 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="o" +char id=97 x=316 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="a" +char id=101 x=354 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="e" +char id=99 x=392 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="c" +char id=115 x=430 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="s" +char id=117 x=468 y=212 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="u" +char id=118 x=2 y=250 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="v" +char id=120 x=40 y=250 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="x" +char id=110 x=78 y=250 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="n" +char id=114 x=116 y=250 width=36 height=28 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="r" +char id=122 x=154 y=250 width=32 height=28 xoffset=3 yoffset=11 xadvance=36 page=0 chnl=0 letter="z" +char id=58 x=188 y=250 width=12 height=28 xoffset=11 yoffset=11 xadvance=24 page=0 chnl=0 letter=":" +char id=43 x=202 y=250 width=36 height=24 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="+" +char id=42 x=240 y=250 width=36 height=24 xoffset=3 yoffset=11 xadvance=40 page=0 chnl=0 letter="*" +char id=44 x=278 y=250 width=16 height=24 xoffset=7 yoffset=27 xadvance=24 page=0 chnl=0 letter="," +char id=61 x=296 y=250 width=36 height=16 xoffset=3 yoffset=15 xadvance=40 page=0 chnl=0 letter="=" +char id=34 x=334 y=250 width=28 height=16 xoffset=7 yoffset=3 xadvance=36 page=0 chnl=0 letter=""" +char id=46 x=364 y=250 width=12 height=12 xoffset=11 yoffset=27 xadvance=24 page=0 chnl=0 letter="." +char id=45 x=378 y=250 width=36 height=8 xoffset=3 yoffset=19 xadvance=40 page=0 chnl=0 letter="-" +char id=32 x=416 y=250 width=0 height=0 xoffset=-104 yoffset=156 xadvance=16 page=0 chnl=0 letter="space" diff --git a/tests/cpp-tests/Resources/fonts/west_england-64.png b/tests/cpp-tests/Resources/fonts/west_england-64.png new file mode 100755 index 0000000000..cadb3fd2d6 Binary files /dev/null and b/tests/cpp-tests/Resources/fonts/west_england-64.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/CyanSquare.png b/tests/cpp-tests/Resources/hd/Images/CyanSquare.png new file mode 100755 index 0000000000..509961b3d3 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/CyanSquare.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/Icon.png b/tests/cpp-tests/Resources/hd/Images/Icon.png new file mode 100755 index 0000000000..e42124a15c Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/Icon.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/MagentaSquare.png b/tests/cpp-tests/Resources/hd/Images/MagentaSquare.png new file mode 100755 index 0000000000..14411c7f30 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/MagentaSquare.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/YellowSquare.png b/tests/cpp-tests/Resources/hd/Images/YellowSquare.png new file mode 100755 index 0000000000..5975e65716 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/YellowSquare.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/arrows.png b/tests/cpp-tests/Resources/hd/Images/arrows.png new file mode 100755 index 0000000000..1a24e6fdec Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/arrows.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/arrowsBar.png b/tests/cpp-tests/Resources/hd/Images/arrowsBar.png new file mode 100755 index 0000000000..694b4d9768 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/arrowsBar.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/b1.png b/tests/cpp-tests/Resources/hd/Images/b1.png new file mode 100755 index 0000000000..a3c16adf65 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/b1.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/b2.png b/tests/cpp-tests/Resources/hd/Images/b2.png new file mode 100755 index 0000000000..ffa527ca93 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/b2.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/background1.jpg b/tests/cpp-tests/Resources/hd/Images/background1.jpg new file mode 100755 index 0000000000..2225dbabfd Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/background1.jpg differ diff --git a/tests/cpp-tests/Resources/hd/Images/background1.png b/tests/cpp-tests/Resources/hd/Images/background1.png new file mode 100755 index 0000000000..79a3a895ba Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/background1.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/background2.jpg b/tests/cpp-tests/Resources/hd/Images/background2.jpg new file mode 100755 index 0000000000..8957affa03 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/background2.jpg differ diff --git a/tests/cpp-tests/Resources/hd/Images/background2.png b/tests/cpp-tests/Resources/hd/Images/background2.png new file mode 100755 index 0000000000..33b72a1055 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/background2.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/background3.png b/tests/cpp-tests/Resources/hd/Images/background3.png new file mode 100755 index 0000000000..1bc43ec857 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/background3.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/ball.png b/tests/cpp-tests/Resources/hd/Images/ball.png new file mode 100755 index 0000000000..5460578a6f Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/ball.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/blocks.png b/tests/cpp-tests/Resources/hd/Images/blocks.png new file mode 100755 index 0000000000..6dfad5943c Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/blocks.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/blocks9.png b/tests/cpp-tests/Resources/hd/Images/blocks9.png new file mode 100755 index 0000000000..8f209b94a6 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/blocks9.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/blocks9ss.plist b/tests/cpp-tests/Resources/hd/Images/blocks9ss.plist new file mode 100755 index 0000000000..93d63354e5 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/Images/blocks9ss.plist @@ -0,0 +1,87 @@ + + + + + frames + + blocks9.png + + frame + {{132,302},{192,192}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{192,192}} + sourceSize + {192,192} + + blocks9r.png + + frame + {{132,108},{192,192}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{192,192}} + sourceSize + {192,192} + + grossini_dance_01.png + + frame + {{132,2},{104,220}} + offset + {0,-2} + rotated + + sourceColorRect + {{33,13},{104,220}} + sourceSize + {170,242} + + grossini_dance_02.png + + frame + {{2,224},{128,220}} + offset + {-12,-2} + rotated + + sourceColorRect + {{9,13},{128,220}} + sourceSize + {170,242} + + grossini_dance_03.png + + frame + {{2,2},{128,220}} + offset + {-12,-2} + rotated + + sourceColorRect + {{9,13},{128,220}} + sourceSize + {170,242} + + + metadata + + format + 2 + realTextureFileName + blocks9ss.png + size + {512,512} + smartupdate + $TexturePacker:SmartUpdate:a835cbe42b05233c069a35935fa2acb5$ + textureFileName + blocks9ss.png + + + diff --git a/tests/cpp-tests/Resources/hd/Images/blocks9ss.png b/tests/cpp-tests/Resources/hd/Images/blocks9ss.png new file mode 100755 index 0000000000..4b1eedbf87 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/blocks9ss.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/bugs/circle.plist b/tests/cpp-tests/Resources/hd/Images/bugs/circle.plist new file mode 100755 index 0000000000..e247a9e121 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/Images/bugs/circle.plist @@ -0,0 +1,31 @@ + + + + + frames + + circle.png + + frame + {{0,0},{128,128}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{128,128}} + sourceSize + {128,128} + + + metadata + + format + 2 + size + {128,128} + textureFileName + circle.png + + + diff --git a/tests/cpp-tests/Resources/hd/Images/bugs/circle.png b/tests/cpp-tests/Resources/hd/Images/bugs/circle.png new file mode 100755 index 0000000000..143b38b9c6 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/bugs/circle.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/bugs/picture.png b/tests/cpp-tests/Resources/hd/Images/bugs/picture.png new file mode 100755 index 0000000000..9fa44269c1 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/bugs/picture.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/bugs/test_issue_1179.png b/tests/cpp-tests/Resources/hd/Images/bugs/test_issue_1179.png new file mode 100755 index 0000000000..e49cdb3fde Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/bugs/test_issue_1179.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/close.png b/tests/cpp-tests/Resources/hd/Images/close.png new file mode 100755 index 0000000000..24c1ec49a7 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/close.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/f1.png b/tests/cpp-tests/Resources/hd/Images/f1.png new file mode 100755 index 0000000000..606181fab4 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/f1.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/f2.png b/tests/cpp-tests/Resources/hd/Images/f2.png new file mode 100755 index 0000000000..8cd548b51b Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/f2.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini.png b/tests/cpp-tests/Resources/hd/Images/grossini.png new file mode 100755 index 0000000000..43a18a41eb Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_01.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_01.png new file mode 100755 index 0000000000..b49771089d Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_01.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_02.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_02.png new file mode 100755 index 0000000000..9bc351bd0c Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_02.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_03.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_03.png new file mode 100755 index 0000000000..48195aa57a Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_03.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_04.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_04.png new file mode 100755 index 0000000000..7e5fa06a67 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_04.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_05.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_05.png new file mode 100755 index 0000000000..e3942aa9d0 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_05.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_06.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_06.png new file mode 100755 index 0000000000..d5e69be833 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_06.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_07.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_07.png new file mode 100755 index 0000000000..735b75f521 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_07.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_08.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_08.png new file mode 100755 index 0000000000..964f05f8b7 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_08.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_09.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_09.png new file mode 100755 index 0000000000..c88efa0cfd Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_09.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_10.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_10.png new file mode 100755 index 0000000000..04458278d8 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_10.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_11.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_11.png new file mode 100755 index 0000000000..dc21059e25 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_11.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_12.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_12.png new file mode 100755 index 0000000000..f1e2f29da9 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_12.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_13.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_13.png new file mode 100755 index 0000000000..44cb66190e Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_13.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_14.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_14.png new file mode 100755 index 0000000000..c38fd6fb5c Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_14.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossini_dance_atlas.png b/tests/cpp-tests/Resources/hd/Images/grossini_dance_atlas.png new file mode 100755 index 0000000000..f71b42ce11 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossini_dance_atlas.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossinis_sister1.png b/tests/cpp-tests/Resources/hd/Images/grossinis_sister1.png new file mode 100755 index 0000000000..4e2d6541e3 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossinis_sister1.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/grossinis_sister2.png b/tests/cpp-tests/Resources/hd/Images/grossinis_sister2.png new file mode 100755 index 0000000000..ec9bb5cc7c Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/grossinis_sister2.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/hole_effect.png b/tests/cpp-tests/Resources/hd/Images/hole_effect.png new file mode 100755 index 0000000000..94020e295b Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/hole_effect.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/hole_stencil.png b/tests/cpp-tests/Resources/hd/Images/hole_stencil.png new file mode 100755 index 0000000000..48c132565d Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/hole_stencil.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/only_in_hd.pvr.ccz b/tests/cpp-tests/Resources/hd/Images/only_in_hd.pvr.ccz new file mode 100755 index 0000000000..92815ea191 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/only_in_hd.pvr.ccz differ diff --git a/tests/cpp-tests/Resources/hd/Images/paddle.png b/tests/cpp-tests/Resources/hd/Images/paddle.png new file mode 100755 index 0000000000..47af8601f1 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/paddle.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/particles.png b/tests/cpp-tests/Resources/hd/Images/particles.png new file mode 100755 index 0000000000..664a48e6d3 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/particles.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/r1.png b/tests/cpp-tests/Resources/hd/Images/r1.png new file mode 100755 index 0000000000..6b51dc4509 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/r1.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/r2.png b/tests/cpp-tests/Resources/hd/Images/r2.png new file mode 100755 index 0000000000..ef1f2b4979 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/r2.png differ diff --git a/tests/cpp-tests/Resources/hd/Images/ui.plist b/tests/cpp-tests/Resources/hd/Images/ui.plist new file mode 100755 index 0000000000..b620ed9e3c --- /dev/null +++ b/tests/cpp-tests/Resources/hd/Images/ui.plist @@ -0,0 +1,139 @@ + + + + + frames + + button_actived.png + + frame + {{226,110},{42,26}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{42,26}} + sourceSize + {42,36} + + button_normal.png + + frame + {{226,64},{42,26}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{42,26}} + sourceSize + {42,26} + + coin.png + + frame + {{178,64},{44,44}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{44,44}} + sourceSize + {44,44} + + crystal.png + + frame + {{178,4},{56,56}} + offset + {0,0} + rotated + + sourceColorRect + {{2,2},{56,56}} + sourceSize + {60,60} + + dialog_bg.png + + frame + {{150,354},{92,92}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{92,92}} + sourceSize + {92,92} + + dialog_corner.png + + frame + {{178,112},{24,32}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{24,32}} + sourceSize + {24,32} + + item_bg.png + + frame + {{150,258},{92,92}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{92,92}} + sourceSize + {92,92} + + mini_map_bg.png + + frame + {{4,258},{142,142}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{142,142}} + sourceSize + {142,142} + + user_info_panel.png + + frame + {{4,4},{250,170}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{250,170}} + sourceSize + {250,170} + + + metadata + + format + 2 + realTextureFileName + ui.png + size + {256,512} + smartupdate + $TexturePacker:SmartUpdate:7251d97127580b1f2d0103d9b80ba020$ + textureFileName + ui.png + + + diff --git a/tests/cpp-tests/Resources/hd/Images/ui.png b/tests/cpp-tests/Resources/hd/Images/ui.png new file mode 100755 index 0000000000..40bdfb87fe Binary files /dev/null and b/tests/cpp-tests/Resources/hd/Images/ui.png differ diff --git a/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test3.tmx b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test3.tmx new file mode 100755 index 0000000000..ea26228d0f --- /dev/null +++ b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test3.tmx @@ -0,0 +1,13 @@ + + + + + + + + + + H4sIAAAAAAAAAO3TTQ+CMAwG4KIn8aSelIRE4IIf/P+fZ5dsoTQlqXPlYHp4krFA361sAwA8lJ6oLSzUnAzq5qrQTrA3ymvY8wHVgqNRfp+Zf0W3uP40pvi+SuffURe/T2OK19Xmn9BZcGHvjTDfiTTOuSvadXK0/5r5Nbl3mvZfM1/aWg79L1bZocfvmP+C5Zn/tv+/7F0681v0P2QMIJ/5Lfo/Gtd3zjnnnPtnH/8uAvwAEAAA + + + diff --git a/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test4.tmx b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test4.tmx new file mode 100755 index 0000000000..ff1b7a360e --- /dev/null +++ b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test4.tmx @@ -0,0 +1,11 @@ + + + + + + + + H4sIAAAAAAAAA1NjYGCQIxFrQGlGIGYCYmYglgRiKSiWRpJjQlID088JxFxAzA3EikCsAsSqQKwMlRMBYiEgFoWqwaVPB4h1kfRxI6nDpw/dPmL1odsnA/WbLJo+Qaj7hYFYE4i1oFgbSU4ISQ1Ijz4Z8WAAxADxIVkbwAEAAA== + + + diff --git a/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test6.tmx b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test6.tmx new file mode 100755 index 0000000000..eb7d55897b --- /dev/null +++ b/tests/cpp-tests/Resources/hd/TileMaps/orthogonal-test6.tmx @@ -0,0 +1,11 @@ + + + + + + + + H4sIAAAAAAAAA5NkYGCQIoClgViRgTBQpoM6JSimljpquw+XOk0g1iKAtYEYAF51CouQAQAA + + + diff --git a/tests/cpp-tests/Resources/hd/TileMaps/test-object-layer.tmx b/tests/cpp-tests/Resources/hd/TileMaps/test-object-layer.tmx new file mode 100755 index 0000000000..1183458522 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/TileMaps/test-object-layer.tmx @@ -0,0 +1,18 @@ + + + + + + + + eJxTY2BgkCMRa0BpRiBmAmJmIJYEYikolkaSY0JSA9PPCcRcQMwNxIpArALEqkCsDJUTAWIhIBaFqsGlTweIdZH0cSOpw6cP3T5i9aHbJwP1myyaPkGo+4WBWBOItaBYG0lOCEkNSI8+GfFgAMQA2rgKjA== + + + + + + + + + + diff --git a/tests/cpp-tests/Resources/hd/TileMaps/tiles.png b/tests/cpp-tests/Resources/hd/TileMaps/tiles.png new file mode 100755 index 0000000000..187cfee787 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/TileMaps/tiles.png differ diff --git a/tests/cpp-tests/Resources/hd/TileMaps/tmw_desert_spacing.png b/tests/cpp-tests/Resources/hd/TileMaps/tmw_desert_spacing.png new file mode 100755 index 0000000000..1c62fbf263 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/TileMaps/tmw_desert_spacing.png differ diff --git a/tests/cpp-tests/Resources/hd/animations/dragon_animation.png b/tests/cpp-tests/Resources/hd/animations/dragon_animation.png new file mode 100755 index 0000000000..8fbe949c1f Binary files /dev/null and b/tests/cpp-tests/Resources/hd/animations/dragon_animation.png differ diff --git a/tests/cpp-tests/Resources/hd/components/Player.png b/tests/cpp-tests/Resources/hd/components/Player.png new file mode 100755 index 0000000000..312351e408 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/components/Player.png differ diff --git a/tests/cpp-tests/Resources/hd/components/Projectile.png b/tests/cpp-tests/Resources/hd/components/Projectile.png new file mode 100755 index 0000000000..aae84e1dda Binary files /dev/null and b/tests/cpp-tests/Resources/hd/components/Projectile.png differ diff --git a/tests/cpp-tests/Resources/hd/components/Target.png b/tests/cpp-tests/Resources/hd/components/Target.png new file mode 100755 index 0000000000..76dc863da2 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/components/Target.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.plist b/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.plist new file mode 100755 index 0000000000..e70ab842c9 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.plist @@ -0,0 +1,113 @@ + + + + + frames + + colourPicker.png + + frame + {{949,2},{28,28}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{28,28}} + sourceSize + {28,28} + + colourPickerBackground.png + + frame + {{357,306},{222,222}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{222,222}} + sourceSize + {222,222} + + colourPickerOverlay.png + + frame + {{661,226},{222,222}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{222,222}} + sourceSize + {222,222} + + colourPickerShadow.png + + frame + {{661,2},{222,222}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{222,222}} + sourceSize + {222,222} + + huePickerBackground.png + + frame + {{357,2},{302,302}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{302,302}} + sourceSize + {302,302} + + menuCircleWhite.png + + frame + {{885,2},{62,62}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{62,62}} + sourceSize + {62,62} + + menuColourPanelBackground.png + + frame + {{2,2},{353,334}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{353,334}} + sourceSize + {353,334} + + + metadata + + format + 2 + realTextureFileName + CCControlColourPickerSpriteSheet.png + size + {1024,1024} + smartupdate + $TexturePacker:SmartUpdate:b0f145802397a74846afb8535dc6c069$ + textureFileName + CCControlColourPickerSpriteSheet.png + + + diff --git a/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.png b/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.png new file mode 100755 index 0000000000..b2f6361a8a Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/CCControlColourPickerSpriteSheet.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/background.png b/tests/cpp-tests/Resources/hd/extensions/background.png new file mode 100755 index 0000000000..eff519b033 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/background.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/button.png b/tests/cpp-tests/Resources/hd/extensions/button.png new file mode 100755 index 0000000000..03aebc7bac Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/button.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/buttonHighlighted.png b/tests/cpp-tests/Resources/hd/extensions/buttonHighlighted.png new file mode 100755 index 0000000000..8bc814d3f0 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/buttonHighlighted.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/potentiometerButton.png b/tests/cpp-tests/Resources/hd/extensions/potentiometerButton.png new file mode 100755 index 0000000000..b729c31617 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/potentiometerButton.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/potentiometerProgress.png b/tests/cpp-tests/Resources/hd/extensions/potentiometerProgress.png new file mode 100755 index 0000000000..683041699f Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/potentiometerProgress.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/potentiometerTrack.png b/tests/cpp-tests/Resources/hd/extensions/potentiometerTrack.png new file mode 100755 index 0000000000..0cfcc5553b Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/potentiometerTrack.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/ribbon.png b/tests/cpp-tests/Resources/hd/extensions/ribbon.png new file mode 100755 index 0000000000..28583f52b5 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/ribbon.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/sliderProgress.png b/tests/cpp-tests/Resources/hd/extensions/sliderProgress.png new file mode 100755 index 0000000000..f78bfc1b0d Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/sliderProgress.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/sliderProgress2.png b/tests/cpp-tests/Resources/hd/extensions/sliderProgress2.png new file mode 100755 index 0000000000..81d517307d Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/sliderProgress2.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/sliderThumb.png b/tests/cpp-tests/Resources/hd/extensions/sliderThumb.png new file mode 100755 index 0000000000..d9a0abdf16 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/sliderThumb.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/sliderTrack.png b/tests/cpp-tests/Resources/hd/extensions/sliderTrack.png new file mode 100755 index 0000000000..a803eb5c57 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/sliderTrack.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/sliderTrack2.png b/tests/cpp-tests/Resources/hd/extensions/sliderTrack2.png new file mode 100755 index 0000000000..59b8dc91b1 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/sliderTrack2.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/stepper-minus.png b/tests/cpp-tests/Resources/hd/extensions/stepper-minus.png new file mode 100755 index 0000000000..8d3e18ed52 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/stepper-minus.png differ diff --git a/tests/cpp-tests/Resources/hd/extensions/stepper-plus.png b/tests/cpp-tests/Resources/hd/extensions/stepper-plus.png new file mode 100755 index 0000000000..ef6de5e5d0 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/extensions/stepper-plus.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/font-issue1343.fnt b/tests/cpp-tests/Resources/hd/fonts/font-issue1343.fnt new file mode 100755 index 0000000000..9a1d4e9e35 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/fonts/font-issue1343.fnt @@ -0,0 +1,75 @@ +info face="TestFont-Bold" size=32 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=60 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="font-issue1343.png" +chars count=70 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=64 xadvance=36 page=0 chnl=0 +char id=36 x=0 y=0 width=48 height=74 xoffset=-2 yoffset=6 xadvance=48 page=0 chnl=0 +char id=106 x=48 y=0 width=34 height=74 xoffset=-4 yoffset=10 xadvance=36 page=0 chnl=0 +char id=37 x=82 y=0 width=64 height=68 xoffset=-2 yoffset=8 xadvance=64 page=0 chnl=0 +char id=81 x=146 y=0 width=60 height=66 xoffset=-2 yoffset=12 xadvance=60 page=0 chnl=0 +char id=64 x=206 y=0 width=62 height=64 xoffset=-2 yoffset=12 xadvance=64 page=0 chnl=0 +char id=113 x=268 y=0 width=42 height=64 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=112 x=310 y=0 width=44 height=64 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=103 x=354 y=0 width=46 height=64 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=102 x=400 y=0 width=44 height=64 xoffset=-2 yoffset=10 xadvance=38 page=0 chnl=0 +char id=63 x=444 y=0 width=42 height=62 xoffset=-4 yoffset=14 xadvance=40 page=0 chnl=0 +char id=121 x=0 y=74 width=48 height=62 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=116 x=48 y=74 width=38 height=62 xoffset=0 yoffset=12 xadvance=40 page=0 chnl=0 +char id=108 x=86 y=74 width=24 height=62 xoffset=0 yoffset=12 xadvance=30 page=0 chnl=0 +char id=107 x=110 y=74 width=44 height=62 xoffset=-2 yoffset=12 xadvance=44 page=0 chnl=0 +char id=105 x=154 y=74 width=24 height=62 xoffset=-2 yoffset=12 xadvance=26 page=0 chnl=0 +char id=100 x=178 y=74 width=46 height=62 xoffset=-2 yoffset=12 xadvance=48 page=0 chnl=0 +char id=82 x=224 y=74 width=52 height=62 xoffset=-4 yoffset=12 xadvance=50 page=0 chnl=0 +char id=80 x=276 y=74 width=50 height=62 xoffset=-4 yoffset=12 xadvance=48 page=0 chnl=0 +char id=33 x=326 y=74 width=24 height=60 xoffset=0 yoffset=14 xadvance=28 page=0 chnl=0 +char id=48 x=350 y=74 width=50 height=60 xoffset=-4 yoffset=14 xadvance=48 page=0 chnl=0 +char id=57 x=400 y=74 width=46 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=56 x=446 y=74 width=46 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=54 x=0 y=136 width=46 height=60 xoffset=0 yoffset=12 xadvance=48 page=0 chnl=0 +char id=53 x=46 y=136 width=46 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=51 x=92 y=136 width=44 height=60 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=104 x=136 y=136 width=44 height=60 xoffset=-2 yoffset=14 xadvance=46 page=0 chnl=0 +char id=98 x=180 y=136 width=46 height=60 xoffset=-2 yoffset=12 xadvance=46 page=0 chnl=0 +char id=89 x=226 y=136 width=54 height=60 xoffset=-6 yoffset=14 xadvance=48 page=0 chnl=0 +char id=88 x=280 y=136 width=54 height=60 xoffset=-2 yoffset=14 xadvance=52 page=0 chnl=0 +char id=87 x=334 y=136 width=76 height=60 xoffset=-4 yoffset=14 xadvance=74 page=0 chnl=0 +char id=86 x=410 y=136 width=54 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=85 x=0 y=196 width=50 height=60 xoffset=0 yoffset=14 xadvance=52 page=0 chnl=0 +char id=79 x=50 y=196 width=56 height=60 xoffset=-2 yoffset=14 xadvance=56 page=0 chnl=0 +char id=78 x=106 y=196 width=52 height=60 xoffset=-2 yoffset=14 xadvance=52 page=0 chnl=0 +char id=77 x=158 y=196 width=66 height=60 xoffset=-4 yoffset=14 xadvance=64 page=0 chnl=0 +char id=75 x=224 y=196 width=48 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=72 x=272 y=196 width=52 height=60 xoffset=-2 yoffset=14 xadvance=50 page=0 chnl=0 +char id=71 x=324 y=196 width=56 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=67 x=380 y=196 width=48 height=60 xoffset=-2 yoffset=14 xadvance=48 page=0 chnl=0 +char id=65 x=428 y=196 width=54 height=60 xoffset=-4 yoffset=14 xadvance=52 page=0 chnl=0 +char id=55 x=0 y=256 width=50 height=58 xoffset=-4 yoffset=16 xadvance=48 page=0 chnl=0 +char id=52 x=50 y=256 width=48 height=58 xoffset=-2 yoffset=16 xadvance=48 page=0 chnl=0 +char id=50 x=98 y=256 width=44 height=58 xoffset=0 yoffset=14 xadvance=48 page=0 chnl=0 +char id=49 x=142 y=256 width=34 height=58 xoffset=-2 yoffset=14 xadvance=36 page=0 chnl=0 +char id=84 x=176 y=256 width=50 height=58 xoffset=-4 yoffset=16 xadvance=46 page=0 chnl=0 +char id=83 x=226 y=256 width=48 height=58 xoffset=-2 yoffset=16 xadvance=48 page=0 chnl=0 +char id=74 x=274 y=256 width=54 height=58 xoffset=-6 yoffset=16 xadvance=46 page=0 chnl=0 +char id=73 x=328 y=256 width=38 height=58 xoffset=-2 yoffset=14 xadvance=38 page=0 chnl=0 +char id=70 x=366 y=256 width=44 height=58 xoffset=-4 yoffset=16 xadvance=42 page=0 chnl=0 +char id=69 x=410 y=256 width=46 height=58 xoffset=-2 yoffset=14 xadvance=46 page=0 chnl=0 +char id=68 x=0 y=314 width=58 height=58 xoffset=-6 yoffset=16 xadvance=52 page=0 chnl=0 +char id=66 x=58 y=314 width=48 height=58 xoffset=-4 yoffset=14 xadvance=46 page=0 chnl=0 +char id=76 x=106 y=314 width=44 height=56 xoffset=-2 yoffset=16 xadvance=44 page=0 chnl=0 +char id=90 x=150 y=314 width=54 height=54 xoffset=-2 yoffset=18 xadvance=52 page=0 chnl=0 +char id=115 x=204 y=314 width=40 height=50 xoffset=-4 yoffset=24 xadvance=38 page=0 chnl=0 +char id=111 x=244 y=314 width=46 height=50 xoffset=-4 yoffset=26 xadvance=42 page=0 chnl=0 +char id=122 x=290 y=314 width=48 height=48 xoffset=-4 yoffset=26 xadvance=44 page=0 chnl=0 +char id=120 x=338 y=314 width=46 height=48 xoffset=-2 yoffset=26 xadvance=46 page=0 chnl=0 +char id=119 x=384 y=314 width=60 height=48 xoffset=-4 yoffset=26 xadvance=56 page=0 chnl=0 +char id=118 x=444 y=314 width=42 height=48 xoffset=-4 yoffset=26 xadvance=40 page=0 chnl=0 +char id=114 x=0 y=372 width=44 height=48 xoffset=-2 yoffset=26 xadvance=38 page=0 chnl=0 +char id=110 x=44 y=372 width=42 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=109 x=86 y=372 width=58 height=48 xoffset=-2 yoffset=26 xadvance=58 page=0 chnl=0 +char id=101 x=144 y=372 width=46 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=99 x=190 y=372 width=42 height=48 xoffset=-2 yoffset=26 xadvance=42 page=0 chnl=0 +char id=97 x=232 y=372 width=46 height=48 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=117 x=278 y=372 width=46 height=46 xoffset=-2 yoffset=26 xadvance=44 page=0 chnl=0 +char id=44 x=324 y=372 width=28 height=32 xoffset=-2 yoffset=50 xadvance=28 page=0 chnl=0 +char id=39 x=352 y=372 width=22 height=30 xoffset=-2 yoffset=10 xadvance=24 page=0 chnl=0 +char id=46 x=374 y=372 width=26 height=22 xoffset=0 yoffset=100 xadvance=30 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/hd/fonts/font-issue1343.png b/tests/cpp-tests/Resources/hd/fonts/font-issue1343.png new file mode 100755 index 0000000000..a6ca8414e4 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/font-issue1343.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/konqa32.fnt b/tests/cpp-tests/Resources/hd/fonts/konqa32.fnt new file mode 100755 index 0000000000..350976e779 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/fonts/konqa32.fnt @@ -0,0 +1,96 @@ +info face="KonQaBlack" size=64 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=79 base=26 scaleW=512 scaleH=512 pages=1 packed=0 +page id=0 file="konqa32.png" +chars count=91 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=63 xadvance=32 page=0 chnl=0 +char id=36 x=0 y=0 width=34 height=72 xoffset=2 yoffset=0 xadvance=36 page=0 chnl=0 +char id=81 x=34 y=0 width=38 height=59 xoffset=2 yoffset=11 xadvance=39 page=0 chnl=0 +char id=64 x=72 y=0 width=36 height=55 xoffset=3 yoffset=10 xadvance=39 page=0 chnl=0 +char id=124 x=108 y=0 width=14 height=55 xoffset=4 yoffset=11 xadvance=20 page=0 chnl=0 +char id=63 x=122 y=0 width=35 height=54 xoffset=2 yoffset=10 xadvance=36 page=0 chnl=0 +char id=56 x=157 y=0 width=36 height=54 xoffset=1 yoffset=10 xadvance=36 page=0 chnl=0 +char id=90 x=193 y=0 width=38 height=54 xoffset=2 yoffset=10 xadvance=38 page=0 chnl=0 +char id=89 x=231 y=0 width=35 height=54 xoffset=2 yoffset=10 xadvance=36 page=0 chnl=0 +char id=87 x=266 y=0 width=54 height=54 xoffset=2 yoffset=10 xadvance=55 page=0 chnl=0 +char id=86 x=320 y=0 width=35 height=54 xoffset=2 yoffset=10 xadvance=37 page=0 chnl=0 +char id=85 x=355 y=0 width=38 height=54 xoffset=2 yoffset=10 xadvance=38 page=0 chnl=0 +char id=84 x=393 y=0 width=35 height=54 xoffset=2 yoffset=10 xadvance=37 page=0 chnl=0 +char id=82 x=428 y=0 width=37 height=54 xoffset=2 yoffset=10 xadvance=39 page=0 chnl=0 +char id=79 x=465 y=0 width=38 height=54 xoffset=2 yoffset=10 xadvance=38 page=0 chnl=0 +char id=92 x=0 y=72 width=33 height=53 xoffset=4 yoffset=11 xadvance=39 page=0 chnl=0 +char id=47 x=33 y=72 width=34 height=53 xoffset=4 yoffset=11 xadvance=39 page=0 chnl=0 +char id=33 x=67 y=72 width=17 height=53 xoffset=2 yoffset=11 xadvance=18 page=0 chnl=0 +char id=48 x=84 y=72 width=40 height=53 xoffset=2 yoffset=11 xadvance=40 page=0 chnl=0 +char id=57 x=124 y=72 width=35 height=53 xoffset=2 yoffset=11 xadvance=35 page=0 chnl=0 +char id=55 x=159 y=72 width=35 height=53 xoffset=2 yoffset=11 xadvance=35 page=0 chnl=0 +char id=54 x=194 y=72 width=36 height=53 xoffset=1 yoffset=11 xadvance=37 page=0 chnl=0 +char id=53 x=230 y=72 width=35 height=53 xoffset=2 yoffset=11 xadvance=36 page=0 chnl=0 +char id=52 x=265 y=72 width=36 height=53 xoffset=2 yoffset=11 xadvance=36 page=0 chnl=0 +char id=51 x=301 y=72 width=34 height=53 xoffset=2 yoffset=11 xadvance=35 page=0 chnl=0 +char id=50 x=335 y=72 width=36 height=53 xoffset=2 yoffset=11 xadvance=37 page=0 chnl=0 +char id=49 x=371 y=72 width=23 height=53 xoffset=2 yoffset=11 xadvance=24 page=0 chnl=0 +char id=88 x=394 y=72 width=38 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=83 x=432 y=72 width=37 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=80 x=469 y=72 width=36 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=78 x=0 y=125 width=39 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=77 x=39 y=125 width=53 height=53 xoffset=2 yoffset=11 xadvance=53 page=0 chnl=0 +char id=76 x=92 y=125 width=35 height=53 xoffset=1 yoffset=11 xadvance=36 page=0 chnl=0 +char id=75 x=127 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=37 page=0 chnl=0 +char id=74 x=163 y=125 width=30 height=53 xoffset=2 yoffset=11 xadvance=30 page=0 chnl=0 +char id=73 x=193 y=125 width=20 height=53 xoffset=1 yoffset=11 xadvance=19 page=0 chnl=0 +char id=72 x=213 y=125 width=38 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=71 x=251 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=70 x=287 y=125 width=37 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=69 x=324 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=68 x=360 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=36 page=0 chnl=0 +char id=67 x=396 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=66 x=432 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=38 page=0 chnl=0 +char id=65 x=468 y=125 width=36 height=53 xoffset=2 yoffset=11 xadvance=39 page=0 chnl=0 +char id=38 x=0 y=178 width=46 height=51 xoffset=2 yoffset=15 xadvance=47 page=0 chnl=0 +char id=37 x=46 y=178 width=52 height=51 xoffset=0 yoffset=15 xadvance=50 page=0 chnl=0 +char id=106 x=98 y=178 width=19 height=42 xoffset=2 yoffset=22 xadvance=19 page=0 chnl=0 +char id=125 x=117 y=178 width=19 height=41 xoffset=4 yoffset=23 xadvance=20 page=0 chnl=0 +char id=123 x=136 y=178 width=19 height=41 xoffset=0 yoffset=23 xadvance=20 page=0 chnl=0 +char id=93 x=155 y=178 width=19 height=41 xoffset=4 yoffset=23 xadvance=20 page=0 chnl=0 +char id=91 x=174 y=178 width=19 height=41 xoffset=0 yoffset=23 xadvance=20 page=0 chnl=0 +char id=41 x=193 y=178 width=20 height=41 xoffset=3 yoffset=23 xadvance=20 page=0 chnl=0 +char id=40 x=213 y=178 width=21 height=41 xoffset=-1 yoffset=23 xadvance=20 page=0 chnl=0 +char id=122 x=234 y=178 width=29 height=41 xoffset=2 yoffset=23 xadvance=30 page=0 chnl=0 +char id=121 x=263 y=178 width=28 height=41 xoffset=2 yoffset=23 xadvance=30 page=0 chnl=0 +char id=120 x=291 y=178 width=26 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=119 x=317 y=178 width=40 height=41 xoffset=2 yoffset=23 xadvance=41 page=0 chnl=0 +char id=118 x=357 y=178 width=26 height=41 xoffset=2 yoffset=23 xadvance=27 page=0 chnl=0 +char id=117 x=383 y=178 width=27 height=41 xoffset=2 yoffset=23 xadvance=29 page=0 chnl=0 +char id=116 x=410 y=178 width=26 height=41 xoffset=2 yoffset=23 xadvance=27 page=0 chnl=0 +char id=115 x=436 y=178 width=29 height=41 xoffset=2 yoffset=23 xadvance=31 page=0 chnl=0 +char id=114 x=465 y=178 width=26 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=113 x=0 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=112 x=27 y=229 width=29 height=41 xoffset=1 yoffset=23 xadvance=29 page=0 chnl=0 +char id=111 x=56 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=110 x=83 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=29 page=0 chnl=0 +char id=109 x=110 y=229 width=41 height=41 xoffset=2 yoffset=23 xadvance=42 page=0 chnl=0 +char id=108 x=151 y=229 width=19 height=41 xoffset=2 yoffset=23 xadvance=20 page=0 chnl=0 +char id=107 x=170 y=229 width=28 height=41 xoffset=2 yoffset=23 xadvance=30 page=0 chnl=0 +char id=105 x=198 y=229 width=14 height=41 xoffset=2 yoffset=23 xadvance=15 page=0 chnl=0 +char id=104 x=212 y=229 width=26 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=103 x=238 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=102 x=265 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=101 x=292 y=229 width=26 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=100 x=318 y=229 width=26 height=41 xoffset=2 yoffset=23 xadvance=27 page=0 chnl=0 +char id=99 x=344 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=29 page=0 chnl=0 +char id=98 x=371 y=229 width=27 height=41 xoffset=2 yoffset=23 xadvance=28 page=0 chnl=0 +char id=97 x=398 y=229 width=29 height=41 xoffset=1 yoffset=23 xadvance=30 page=0 chnl=0 +char id=94 x=427 y=229 width=40 height=39 xoffset=2 yoffset=13 xadvance=42 page=0 chnl=0 +char id=43 x=467 y=229 width=30 height=33 xoffset=2 yoffset=31 xadvance=32 page=0 chnl=0 +char id=61 x=0 y=270 width=31 height=27 xoffset=3 yoffset=31 xadvance=34 page=0 chnl=0 +char id=59 x=31 y=270 width=16 height=27 xoffset=1 yoffset=53 xadvance=16 page=0 chnl=0 +char id=58 x=47 y=270 width=14 height=25 xoffset=2 yoffset=39 xadvance=16 page=0 chnl=0 +char id=42 x=61 y=270 width=21 height=21 xoffset=10 yoffset=12 xadvance=39 page=0 chnl=0 +char id=34 x=82 y=270 width=26 height=21 xoffset=3 yoffset=13 xadvance=28 page=0 chnl=0 +char id=126 x=108 y=270 width=40 height=14 xoffset=6 yoffset=38 xadvance=50 page=0 chnl=0 +char id=44 x=148 y=270 width=15 height=14 xoffset=2 yoffset=58 xadvance=17 page=0 chnl=0 +char id=39 x=163 y=270 width=15 height=14 xoffset=2 yoffset=10 xadvance=17 page=0 chnl=0 +char id=96 x=178 y=270 width=16 height=14 xoffset=2 yoffset=10 xadvance=18 page=0 chnl=0 +char id=45 x=194 y=270 width=30 height=11 xoffset=3 yoffset=34 xadvance=34 page=0 chnl=0 +char id=46 x=224 y=270 width=13 height=11 xoffset=0 yoffset=53 xadvance=15 page=0 chnl=0 +char id=95 x=237 y=270 width=30 height=10 xoffset=2 yoffset=55 xadvance=34 page=0 chnl=0 diff --git a/tests/cpp-tests/Resources/hd/fonts/konqa32.png b/tests/cpp-tests/Resources/hd/fonts/konqa32.png new file mode 100755 index 0000000000..051e8d5bd3 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/konqa32.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/labelatlas.png b/tests/cpp-tests/Resources/hd/fonts/labelatlas.png new file mode 100755 index 0000000000..bb8ce11e54 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/labelatlas.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/larabie-16.plist b/tests/cpp-tests/Resources/hd/fonts/larabie-16.plist new file mode 100755 index 0000000000..d5ec8afe81 --- /dev/null +++ b/tests/cpp-tests/Resources/hd/fonts/larabie-16.plist @@ -0,0 +1,16 @@ + + + + + version + 1 + textureFilename + larabie-16.png + itemWidth + 20 + itemHeight + 40 + firstChar + 65 + + diff --git a/tests/cpp-tests/Resources/hd/fonts/larabie-16.png b/tests/cpp-tests/Resources/hd/fonts/larabie-16.png new file mode 100755 index 0000000000..f860d02fab Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/larabie-16.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/markerFelt.fnt b/tests/cpp-tests/Resources/hd/fonts/markerFelt.fnt new file mode 100755 index 0000000000..ee5dba70ce --- /dev/null +++ b/tests/cpp-tests/Resources/hd/fonts/markerFelt.fnt @@ -0,0 +1,3770 @@ +info face="MarkerFelt-Thin" size=50 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=54 base=43 scaleW=512 scaleH=256 pages=1 packed=0 +page id=0 file="markerFelt.png" +chars count=95 +char id=106 x=2 y=2 width=13 height=50 xoffset=-3 yoffset=4 xadvance=10 page=0 chnl=0 letter="j" +char id=87 x=17 y=2 width=48 height=48 xoffset=0 yoffset=0 xadvance=48 page=0 chnl=0 letter="W" +char id=81 x=67 y=2 width=30 height=48 xoffset=2 yoffset=1 xadvance=29 page=0 chnl=0 letter="Q" +char id=77 x=99 y=2 width=45 height=47 xoffset=2 yoffset=0 xadvance=46 page=0 chnl=0 letter="M" +char id=84 x=146 y=2 width=25 height=47 xoffset=0 yoffset=0 xadvance=24 page=0 chnl=0 letter="T" +char id=104 x=173 y=2 width=22 height=47 xoffset=2 yoffset=0 xadvance=24 page=0 chnl=0 letter="h" +char id=102 x=197 y=2 width=21 height=47 xoffset=0 yoffset=0 xadvance=18 page=0 chnl=0 letter="f" +char id=91 x=220 y=2 width=19 height=47 xoffset=1 yoffset=-1 xadvance=20 page=0 chnl=0 letter="[" +char id=93 x=241 y=2 width=19 height=47 xoffset=1 yoffset=-1 xadvance=20 page=0 chnl=0 letter="]" +char id=90 x=262 y=2 width=32 height=46 xoffset=0 yoffset=0 xadvance=30 page=0 chnl=0 letter="Z" +char id=88 x=296 y=2 width=31 height=46 xoffset=0 yoffset=1 xadvance=30 page=0 chnl=0 letter="X" +char id=89 x=329 y=2 width=31 height=46 xoffset=1 yoffset=0 xadvance=30 page=0 chnl=0 letter="Y" +char id=65 x=362 y=2 width=30 height=46 xoffset=1 yoffset=0 xadvance=31 page=0 chnl=0 letter="A" +char id=75 x=394 y=2 width=29 height=46 xoffset=1 yoffset=0 xadvance=28 page=0 chnl=0 letter="K" +char id=78 x=425 y=2 width=28 height=46 xoffset=2 yoffset=0 xadvance=30 page=0 chnl=0 letter="N" +char id=53 x=455 y=2 width=27 height=46 xoffset=1 yoffset=2 xadvance=28 page=0 chnl=0 letter="5" +char id=86 x=2 y=54 width=27 height=46 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 letter="V" +char id=85 x=31 y=54 width=26 height=46 xoffset=1 yoffset=1 xadvance=27 page=0 chnl=0 letter="U" +char id=83 x=59 y=54 width=25 height=46 xoffset=0 yoffset=0 xadvance=24 page=0 chnl=0 letter="S" +char id=72 x=86 y=54 width=24 height=46 xoffset=1 yoffset=1 xadvance=25 page=0 chnl=0 letter="H" +char id=48 x=112 y=54 width=24 height=46 xoffset=3 yoffset=1 xadvance=28 page=0 chnl=0 letter="0" +char id=68 x=138 y=54 width=23 height=46 xoffset=2 yoffset=1 xadvance=24 page=0 chnl=0 letter="D" +char id=76 x=163 y=54 width=22 height=46 xoffset=1 yoffset=0 xadvance=21 page=0 chnl=0 letter="L" +char id=74 x=187 y=54 width=22 height=46 xoffset=0 yoffset=1 xadvance=22 page=0 chnl=0 letter="J" +char id=63 x=211 y=54 width=21 height=46 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 letter="?" +char id=56 x=234 y=54 width=21 height=46 xoffset=4 yoffset=0 xadvance=28 page=0 chnl=0 letter="8" +char id=69 x=257 y=54 width=20 height=46 xoffset=2 yoffset=1 xadvance=22 page=0 chnl=0 letter="E" +char id=108 x=279 y=54 width=8 height=46 xoffset=1 yoffset=1 xadvance=10 page=0 chnl=0 letter="l" +char id=124 x=289 y=54 width=8 height=46 xoffset=1 yoffset=1 xadvance=10 page=0 chnl=0 letter="|" +char id=82 x=299 y=54 width=30 height=45 xoffset=1 yoffset=1 xadvance=28 page=0 chnl=0 letter="R" +char id=52 x=331 y=54 width=29 height=45 xoffset=0 yoffset=2 xadvance=28 page=0 chnl=0 letter="4" +char id=50 x=362 y=54 width=28 height=45 xoffset=1 yoffset=1 xadvance=28 page=0 chnl=0 letter="2" +char id=92 x=392 y=54 width=27 height=45 xoffset=0 yoffset=1 xadvance=26 page=0 chnl=0 letter="\" +char id=47 x=421 y=54 width=26 height=45 xoffset=0 yoffset=1 xadvance=26 page=0 chnl=0 letter="/" +char id=71 x=449 y=54 width=26 height=45 xoffset=1 yoffset=1 xadvance=24 page=0 chnl=0 letter="G" +char id=55 x=477 y=54 width=25 height=45 xoffset=2 yoffset=2 xadvance=28 page=0 chnl=0 letter="7" +char id=51 x=2 y=102 width=25 height=45 xoffset=3 yoffset=1 xadvance=28 page=0 chnl=0 letter="3" +char id=107 x=29 y=102 width=25 height=45 xoffset=2 yoffset=1 xadvance=24 page=0 chnl=0 letter="k" +char id=66 x=56 y=102 width=24 height=45 xoffset=1 yoffset=2 xadvance=24 page=0 chnl=0 letter="B" +char id=36 x=82 y=102 width=24 height=45 xoffset=2 yoffset=1 xadvance=26 page=0 chnl=0 letter="$" +char id=80 x=108 y=102 width=23 height=45 xoffset=2 yoffset=1 xadvance=22 page=0 chnl=0 letter="P" +char id=123 x=133 y=102 width=20 height=45 xoffset=1 yoffset=1 xadvance=20 page=0 chnl=0 letter="{" +char id=125 x=155 y=102 width=20 height=45 xoffset=1 yoffset=1 xadvance=20 page=0 chnl=0 letter="}" +char id=70 x=177 y=102 width=20 height=45 xoffset=2 yoffset=1 xadvance=21 page=0 chnl=0 letter="F" +char id=49 x=199 y=102 width=15 height=45 xoffset=6 yoffset=1 xadvance=28 page=0 chnl=0 letter="1" +char id=40 x=216 y=102 width=12 height=45 xoffset=2 yoffset=1 xadvance=13 page=0 chnl=0 letter="(" +char id=41 x=230 y=102 width=11 height=45 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter=")" +char id=73 x=243 y=102 width=11 height=45 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="I" +char id=33 x=256 y=102 width=9 height=45 xoffset=1 yoffset=1 xadvance=10 page=0 chnl=0 letter="!" +char id=64 x=267 y=102 width=44 height=44 xoffset=1 yoffset=1 xadvance=45 page=0 chnl=0 letter="@" +char id=37 x=313 y=102 width=34 height=44 xoffset=1 yoffset=2 xadvance=35 page=0 chnl=0 letter="%" +char id=38 x=349 y=102 width=30 height=44 xoffset=1 yoffset=2 xadvance=28 page=0 chnl=0 letter="&" +char id=79 x=381 y=102 width=26 height=44 xoffset=2 yoffset=2 xadvance=27 page=0 chnl=0 letter="O" +char id=54 x=409 y=102 width=23 height=44 xoffset=3 yoffset=2 xadvance=28 page=0 chnl=0 letter="6" +char id=57 x=434 y=102 width=23 height=44 xoffset=3 yoffset=2 xadvance=28 page=0 chnl=0 letter="9" +char id=67 x=459 y=102 width=23 height=44 xoffset=1 yoffset=2 xadvance=22 page=0 chnl=0 letter="C" +char id=105 x=484 y=102 width=9 height=44 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 letter="i" +char id=100 x=2 y=149 width=20 height=43 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 letter="d" +char id=113 x=24 y=149 width=20 height=43 xoffset=1 yoffset=13 xadvance=22 page=0 chnl=0 letter="q" +char id=112 x=46 y=149 width=20 height=43 xoffset=2 yoffset=13 xadvance=22 page=0 chnl=0 letter="p" +char id=98 x=68 y=149 width=20 height=43 xoffset=2 yoffset=3 xadvance=22 page=0 chnl=0 letter="b" +char id=116 x=90 y=149 width=22 height=41 xoffset=-1 yoffset=6 xadvance=18 page=0 chnl=0 letter="t" +char id=103 x=114 y=149 width=19 height=41 xoffset=1 yoffset=13 xadvance=21 page=0 chnl=0 letter="g" +char id=121 x=135 y=149 width=24 height=40 xoffset=-0 yoffset=14 xadvance=24 page=0 chnl=0 letter="y" +char id=59 x=161 y=149 width=12 height=37 xoffset=-3 yoffset=14 xadvance=10 page=0 chnl=0 letter=";" +char id=119 x=175 y=149 width=39 height=34 xoffset=-1 yoffset=13 xadvance=36 page=0 chnl=0 letter="w" +char id=118 x=216 y=149 width=26 height=34 xoffset=-1 yoffset=13 xadvance=22 page=0 chnl=0 letter="v" +char id=122 x=244 y=149 width=24 height=34 xoffset=1 yoffset=13 xadvance=24 page=0 chnl=0 letter="z" +char id=110 x=270 y=149 width=23 height=34 xoffset=2 yoffset=13 xadvance=24 page=0 chnl=0 letter="n" +char id=120 x=295 y=149 width=22 height=34 xoffset=-0 yoffset=13 xadvance=20 page=0 chnl=0 letter="x" +char id=114 x=319 y=149 width=21 height=34 xoffset=1 yoffset=12 xadvance=19 page=0 chnl=0 letter="r" +char id=117 x=342 y=149 width=20 height=34 xoffset=1 yoffset=13 xadvance=20 page=0 chnl=0 letter="u" +char id=109 x=364 y=149 width=35 height=33 xoffset=2 yoffset=14 xadvance=36 page=0 chnl=0 letter="m" +char id=97 x=401 y=149 width=23 height=33 xoffset=0 yoffset=14 xadvance=23 page=0 chnl=0 letter="a" +char id=111 x=426 y=149 width=20 height=33 xoffset=1 yoffset=13 xadvance=20 page=0 chnl=0 letter="o" +char id=101 x=448 y=149 width=20 height=33 xoffset=1 yoffset=13 xadvance=19 page=0 chnl=0 letter="e" +char id=99 x=470 y=149 width=18 height=33 xoffset=1 yoffset=13 xadvance=19 page=0 chnl=0 letter="c" +char id=115 x=490 y=149 width=19 height=32 xoffset=0 yoffset=15 xadvance=18 page=0 chnl=0 letter="s" +char id=62 x=2 y=194 width=18 height=31 xoffset=2 yoffset=15 xadvance=19 page=0 chnl=0 letter=">" +char id=60 x=22 y=194 width=17 height=31 xoffset=1 yoffset=15 xadvance=19 page=0 chnl=0 letter="<" +char id=58 x=41 y=194 width=10 height=30 xoffset=1 yoffset=16 xadvance=12 page=0 chnl=0 letter=":" +char id=35 x=53 y=194 width=27 height=29 xoffset=1 yoffset=11 xadvance=28 page=0 chnl=0 letter="#" +char id=43 x=82 y=194 width=21 height=24 xoffset=1 yoffset=10 xadvance=22 page=0 chnl=0 letter="+" +char id=42 x=105 y=194 width=23 height=22 xoffset=1 yoffset=6 xadvance=23 page=0 chnl=0 letter="*" +char id=61 x=130 y=194 width=18 height=20 xoffset=2 yoffset=13 xadvance=20 page=0 chnl=0 letter="=" +char id=34 x=150 y=194 width=14 height=18 xoffset=1 yoffset=1 xadvance=16 page=0 chnl=0 letter=""" +char id=39 x=166 y=194 width=7 height=17 xoffset=1 yoffset=1 xadvance=8 page=0 chnl=0 letter="'" +char id=94 x=175 y=194 width=16 height=14 xoffset=0 yoffset=0 xadvance=15 page=0 chnl=0 letter="^" +char id=96 x=193 y=194 width=11 height=14 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0 letter="`" +char id=44 x=206 y=194 width=10 height=13 xoffset=-1 yoffset=39 xadvance=10 page=0 chnl=0 letter="," +char id=95 x=218 y=194 width=24 height=12 xoffset=1 yoffset=43 xadvance=24 page=0 chnl=0 letter="_" +char id=45 x=244 y=194 width=17 height=12 xoffset=1 yoffset=21 xadvance=18 page=0 chnl=0 letter="-" +char id=46 x=263 y=194 width=8 height=12 xoffset=1 yoffset=34 xadvance=10 page=0 chnl=0 letter="." +char id=126 x=273 y=194 width=17 height=11 xoffset=0 yoffset=0 xadvance=16 page=0 chnl=0 letter="~" +char id=32 x=292 y=194 width=0 height=0 xoffset=12 yoffset=63 xadvance=12 page=0 chnl=0 letter="space" +kernings count=3670 +kerning first=106 second=106 amount=3 +kerning first=106 second=102 amount=2 +kerning first=106 second=63 amount=1 +kerning first=106 second=56 amount=-1 +kerning first=106 second=108 amount=1 +kerning first=106 second=107 amount=1 +kerning first=106 second=49 amount=-4 +kerning first=106 second=40 amount=1 +kerning first=106 second=33 amount=1 +kerning first=106 second=105 amount=1 +kerning first=106 second=100 amount=1 +kerning first=106 second=112 amount=1 +kerning first=106 second=98 amount=1 +kerning first=106 second=116 amount=3 +kerning first=106 second=103 amount=1 +kerning first=106 second=121 amount=2 +kerning first=106 second=59 amount=3 +kerning first=106 second=119 amount=3 +kerning first=106 second=118 amount=3 +kerning first=106 second=122 amount=1 +kerning first=106 second=110 amount=1 +kerning first=106 second=120 amount=2 +kerning first=106 second=114 amount=2 +kerning first=106 second=117 amount=1 +kerning first=106 second=97 amount=2 +kerning first=106 second=111 amount=2 +kerning first=106 second=101 amount=1 +kerning first=106 second=99 amount=1 +kerning first=106 second=115 amount=2 +kerning first=106 second=34 amount=1 +kerning first=106 second=39 amount=2 +kerning first=106 second=44 amount=3 +kerning first=106 second=46 amount=1 +kerning first=87 second=87 amount=1 +kerning first=87 second=81 amount=-3 +kerning first=87 second=102 amount=-2 +kerning first=87 second=93 amount=1 +kerning first=87 second=90 amount=-2 +kerning first=87 second=88 amount=2 +kerning first=87 second=89 amount=1 +kerning first=87 second=65 amount=-6 +kerning first=87 second=75 amount=2 +kerning first=87 second=53 amount=-2 +kerning first=87 second=86 amount=2 +kerning first=87 second=85 amount=1 +kerning first=87 second=83 amount=-2 +kerning first=87 second=48 amount=-4 +kerning first=87 second=76 amount=2 +kerning first=87 second=74 amount=-5 +kerning first=87 second=56 amount=-3 +kerning first=87 second=108 amount=2 +kerning first=87 second=82 amount=2 +kerning first=87 second=52 amount=-5 +kerning first=87 second=50 amount=-4 +kerning first=87 second=92 amount=1 +kerning first=87 second=47 amount=-6 +kerning first=87 second=71 amount=-2 +kerning first=87 second=55 amount=-1 +kerning first=87 second=51 amount=-3 +kerning first=87 second=107 amount=1 +kerning first=87 second=66 amount=2 +kerning first=87 second=80 amount=1 +kerning first=87 second=49 amount=-5 +kerning first=87 second=41 amount=1 +kerning first=87 second=73 amount=2 +kerning first=87 second=33 amount=1 +kerning first=87 second=64 amount=-6 +kerning first=87 second=79 amount=-2 +kerning first=87 second=54 amount=-4 +kerning first=87 second=57 amount=-4 +kerning first=87 second=67 amount=-2 +kerning first=87 second=100 amount=-4 +kerning first=87 second=113 amount=-4 +kerning first=87 second=112 amount=-2 +kerning first=87 second=116 amount=-1 +kerning first=87 second=103 amount=-4 +kerning first=87 second=59 amount=-3 +kerning first=87 second=122 amount=-4 +kerning first=87 second=110 amount=-2 +kerning first=87 second=120 amount=-2 +kerning first=87 second=114 amount=-2 +kerning first=87 second=117 amount=-2 +kerning first=87 second=109 amount=-3 +kerning first=87 second=97 amount=-3 +kerning first=87 second=111 amount=-4 +kerning first=87 second=101 amount=-5 +kerning first=87 second=99 amount=-4 +kerning first=87 second=115 amount=-4 +kerning first=87 second=58 amount=-4 +kerning first=87 second=35 amount=-2 +kerning first=87 second=34 amount=3 +kerning first=87 second=39 amount=3 +kerning first=87 second=44 amount=-8 +kerning first=87 second=45 amount=-4 +kerning first=87 second=46 amount=-6 +kerning first=81 second=106 amount=6 +kerning first=81 second=77 amount=2 +kerning first=81 second=104 amount=3 +kerning first=81 second=102 amount=1 +kerning first=81 second=93 amount=1 +kerning first=81 second=90 amount=3 +kerning first=81 second=88 amount=4 +kerning first=81 second=89 amount=-3 +kerning first=81 second=65 amount=3 +kerning first=81 second=75 amount=2 +kerning first=81 second=78 amount=2 +kerning first=81 second=86 amount=-1 +kerning first=81 second=72 amount=3 +kerning first=81 second=68 amount=2 +kerning first=81 second=76 amount=2 +kerning first=81 second=56 amount=-1 +kerning first=81 second=69 amount=2 +kerning first=81 second=108 amount=4 +kerning first=81 second=82 amount=2 +kerning first=81 second=50 amount=2 +kerning first=81 second=92 amount=-2 +kerning first=81 second=47 amount=3 +kerning first=81 second=55 amount=2 +kerning first=81 second=51 amount=-2 +kerning first=81 second=107 amount=4 +kerning first=81 second=66 amount=2 +kerning first=81 second=80 amount=3 +kerning first=81 second=70 amount=2 +kerning first=81 second=49 amount=-5 +kerning first=81 second=40 amount=1 +kerning first=81 second=41 amount=3 +kerning first=81 second=73 amount=3 +kerning first=81 second=33 amount=3 +kerning first=81 second=54 amount=-1 +kerning first=81 second=57 amount=-2 +kerning first=81 second=67 amount=1 +kerning first=81 second=105 amount=3 +kerning first=81 second=112 amount=3 +kerning first=81 second=98 amount=4 +kerning first=81 second=116 amount=3 +kerning first=81 second=103 amount=1 +kerning first=81 second=121 amount=2 +kerning first=81 second=59 amount=7 +kerning first=81 second=119 amount=3 +kerning first=81 second=118 amount=3 +kerning first=81 second=122 amount=4 +kerning first=81 second=110 amount=4 +kerning first=81 second=120 amount=4 +kerning first=81 second=114 amount=4 +kerning first=81 second=117 amount=2 +kerning first=81 second=97 amount=4 +kerning first=81 second=111 amount=1 +kerning first=81 second=99 amount=2 +kerning first=81 second=115 amount=2 +kerning first=81 second=58 amount=3 +kerning first=81 second=44 amount=7 +kerning first=81 second=46 amount=4 +kerning first=77 second=106 amount=2 +kerning first=77 second=104 amount=1 +kerning first=77 second=90 amount=2 +kerning first=77 second=88 amount=3 +kerning first=77 second=65 amount=1 +kerning first=77 second=75 amount=1 +kerning first=77 second=48 amount=-2 +kerning first=77 second=56 amount=-2 +kerning first=77 second=69 amount=1 +kerning first=77 second=108 amount=2 +kerning first=77 second=50 amount=1 +kerning first=77 second=47 amount=2 +kerning first=77 second=51 amount=-1 +kerning first=77 second=107 amount=2 +kerning first=77 second=66 amount=1 +kerning first=77 second=80 amount=2 +kerning first=77 second=70 amount=1 +kerning first=77 second=49 amount=-5 +kerning first=77 second=41 amount=2 +kerning first=77 second=73 amount=2 +kerning first=77 second=33 amount=2 +kerning first=77 second=54 amount=-2 +kerning first=77 second=57 amount=-1 +kerning first=77 second=105 amount=2 +kerning first=77 second=112 amount=1 +kerning first=77 second=98 amount=2 +kerning first=77 second=116 amount=2 +kerning first=77 second=59 amount=3 +kerning first=77 second=119 amount=2 +kerning first=77 second=118 amount=2 +kerning first=77 second=122 amount=2 +kerning first=77 second=110 amount=2 +kerning first=77 second=120 amount=3 +kerning first=77 second=114 amount=2 +kerning first=77 second=97 amount=2 +kerning first=77 second=115 amount=1 +kerning first=77 second=58 amount=2 +kerning first=77 second=44 amount=2 +kerning first=77 second=46 amount=3 +kerning first=84 second=87 amount=2 +kerning first=84 second=81 amount=-2 +kerning first=84 second=102 amount=-3 +kerning first=84 second=93 amount=1 +kerning first=84 second=90 amount=-2 +kerning first=84 second=88 amount=2 +kerning first=84 second=65 amount=-6 +kerning first=84 second=75 amount=2 +kerning first=84 second=53 amount=-2 +kerning first=84 second=86 amount=2 +kerning first=84 second=85 amount=1 +kerning first=84 second=83 amount=-1 +kerning first=84 second=48 amount=-3 +kerning first=84 second=76 amount=1 +kerning first=84 second=74 amount=-7 +kerning first=84 second=56 amount=-3 +kerning first=84 second=108 amount=2 +kerning first=84 second=82 amount=2 +kerning first=84 second=52 amount=-7 +kerning first=84 second=50 amount=-5 +kerning first=84 second=92 amount=1 +kerning first=84 second=47 amount=-6 +kerning first=84 second=51 amount=-4 +kerning first=84 second=107 amount=1 +kerning first=84 second=66 amount=2 +kerning first=84 second=80 amount=1 +kerning first=84 second=49 amount=-4 +kerning first=84 second=41 amount=1 +kerning first=84 second=73 amount=2 +kerning first=84 second=33 amount=2 +kerning first=84 second=64 amount=-8 +kerning first=84 second=54 amount=-3 +kerning first=84 second=57 amount=-3 +kerning first=84 second=100 amount=-6 +kerning first=84 second=113 amount=-7 +kerning first=84 second=112 amount=-6 +kerning first=84 second=98 amount=1 +kerning first=84 second=116 amount=-3 +kerning first=84 second=103 amount=-6 +kerning first=84 second=121 amount=-6 +kerning first=84 second=59 amount=-4 +kerning first=84 second=119 amount=-5 +kerning first=84 second=118 amount=-5 +kerning first=84 second=122 amount=-5 +kerning first=84 second=110 amount=-6 +kerning first=84 second=120 amount=-5 +kerning first=84 second=114 amount=-6 +kerning first=84 second=117 amount=-6 +kerning first=84 second=109 amount=-7 +kerning first=84 second=97 amount=-5 +kerning first=84 second=111 amount=-6 +kerning first=84 second=101 amount=-7 +kerning first=84 second=99 amount=-6 +kerning first=84 second=115 amount=-6 +kerning first=84 second=58 amount=-6 +kerning first=84 second=35 amount=-4 +kerning first=84 second=34 amount=2 +kerning first=84 second=39 amount=3 +kerning first=84 second=44 amount=-5 +kerning first=84 second=45 amount=-7 +kerning first=84 second=46 amount=-5 +kerning first=104 second=106 amount=1 +kerning first=104 second=102 amount=1 +kerning first=104 second=63 amount=-2 +kerning first=104 second=108 amount=1 +kerning first=104 second=52 amount=1 +kerning first=104 second=92 amount=-6 +kerning first=104 second=107 amount=1 +kerning first=104 second=49 amount=-7 +kerning first=104 second=40 amount=1 +kerning first=104 second=41 amount=1 +kerning first=104 second=33 amount=2 +kerning first=104 second=64 amount=1 +kerning first=104 second=105 amount=2 +kerning first=104 second=100 amount=2 +kerning first=104 second=113 amount=2 +kerning first=104 second=112 amount=2 +kerning first=104 second=98 amount=1 +kerning first=104 second=116 amount=3 +kerning first=104 second=103 amount=2 +kerning first=104 second=121 amount=2 +kerning first=104 second=59 amount=2 +kerning first=104 second=119 amount=3 +kerning first=104 second=118 amount=3 +kerning first=104 second=122 amount=2 +kerning first=104 second=110 amount=2 +kerning first=104 second=120 amount=3 +kerning first=104 second=114 amount=2 +kerning first=104 second=117 amount=3 +kerning first=104 second=109 amount=1 +kerning first=104 second=97 amount=3 +kerning first=104 second=111 amount=3 +kerning first=104 second=101 amount=2 +kerning first=104 second=99 amount=3 +kerning first=104 second=115 amount=3 +kerning first=104 second=58 amount=2 +kerning first=104 second=35 amount=2 +kerning first=104 second=34 amount=-5 +kerning first=104 second=39 amount=-5 +kerning first=104 second=45 amount=2 +kerning first=104 second=46 amount=2 +kerning first=102 second=106 amount=4 +kerning first=102 second=104 amount=3 +kerning first=102 second=102 amount=4 +kerning first=102 second=93 amount=2 +kerning first=102 second=53 amount=1 +kerning first=102 second=48 amount=2 +kerning first=102 second=63 amount=1 +kerning first=102 second=108 amount=4 +kerning first=102 second=50 amount=-2 +kerning first=102 second=92 amount=2 +kerning first=102 second=47 amount=-2 +kerning first=102 second=55 amount=-2 +kerning first=102 second=107 amount=4 +kerning first=102 second=49 amount=-5 +kerning first=102 second=40 amount=4 +kerning first=102 second=41 amount=2 +kerning first=102 second=33 amount=4 +kerning first=102 second=54 amount=1 +kerning first=102 second=57 amount=1 +kerning first=102 second=105 amount=4 +kerning first=102 second=100 amount=2 +kerning first=102 second=113 amount=2 +kerning first=102 second=112 amount=4 +kerning first=102 second=98 amount=3 +kerning first=102 second=116 amount=5 +kerning first=102 second=103 amount=2 +kerning first=102 second=121 amount=5 +kerning first=102 second=59 amount=3 +kerning first=102 second=119 amount=6 +kerning first=102 second=118 amount=6 +kerning first=102 second=122 amount=2 +kerning first=102 second=110 amount=4 +kerning first=102 second=120 amount=4 +kerning first=102 second=114 amount=4 +kerning first=102 second=117 amount=4 +kerning first=102 second=109 amount=3 +kerning first=102 second=97 amount=3 +kerning first=102 second=111 amount=3 +kerning first=102 second=101 amount=2 +kerning first=102 second=99 amount=2 +kerning first=102 second=115 amount=2 +kerning first=102 second=58 amount=2 +kerning first=102 second=35 amount=3 +kerning first=102 second=34 amount=3 +kerning first=102 second=39 amount=3 +kerning first=102 second=45 amount=-4 +kerning first=102 second=46 amount=-1 +kerning first=93 second=106 amount=2 +kerning first=93 second=104 amount=1 +kerning first=93 second=90 amount=2 +kerning first=93 second=88 amount=3 +kerning first=93 second=65 amount=1 +kerning first=93 second=75 amount=1 +kerning first=93 second=78 amount=1 +kerning first=93 second=86 amount=1 +kerning first=93 second=83 amount=1 +kerning first=93 second=48 amount=-1 +kerning first=93 second=56 amount=-1 +kerning first=93 second=69 amount=1 +kerning first=93 second=108 amount=2 +kerning first=93 second=82 amount=1 +kerning first=93 second=50 amount=1 +kerning first=93 second=47 amount=2 +kerning first=93 second=55 amount=1 +kerning first=93 second=107 amount=2 +kerning first=93 second=66 amount=1 +kerning first=93 second=80 amount=2 +kerning first=93 second=70 amount=1 +kerning first=93 second=49 amount=-5 +kerning first=93 second=41 amount=2 +kerning first=93 second=73 amount=2 +kerning first=93 second=33 amount=2 +kerning first=93 second=54 amount=-1 +kerning first=93 second=67 amount=1 +kerning first=93 second=105 amount=2 +kerning first=93 second=112 amount=2 +kerning first=93 second=98 amount=2 +kerning first=93 second=116 amount=2 +kerning first=93 second=103 amount=1 +kerning first=93 second=121 amount=1 +kerning first=93 second=59 amount=2 +kerning first=93 second=119 amount=2 +kerning first=93 second=118 amount=2 +kerning first=93 second=122 amount=2 +kerning first=93 second=110 amount=2 +kerning first=93 second=120 amount=3 +kerning first=93 second=114 amount=2 +kerning first=93 second=117 amount=1 +kerning first=93 second=97 amount=3 +kerning first=93 second=111 amount=1 +kerning first=93 second=99 amount=1 +kerning first=93 second=115 amount=2 +kerning first=93 second=58 amount=2 +kerning first=93 second=34 amount=1 +kerning first=93 second=39 amount=1 +kerning first=93 second=44 amount=1 +kerning first=93 second=46 amount=3 +kerning first=90 second=87 amount=2 +kerning first=90 second=81 amount=-2 +kerning first=90 second=104 amount=1 +kerning first=90 second=102 amount=-3 +kerning first=90 second=93 amount=2 +kerning first=90 second=88 amount=2 +kerning first=90 second=89 amount=1 +kerning first=90 second=65 amount=-1 +kerning first=90 second=75 amount=2 +kerning first=90 second=78 amount=1 +kerning first=90 second=53 amount=-1 +kerning first=90 second=86 amount=2 +kerning first=90 second=85 amount=2 +kerning first=90 second=83 amount=-1 +kerning first=90 second=48 amount=-3 +kerning first=90 second=68 amount=1 +kerning first=90 second=76 amount=2 +kerning first=90 second=74 amount=-5 +kerning first=90 second=63 amount=-1 +kerning first=90 second=56 amount=-3 +kerning first=90 second=69 amount=1 +kerning first=90 second=108 amount=2 +kerning first=90 second=82 amount=2 +kerning first=90 second=52 amount=-8 +kerning first=90 second=50 amount=-2 +kerning first=90 second=92 amount=2 +kerning first=90 second=51 amount=-3 +kerning first=90 second=107 amount=2 +kerning first=90 second=66 amount=2 +kerning first=90 second=80 amount=2 +kerning first=90 second=49 amount=-4 +kerning first=90 second=41 amount=2 +kerning first=90 second=73 amount=2 +kerning first=90 second=33 amount=2 +kerning first=90 second=64 amount=-4 +kerning first=90 second=54 amount=-3 +kerning first=90 second=57 amount=-3 +kerning first=90 second=105 amount=1 +kerning first=90 second=100 amount=-2 +kerning first=90 second=113 amount=-3 +kerning first=90 second=112 amount=-2 +kerning first=90 second=98 amount=2 +kerning first=90 second=116 amount=-3 +kerning first=90 second=103 amount=-2 +kerning first=90 second=121 amount=-4 +kerning first=90 second=59 amount=-1 +kerning first=90 second=119 amount=-3 +kerning first=90 second=118 amount=-3 +kerning first=90 second=122 amount=-1 +kerning first=90 second=110 amount=-1 +kerning first=90 second=114 amount=-1 +kerning first=90 second=117 amount=-2 +kerning first=90 second=109 amount=-3 +kerning first=90 second=111 amount=-2 +kerning first=90 second=101 amount=-2 +kerning first=90 second=99 amount=-2 +kerning first=90 second=115 amount=-1 +kerning first=90 second=58 amount=-2 +kerning first=90 second=35 amount=-6 +kerning first=90 second=34 amount=3 +kerning first=90 second=39 amount=3 +kerning first=90 second=45 amount=-11 +kerning first=88 second=106 amount=1 +kerning first=88 second=81 amount=-2 +kerning first=88 second=84 amount=-3 +kerning first=88 second=102 amount=-2 +kerning first=88 second=90 amount=2 +kerning first=88 second=88 amount=2 +kerning first=88 second=65 amount=1 +kerning first=88 second=83 amount=-1 +kerning first=88 second=48 amount=-2 +kerning first=88 second=74 amount=-3 +kerning first=88 second=63 amount=-3 +kerning first=88 second=56 amount=-2 +kerning first=88 second=69 amount=1 +kerning first=88 second=108 amount=2 +kerning first=88 second=52 amount=-5 +kerning first=88 second=47 amount=2 +kerning first=88 second=71 amount=-1 +kerning first=88 second=51 amount=-2 +kerning first=88 second=107 amount=2 +kerning first=88 second=80 amount=1 +kerning first=88 second=49 amount=-6 +kerning first=88 second=41 amount=2 +kerning first=88 second=73 amount=1 +kerning first=88 second=33 amount=1 +kerning first=88 second=64 amount=-1 +kerning first=88 second=79 amount=-2 +kerning first=88 second=54 amount=-3 +kerning first=88 second=57 amount=-3 +kerning first=88 second=105 amount=2 +kerning first=88 second=112 amount=1 +kerning first=88 second=98 amount=2 +kerning first=88 second=116 amount=-2 +kerning first=88 second=121 amount=-3 +kerning first=88 second=59 amount=2 +kerning first=88 second=118 amount=-2 +kerning first=88 second=122 amount=2 +kerning first=88 second=110 amount=2 +kerning first=88 second=120 amount=3 +kerning first=88 second=114 amount=1 +kerning first=88 second=97 amount=2 +kerning first=88 second=115 amount=1 +kerning first=88 second=58 amount=1 +kerning first=88 second=35 amount=-6 +kerning first=88 second=44 amount=3 +kerning first=88 second=45 amount=-5 +kerning first=88 second=46 amount=3 +kerning first=89 second=106 amount=1 +kerning first=89 second=87 amount=3 +kerning first=89 second=81 amount=-1 +kerning first=89 second=77 amount=1 +kerning first=89 second=84 amount=1 +kerning first=89 second=104 amount=2 +kerning first=89 second=102 amount=-2 +kerning first=89 second=93 amount=2 +kerning first=89 second=88 amount=3 +kerning first=89 second=89 amount=2 +kerning first=89 second=65 amount=-6 +kerning first=89 second=75 amount=3 +kerning first=89 second=78 amount=2 +kerning first=89 second=86 amount=3 +kerning first=89 second=85 amount=3 +kerning first=89 second=72 amount=2 +kerning first=89 second=48 amount=-2 +kerning first=89 second=68 amount=2 +kerning first=89 second=76 amount=3 +kerning first=89 second=74 amount=-6 +kerning first=89 second=56 amount=-2 +kerning first=89 second=69 amount=2 +kerning first=89 second=108 amount=3 +kerning first=89 second=82 amount=3 +kerning first=89 second=52 amount=-5 +kerning first=89 second=50 amount=-4 +kerning first=89 second=92 amount=3 +kerning first=89 second=47 amount=-3 +kerning first=89 second=51 amount=-3 +kerning first=89 second=107 amount=2 +kerning first=89 second=66 amount=3 +kerning first=89 second=80 amount=2 +kerning first=89 second=70 amount=1 +kerning first=89 second=49 amount=-3 +kerning first=89 second=41 amount=2 +kerning first=89 second=73 amount=3 +kerning first=89 second=33 amount=3 +kerning first=89 second=64 amount=-7 +kerning first=89 second=54 amount=-3 +kerning first=89 second=57 amount=-2 +kerning first=89 second=105 amount=2 +kerning first=89 second=100 amount=-5 +kerning first=89 second=113 amount=-4 +kerning first=89 second=112 amount=-2 +kerning first=89 second=98 amount=2 +kerning first=89 second=116 amount=-2 +kerning first=89 second=103 amount=-5 +kerning first=89 second=121 amount=-1 +kerning first=89 second=59 amount=-4 +kerning first=89 second=122 amount=-5 +kerning first=89 second=110 amount=-2 +kerning first=89 second=120 amount=-2 +kerning first=89 second=114 amount=-2 +kerning first=89 second=117 amount=-2 +kerning first=89 second=109 amount=-3 +kerning first=89 second=97 amount=-4 +kerning first=89 second=111 amount=-4 +kerning first=89 second=101 amount=-5 +kerning first=89 second=99 amount=-5 +kerning first=89 second=115 amount=-5 +kerning first=89 second=58 amount=-5 +kerning first=89 second=35 amount=-3 +kerning first=89 second=34 amount=4 +kerning first=89 second=39 amount=4 +kerning first=89 second=44 amount=-8 +kerning first=89 second=45 amount=-6 +kerning first=89 second=46 amount=-8 +kerning first=65 second=87 amount=-3 +kerning first=65 second=84 amount=-4 +kerning first=65 second=102 amount=-3 +kerning first=65 second=93 amount=-1 +kerning first=65 second=88 amount=1 +kerning first=65 second=89 amount=-6 +kerning first=65 second=53 amount=-2 +kerning first=65 second=86 amount=-4 +kerning first=65 second=83 amount=1 +kerning first=65 second=63 amount=-3 +kerning first=65 second=56 amount=-2 +kerning first=65 second=108 amount=1 +kerning first=65 second=92 amount=-7 +kerning first=65 second=71 amount=1 +kerning first=65 second=51 amount=-3 +kerning first=65 second=49 amount=-7 +kerning first=65 second=54 amount=-1 +kerning first=65 second=57 amount=-1 +kerning first=65 second=67 amount=1 +kerning first=65 second=105 amount=1 +kerning first=65 second=100 amount=1 +kerning first=65 second=113 amount=1 +kerning first=65 second=116 amount=-3 +kerning first=65 second=103 amount=2 +kerning first=65 second=59 amount=2 +kerning first=65 second=122 amount=1 +kerning first=65 second=110 amount=1 +kerning first=65 second=120 amount=2 +kerning first=65 second=114 amount=1 +kerning first=65 second=117 amount=2 +kerning first=65 second=97 amount=2 +kerning first=65 second=111 amount=2 +kerning first=65 second=101 amount=1 +kerning first=65 second=99 amount=2 +kerning first=65 second=34 amount=-7 +kerning first=65 second=39 amount=-7 +kerning first=65 second=44 amount=2 +kerning first=65 second=46 amount=2 +kerning first=75 second=106 amount=2 +kerning first=75 second=77 amount=1 +kerning first=75 second=84 amount=-2 +kerning first=75 second=104 amount=2 +kerning first=75 second=102 amount=-1 +kerning first=75 second=90 amount=3 +kerning first=75 second=88 amount=3 +kerning first=75 second=65 amount=2 +kerning first=75 second=75 amount=2 +kerning first=75 second=78 amount=2 +kerning first=75 second=53 amount=2 +kerning first=75 second=72 amount=1 +kerning first=75 second=76 amount=1 +kerning first=75 second=74 amount=-1 +kerning first=75 second=63 amount=-3 +kerning first=75 second=69 amount=2 +kerning first=75 second=108 amount=3 +kerning first=75 second=82 amount=2 +kerning first=75 second=52 amount=-5 +kerning first=75 second=50 amount=2 +kerning first=75 second=47 amount=2 +kerning first=75 second=55 amount=2 +kerning first=75 second=107 amount=2 +kerning first=75 second=66 amount=2 +kerning first=75 second=80 amount=2 +kerning first=75 second=70 amount=2 +kerning first=75 second=49 amount=-5 +kerning first=75 second=40 amount=1 +kerning first=75 second=41 amount=3 +kerning first=75 second=73 amount=2 +kerning first=75 second=33 amount=2 +kerning first=75 second=54 amount=-1 +kerning first=75 second=67 amount=2 +kerning first=75 second=105 amount=2 +kerning first=75 second=100 amount=2 +kerning first=75 second=113 amount=1 +kerning first=75 second=112 amount=2 +kerning first=75 second=98 amount=2 +kerning first=75 second=116 amount=-2 +kerning first=75 second=103 amount=2 +kerning first=75 second=121 amount=-2 +kerning first=75 second=59 amount=2 +kerning first=75 second=122 amount=3 +kerning first=75 second=110 amount=2 +kerning first=75 second=120 amount=4 +kerning first=75 second=114 amount=2 +kerning first=75 second=117 amount=2 +kerning first=75 second=97 amount=3 +kerning first=75 second=111 amount=2 +kerning first=75 second=101 amount=2 +kerning first=75 second=99 amount=2 +kerning first=75 second=115 amount=3 +kerning first=75 second=58 amount=2 +kerning first=75 second=35 amount=-7 +kerning first=75 second=44 amount=3 +kerning first=75 second=45 amount=-7 +kerning first=75 second=46 amount=4 +kerning first=78 second=106 amount=2 +kerning first=78 second=87 amount=2 +kerning first=78 second=104 amount=1 +kerning first=78 second=102 amount=1 +kerning first=78 second=93 amount=1 +kerning first=78 second=90 amount=2 +kerning first=78 second=88 amount=2 +kerning first=78 second=65 amount=1 +kerning first=78 second=75 amount=2 +kerning first=78 second=86 amount=2 +kerning first=78 second=85 amount=1 +kerning first=78 second=83 amount=1 +kerning first=78 second=48 amount=-1 +kerning first=78 second=76 amount=2 +kerning first=78 second=69 amount=1 +kerning first=78 second=108 amount=2 +kerning first=78 second=82 amount=2 +kerning first=78 second=92 amount=1 +kerning first=78 second=47 amount=2 +kerning first=78 second=107 amount=2 +kerning first=78 second=66 amount=2 +kerning first=78 second=80 amount=2 +kerning first=78 second=49 amount=-4 +kerning first=78 second=41 amount=2 +kerning first=78 second=73 amount=2 +kerning first=78 second=33 amount=2 +kerning first=78 second=54 amount=-1 +kerning first=78 second=57 amount=-1 +kerning first=78 second=105 amount=2 +kerning first=78 second=112 amount=1 +kerning first=78 second=98 amount=2 +kerning first=78 second=116 amount=2 +kerning first=78 second=103 amount=1 +kerning first=78 second=121 amount=2 +kerning first=78 second=59 amount=2 +kerning first=78 second=119 amount=3 +kerning first=78 second=118 amount=2 +kerning first=78 second=122 amount=2 +kerning first=78 second=110 amount=2 +kerning first=78 second=120 amount=3 +kerning first=78 second=114 amount=2 +kerning first=78 second=117 amount=1 +kerning first=78 second=97 amount=3 +kerning first=78 second=111 amount=1 +kerning first=78 second=99 amount=1 +kerning first=78 second=115 amount=2 +kerning first=78 second=58 amount=2 +kerning first=78 second=34 amount=2 +kerning first=78 second=39 amount=2 +kerning first=78 second=46 amount=2 +kerning first=53 second=81 amount=-2 +kerning first=53 second=90 amount=-2 +kerning first=53 second=65 amount=-5 +kerning first=53 second=86 amount=1 +kerning first=53 second=83 amount=-2 +kerning first=53 second=74 amount=-3 +kerning first=53 second=63 amount=-1 +kerning first=53 second=47 amount=-7 +kerning first=53 second=71 amount=-1 +kerning first=53 second=64 amount=-3 +kerning first=53 second=79 amount=-2 +kerning first=53 second=100 amount=-2 +kerning first=53 second=113 amount=-2 +kerning first=53 second=112 amount=-2 +kerning first=53 second=103 amount=-2 +kerning first=53 second=59 amount=-2 +kerning first=53 second=122 amount=-3 +kerning first=53 second=110 amount=-1 +kerning first=53 second=120 amount=-1 +kerning first=53 second=114 amount=-2 +kerning first=53 second=117 amount=-1 +kerning first=53 second=109 amount=-2 +kerning first=53 second=97 amount=-1 +kerning first=53 second=111 amount=-1 +kerning first=53 second=101 amount=-2 +kerning first=53 second=99 amount=-2 +kerning first=53 second=115 amount=-2 +kerning first=53 second=58 amount=-3 +kerning first=53 second=35 amount=-2 +kerning first=53 second=34 amount=1 +kerning first=53 second=39 amount=1 +kerning first=53 second=44 amount=-8 +kerning first=53 second=45 amount=-2 +kerning first=53 second=46 amount=-6 +kerning first=86 second=87 amount=2 +kerning first=86 second=81 amount=-2 +kerning first=86 second=104 amount=1 +kerning first=86 second=102 amount=-2 +kerning first=86 second=93 amount=2 +kerning first=86 second=90 amount=-1 +kerning first=86 second=88 amount=2 +kerning first=86 second=89 amount=1 +kerning first=86 second=65 amount=-7 +kerning first=86 second=75 amount=2 +kerning first=86 second=78 amount=1 +kerning first=86 second=53 amount=-1 +kerning first=86 second=86 amount=2 +kerning first=86 second=85 amount=2 +kerning first=86 second=83 amount=-1 +kerning first=86 second=48 amount=-3 +kerning first=86 second=68 amount=1 +kerning first=86 second=76 amount=2 +kerning first=86 second=74 amount=-5 +kerning first=86 second=56 amount=-3 +kerning first=86 second=69 amount=1 +kerning first=86 second=108 amount=2 +kerning first=86 second=82 amount=2 +kerning first=86 second=52 amount=-4 +kerning first=86 second=50 amount=-4 +kerning first=86 second=92 amount=2 +kerning first=86 second=47 amount=-6 +kerning first=86 second=51 amount=-3 +kerning first=86 second=107 amount=2 +kerning first=86 second=66 amount=2 +kerning first=86 second=80 amount=2 +kerning first=86 second=49 amount=-4 +kerning first=86 second=41 amount=2 +kerning first=86 second=73 amount=2 +kerning first=86 second=33 amount=2 +kerning first=86 second=64 amount=-5 +kerning first=86 second=54 amount=-3 +kerning first=86 second=57 amount=-3 +kerning first=86 second=105 amount=1 +kerning first=86 second=100 amount=-4 +kerning first=86 second=113 amount=-4 +kerning first=86 second=112 amount=-2 +kerning first=86 second=98 amount=2 +kerning first=86 second=103 amount=-4 +kerning first=86 second=59 amount=-3 +kerning first=86 second=122 amount=-4 +kerning first=86 second=110 amount=-2 +kerning first=86 second=120 amount=-2 +kerning first=86 second=114 amount=-2 +kerning first=86 second=117 amount=-2 +kerning first=86 second=109 amount=-2 +kerning first=86 second=97 amount=-3 +kerning first=86 second=111 amount=-3 +kerning first=86 second=101 amount=-4 +kerning first=86 second=99 amount=-4 +kerning first=86 second=115 amount=-4 +kerning first=86 second=58 amount=-4 +kerning first=86 second=35 amount=-2 +kerning first=86 second=34 amount=3 +kerning first=86 second=39 amount=3 +kerning first=86 second=44 amount=-7 +kerning first=86 second=45 amount=-4 +kerning first=86 second=46 amount=-7 +kerning first=85 second=106 amount=1 +kerning first=85 second=87 amount=2 +kerning first=85 second=84 amount=1 +kerning first=85 second=102 amount=2 +kerning first=85 second=93 amount=1 +kerning first=85 second=88 amount=2 +kerning first=85 second=89 amount=1 +kerning first=85 second=65 amount=-3 +kerning first=85 second=75 amount=2 +kerning first=85 second=86 amount=2 +kerning first=85 second=85 amount=2 +kerning first=85 second=68 amount=1 +kerning first=85 second=76 amount=2 +kerning first=85 second=63 amount=1 +kerning first=85 second=56 amount=-1 +kerning first=85 second=108 amount=2 +kerning first=85 second=82 amount=2 +kerning first=85 second=50 amount=-2 +kerning first=85 second=92 amount=2 +kerning first=85 second=47 amount=-2 +kerning first=85 second=71 amount=1 +kerning first=85 second=51 amount=-1 +kerning first=85 second=107 amount=2 +kerning first=85 second=66 amount=2 +kerning first=85 second=80 amount=1 +kerning first=85 second=49 amount=-4 +kerning first=85 second=40 amount=1 +kerning first=85 second=41 amount=1 +kerning first=85 second=73 amount=2 +kerning first=85 second=33 amount=2 +kerning first=85 second=54 amount=-1 +kerning first=85 second=57 amount=-1 +kerning first=85 second=67 amount=1 +kerning first=85 second=105 amount=1 +kerning first=85 second=112 amount=1 +kerning first=85 second=98 amount=2 +kerning first=85 second=116 amount=3 +kerning first=85 second=121 amount=2 +kerning first=85 second=119 amount=3 +kerning first=85 second=118 amount=3 +kerning first=85 second=110 amount=1 +kerning first=85 second=120 amount=2 +kerning first=85 second=114 amount=1 +kerning first=85 second=117 amount=1 +kerning first=85 second=97 amount=1 +kerning first=85 second=34 amount=2 +kerning first=85 second=39 amount=3 +kerning first=85 second=44 amount=-4 +kerning first=85 second=46 amount=-2 +kerning first=83 second=106 amount=1 +kerning first=83 second=104 amount=1 +kerning first=83 second=90 amount=2 +kerning first=83 second=88 amount=1 +kerning first=83 second=89 amount=-2 +kerning first=83 second=53 amount=1 +kerning first=83 second=83 amount=2 +kerning first=83 second=74 amount=1 +kerning first=83 second=108 amount=2 +kerning first=83 second=71 amount=1 +kerning first=83 second=107 amount=2 +kerning first=83 second=49 amount=-5 +kerning first=83 second=40 amount=1 +kerning first=83 second=41 amount=1 +kerning first=83 second=33 amount=2 +kerning first=83 second=67 amount=2 +kerning first=83 second=105 amount=2 +kerning first=83 second=100 amount=2 +kerning first=83 second=113 amount=2 +kerning first=83 second=112 amount=1 +kerning first=83 second=98 amount=1 +kerning first=83 second=116 amount=-1 +kerning first=83 second=103 amount=2 +kerning first=83 second=121 amount=2 +kerning first=83 second=119 amount=3 +kerning first=83 second=118 amount=3 +kerning first=83 second=122 amount=1 +kerning first=83 second=110 amount=2 +kerning first=83 second=120 amount=2 +kerning first=83 second=114 amount=2 +kerning first=83 second=117 amount=2 +kerning first=83 second=97 amount=3 +kerning first=83 second=111 amount=2 +kerning first=83 second=101 amount=2 +kerning first=83 second=99 amount=2 +kerning first=83 second=115 amount=2 +kerning first=83 second=46 amount=2 +kerning first=72 second=106 amount=2 +kerning first=72 second=87 amount=1 +kerning first=72 second=81 amount=2 +kerning first=72 second=104 amount=2 +kerning first=72 second=102 amount=2 +kerning first=72 second=93 amount=1 +kerning first=72 second=88 amount=2 +kerning first=72 second=75 amount=2 +kerning first=72 second=86 amount=2 +kerning first=72 second=85 amount=1 +kerning first=72 second=72 amount=2 +kerning first=72 second=76 amount=2 +kerning first=72 second=56 amount=-2 +kerning first=72 second=69 amount=1 +kerning first=72 second=108 amount=2 +kerning first=72 second=82 amount=2 +kerning first=72 second=52 amount=1 +kerning first=72 second=92 amount=1 +kerning first=72 second=71 amount=2 +kerning first=72 second=51 amount=-2 +kerning first=72 second=107 amount=2 +kerning first=72 second=66 amount=2 +kerning first=72 second=80 amount=1 +kerning first=72 second=49 amount=-5 +kerning first=72 second=40 amount=2 +kerning first=72 second=41 amount=1 +kerning first=72 second=73 amount=2 +kerning first=72 second=33 amount=2 +kerning first=72 second=79 amount=2 +kerning first=72 second=57 amount=-1 +kerning first=72 second=67 amount=2 +kerning first=72 second=105 amount=2 +kerning first=72 second=100 amount=2 +kerning first=72 second=113 amount=2 +kerning first=72 second=112 amount=1 +kerning first=72 second=98 amount=2 +kerning first=72 second=116 amount=3 +kerning first=72 second=103 amount=2 +kerning first=72 second=121 amount=1 +kerning first=72 second=59 amount=1 +kerning first=72 second=119 amount=3 +kerning first=72 second=118 amount=2 +kerning first=72 second=110 amount=2 +kerning first=72 second=120 amount=2 +kerning first=72 second=114 amount=2 +kerning first=72 second=117 amount=2 +kerning first=72 second=97 amount=2 +kerning first=72 second=111 amount=2 +kerning first=72 second=101 amount=2 +kerning first=72 second=99 amount=2 +kerning first=72 second=115 amount=1 +kerning first=72 second=35 amount=2 +kerning first=72 second=34 amount=2 +kerning first=72 second=39 amount=2 +kerning first=72 second=45 amount=2 +kerning first=72 second=46 amount=1 +kerning first=48 second=87 amount=-3 +kerning first=48 second=77 amount=-3 +kerning first=48 second=84 amount=-2 +kerning first=48 second=104 amount=-1 +kerning first=48 second=93 amount=-3 +kerning first=48 second=90 amount=-2 +kerning first=48 second=88 amount=-3 +kerning first=48 second=89 amount=-5 +kerning first=48 second=65 amount=-4 +kerning first=48 second=75 amount=-2 +kerning first=48 second=78 amount=-2 +kerning first=48 second=86 amount=-3 +kerning first=48 second=85 amount=-1 +kerning first=48 second=68 amount=-2 +kerning first=48 second=76 amount=-2 +kerning first=48 second=74 amount=-1 +kerning first=48 second=63 amount=-1 +kerning first=48 second=69 amount=-1 +kerning first=48 second=82 amount=-2 +kerning first=48 second=92 amount=-4 +kerning first=48 second=47 amount=-3 +kerning first=48 second=66 amount=-1 +kerning first=48 second=80 amount=-1 +kerning first=48 second=70 amount=-2 +kerning first=48 second=41 amount=-3 +kerning first=48 second=73 amount=-1 +kerning first=48 second=64 amount=-2 +kerning first=48 second=98 amount=-1 +kerning first=48 second=116 amount=1 +kerning first=48 second=119 amount=2 +kerning first=48 second=118 amount=1 +kerning first=48 second=122 amount=-2 +kerning first=48 second=109 amount=-1 +kerning first=48 second=115 amount=-1 +kerning first=48 second=58 amount=-2 +kerning first=48 second=34 amount=-1 +kerning first=48 second=39 amount=-1 +kerning first=48 second=44 amount=-4 +kerning first=48 second=46 amount=-2 +kerning first=68 second=106 amount=1 +kerning first=68 second=87 amount=1 +kerning first=68 second=84 amount=2 +kerning first=68 second=104 amount=1 +kerning first=68 second=102 amount=1 +kerning first=68 second=90 amount=-2 +kerning first=68 second=65 amount=-4 +kerning first=68 second=75 amount=1 +kerning first=68 second=53 amount=-1 +kerning first=68 second=86 amount=1 +kerning first=68 second=85 amount=1 +kerning first=68 second=76 amount=1 +kerning first=68 second=74 amount=-2 +kerning first=68 second=63 amount=2 +kerning first=68 second=108 amount=2 +kerning first=68 second=82 amount=1 +kerning first=68 second=52 amount=-1 +kerning first=68 second=50 amount=-2 +kerning first=68 second=47 amount=-6 +kerning first=68 second=107 amount=2 +kerning first=68 second=66 amount=1 +kerning first=68 second=80 amount=1 +kerning first=68 second=49 amount=-3 +kerning first=68 second=40 amount=1 +kerning first=68 second=73 amount=1 +kerning first=68 second=33 amount=2 +kerning first=68 second=64 amount=-2 +kerning first=68 second=54 amount=-1 +kerning first=68 second=67 amount=1 +kerning first=68 second=105 amount=2 +kerning first=68 second=112 amount=1 +kerning first=68 second=98 amount=2 +kerning first=68 second=116 amount=2 +kerning first=68 second=121 amount=2 +kerning first=68 second=119 amount=3 +kerning first=68 second=118 amount=3 +kerning first=68 second=110 amount=1 +kerning first=68 second=120 amount=1 +kerning first=68 second=114 amount=1 +kerning first=68 second=117 amount=1 +kerning first=68 second=101 amount=-1 +kerning first=68 second=34 amount=3 +kerning first=68 second=39 amount=3 +kerning first=68 second=44 amount=-8 +kerning first=68 second=46 amount=-6 +kerning first=76 second=106 amount=2 +kerning first=76 second=87 amount=-4 +kerning first=76 second=84 amount=-4 +kerning first=76 second=104 amount=1 +kerning first=76 second=102 amount=-2 +kerning first=76 second=90 amount=2 +kerning first=76 second=88 amount=2 +kerning first=76 second=89 amount=-6 +kerning first=76 second=53 amount=1 +kerning first=76 second=86 amount=-4 +kerning first=76 second=83 amount=2 +kerning first=76 second=63 amount=-3 +kerning first=76 second=108 amount=2 +kerning first=76 second=52 amount=-3 +kerning first=76 second=92 amount=-7 +kerning first=76 second=47 amount=1 +kerning first=76 second=107 amount=2 +kerning first=76 second=49 amount=-6 +kerning first=76 second=41 amount=1 +kerning first=76 second=33 amount=2 +kerning first=76 second=54 amount=-1 +kerning first=76 second=67 amount=1 +kerning first=76 second=105 amount=2 +kerning first=76 second=100 amount=1 +kerning first=76 second=113 amount=2 +kerning first=76 second=112 amount=2 +kerning first=76 second=98 amount=1 +kerning first=76 second=116 amount=-2 +kerning first=76 second=103 amount=2 +kerning first=76 second=121 amount=-2 +kerning first=76 second=59 amount=1 +kerning first=76 second=122 amount=2 +kerning first=76 second=110 amount=2 +kerning first=76 second=120 amount=3 +kerning first=76 second=114 amount=2 +kerning first=76 second=117 amount=2 +kerning first=76 second=97 amount=3 +kerning first=76 second=111 amount=2 +kerning first=76 second=101 amount=2 +kerning first=76 second=99 amount=2 +kerning first=76 second=115 amount=3 +kerning first=76 second=58 amount=1 +kerning first=76 second=35 amount=-7 +kerning first=76 second=34 amount=-7 +kerning first=76 second=39 amount=-7 +kerning first=76 second=44 amount=1 +kerning first=76 second=45 amount=-7 +kerning first=76 second=46 amount=3 +kerning first=74 second=106 amount=1 +kerning first=74 second=87 amount=3 +kerning first=74 second=77 amount=1 +kerning first=74 second=84 amount=1 +kerning first=74 second=104 amount=2 +kerning first=74 second=102 amount=1 +kerning first=74 second=93 amount=2 +kerning first=74 second=88 amount=3 +kerning first=74 second=89 amount=2 +kerning first=74 second=75 amount=2 +kerning first=74 second=78 amount=2 +kerning first=74 second=86 amount=3 +kerning first=74 second=85 amount=2 +kerning first=74 second=72 amount=1 +kerning first=74 second=68 amount=2 +kerning first=74 second=76 amount=2 +kerning first=74 second=63 amount=1 +kerning first=74 second=56 amount=-2 +kerning first=74 second=69 amount=2 +kerning first=74 second=108 amount=2 +kerning first=74 second=82 amount=2 +kerning first=74 second=92 amount=2 +kerning first=74 second=71 amount=1 +kerning first=74 second=51 amount=-2 +kerning first=74 second=107 amount=2 +kerning first=74 second=66 amount=3 +kerning first=74 second=80 amount=2 +kerning first=74 second=49 amount=-3 +kerning first=74 second=41 amount=2 +kerning first=74 second=73 amount=2 +kerning first=74 second=33 amount=2 +kerning first=74 second=54 amount=-1 +kerning first=74 second=57 amount=-1 +kerning first=74 second=67 amount=1 +kerning first=74 second=105 amount=2 +kerning first=74 second=98 amount=2 +kerning first=74 second=116 amount=3 +kerning first=74 second=121 amount=2 +kerning first=74 second=119 amount=3 +kerning first=74 second=118 amount=3 +kerning first=74 second=120 amount=1 +kerning first=74 second=114 amount=1 +kerning first=74 second=97 amount=1 +kerning first=74 second=111 amount=1 +kerning first=74 second=115 amount=1 +kerning first=74 second=34 amount=3 +kerning first=74 second=39 amount=3 +kerning first=63 second=87 amount=2 +kerning first=63 second=84 amount=2 +kerning first=63 second=102 amount=-1 +kerning first=63 second=93 amount=1 +kerning first=63 second=90 amount=-2 +kerning first=63 second=88 amount=1 +kerning first=63 second=65 amount=-4 +kerning first=63 second=75 amount=1 +kerning first=63 second=53 amount=-2 +kerning first=63 second=86 amount=2 +kerning first=63 second=85 amount=1 +kerning first=63 second=48 amount=-2 +kerning first=63 second=74 amount=-5 +kerning first=63 second=63 amount=2 +kerning first=63 second=56 amount=-1 +kerning first=63 second=108 amount=2 +kerning first=63 second=82 amount=1 +kerning first=63 second=52 amount=-5 +kerning first=63 second=50 amount=-2 +kerning first=63 second=92 amount=1 +kerning first=63 second=47 amount=-3 +kerning first=63 second=51 amount=-1 +kerning first=63 second=107 amount=1 +kerning first=63 second=66 amount=2 +kerning first=63 second=80 amount=1 +kerning first=63 second=49 amount=-3 +kerning first=63 second=73 amount=1 +kerning first=63 second=33 amount=2 +kerning first=63 second=64 amount=-6 +kerning first=63 second=54 amount=-2 +kerning first=63 second=57 amount=-2 +kerning first=63 second=105 amount=2 +kerning first=63 second=100 amount=-3 +kerning first=63 second=113 amount=-3 +kerning first=63 second=98 amount=2 +kerning first=63 second=103 amount=-3 +kerning first=63 second=59 amount=-2 +kerning first=63 second=119 amount=2 +kerning first=63 second=118 amount=1 +kerning first=63 second=122 amount=-3 +kerning first=63 second=97 amount=-2 +kerning first=63 second=111 amount=-3 +kerning first=63 second=101 amount=-4 +kerning first=63 second=99 amount=-4 +kerning first=63 second=115 amount=-3 +kerning first=63 second=58 amount=-3 +kerning first=63 second=35 amount=-1 +kerning first=63 second=34 amount=2 +kerning first=63 second=39 amount=3 +kerning first=63 second=44 amount=-2 +kerning first=63 second=45 amount=-5 +kerning first=63 second=46 amount=-3 +kerning first=56 second=106 amount=-2 +kerning first=56 second=87 amount=-3 +kerning first=56 second=81 amount=-3 +kerning first=56 second=77 amount=-4 +kerning first=56 second=84 amount=-3 +kerning first=56 second=104 amount=-2 +kerning first=56 second=102 amount=-5 +kerning first=56 second=93 amount=-3 +kerning first=56 second=90 amount=-3 +kerning first=56 second=88 amount=-3 +kerning first=56 second=89 amount=-4 +kerning first=56 second=65 amount=-4 +kerning first=56 second=75 amount=-3 +kerning first=56 second=78 amount=-3 +kerning first=56 second=86 amount=-2 +kerning first=56 second=85 amount=-3 +kerning first=56 second=83 amount=-2 +kerning first=56 second=72 amount=-3 +kerning first=56 second=68 amount=-3 +kerning first=56 second=76 amount=-3 +kerning first=56 second=74 amount=-2 +kerning first=56 second=63 amount=-2 +kerning first=56 second=69 amount=-3 +kerning first=56 second=108 amount=-2 +kerning first=56 second=82 amount=-3 +kerning first=56 second=92 amount=-3 +kerning first=56 second=47 amount=-4 +kerning first=56 second=71 amount=-2 +kerning first=56 second=107 amount=-2 +kerning first=56 second=66 amount=-3 +kerning first=56 second=80 amount=-3 +kerning first=56 second=70 amount=-3 +kerning first=56 second=40 amount=-2 +kerning first=56 second=41 amount=-3 +kerning first=56 second=73 amount=-3 +kerning first=56 second=33 amount=-2 +kerning first=56 second=64 amount=-3 +kerning first=56 second=79 amount=-3 +kerning first=56 second=67 amount=-2 +kerning first=56 second=105 amount=-2 +kerning first=56 second=100 amount=-2 +kerning first=56 second=113 amount=-2 +kerning first=56 second=112 amount=-3 +kerning first=56 second=98 amount=-2 +kerning first=56 second=116 amount=-4 +kerning first=56 second=103 amount=-2 +kerning first=56 second=121 amount=-2 +kerning first=56 second=59 amount=-5 +kerning first=56 second=119 amount=-2 +kerning first=56 second=118 amount=-2 +kerning first=56 second=122 amount=-4 +kerning first=56 second=110 amount=-2 +kerning first=56 second=120 amount=-3 +kerning first=56 second=114 amount=-2 +kerning first=56 second=117 amount=-2 +kerning first=56 second=109 amount=-3 +kerning first=56 second=97 amount=-1 +kerning first=56 second=111 amount=-2 +kerning first=56 second=101 amount=-2 +kerning first=56 second=99 amount=-2 +kerning first=56 second=115 amount=-2 +kerning first=56 second=58 amount=-4 +kerning first=56 second=35 amount=-3 +kerning first=56 second=34 amount=-2 +kerning first=56 second=39 amount=-2 +kerning first=56 second=44 amount=-6 +kerning first=56 second=45 amount=-3 +kerning first=56 second=46 amount=-3 +kerning first=69 second=87 amount=2 +kerning first=69 second=81 amount=-1 +kerning first=69 second=102 amount=-2 +kerning first=69 second=93 amount=1 +kerning first=69 second=90 amount=1 +kerning first=69 second=88 amount=2 +kerning first=69 second=75 amount=2 +kerning first=69 second=86 amount=2 +kerning first=69 second=85 amount=1 +kerning first=69 second=48 amount=-2 +kerning first=69 second=76 amount=2 +kerning first=69 second=74 amount=-3 +kerning first=69 second=63 amount=-1 +kerning first=69 second=56 amount=-2 +kerning first=69 second=108 amount=2 +kerning first=69 second=82 amount=2 +kerning first=69 second=52 amount=-1 +kerning first=69 second=92 amount=1 +kerning first=69 second=51 amount=-1 +kerning first=69 second=107 amount=1 +kerning first=69 second=66 amount=2 +kerning first=69 second=80 amount=1 +kerning first=69 second=49 amount=-4 +kerning first=69 second=41 amount=1 +kerning first=69 second=73 amount=2 +kerning first=69 second=33 amount=2 +kerning first=69 second=64 amount=-1 +kerning first=69 second=54 amount=-3 +kerning first=69 second=57 amount=-2 +kerning first=69 second=105 amount=1 +kerning first=69 second=98 amount=1 +kerning first=69 second=121 amount=-2 +kerning first=69 second=118 amount=-1 +kerning first=69 second=120 amount=2 +kerning first=69 second=97 amount=1 +kerning first=69 second=35 amount=-1 +kerning first=69 second=34 amount=2 +kerning first=69 second=39 amount=2 +kerning first=69 second=46 amount=1 +kerning first=108 second=106 amount=2 +kerning first=108 second=104 amount=1 +kerning first=108 second=102 amount=2 +kerning first=108 second=93 amount=2 +kerning first=108 second=63 amount=2 +kerning first=108 second=108 amount=3 +kerning first=108 second=50 amount=1 +kerning first=108 second=92 amount=2 +kerning first=108 second=47 amount=2 +kerning first=108 second=107 amount=2 +kerning first=108 second=49 amount=-4 +kerning first=108 second=40 amount=1 +kerning first=108 second=41 amount=2 +kerning first=108 second=33 amount=2 +kerning first=108 second=105 amount=2 +kerning first=108 second=100 amount=1 +kerning first=108 second=113 amount=1 +kerning first=108 second=112 amount=2 +kerning first=108 second=98 amount=2 +kerning first=108 second=116 amount=3 +kerning first=108 second=103 amount=2 +kerning first=108 second=121 amount=3 +kerning first=108 second=59 amount=3 +kerning first=108 second=119 amount=4 +kerning first=108 second=118 amount=3 +kerning first=108 second=122 amount=2 +kerning first=108 second=110 amount=2 +kerning first=108 second=120 amount=3 +kerning first=108 second=114 amount=2 +kerning first=108 second=117 amount=2 +kerning first=108 second=97 amount=2 +kerning first=108 second=111 amount=2 +kerning first=108 second=101 amount=1 +kerning first=108 second=99 amount=2 +kerning first=108 second=115 amount=2 +kerning first=108 second=58 amount=2 +kerning first=108 second=35 amount=1 +kerning first=108 second=34 amount=3 +kerning first=108 second=39 amount=3 +kerning first=108 second=44 amount=3 +kerning first=108 second=45 amount=1 +kerning first=108 second=46 amount=3 +kerning first=82 second=106 amount=3 +kerning first=82 second=77 amount=2 +kerning first=82 second=104 amount=2 +kerning first=82 second=93 amount=1 +kerning first=82 second=90 amount=3 +kerning first=82 second=88 amount=4 +kerning first=82 second=89 amount=-2 +kerning first=82 second=65 amount=2 +kerning first=82 second=75 amount=2 +kerning first=82 second=78 amount=2 +kerning first=82 second=53 amount=1 +kerning first=82 second=72 amount=2 +kerning first=82 second=68 amount=1 +kerning first=82 second=76 amount=2 +kerning first=82 second=74 amount=-2 +kerning first=82 second=63 amount=-1 +kerning first=82 second=69 amount=2 +kerning first=82 second=108 amount=3 +kerning first=82 second=82 amount=2 +kerning first=82 second=52 amount=-7 +kerning first=82 second=50 amount=2 +kerning first=82 second=92 amount=-1 +kerning first=82 second=47 amount=3 +kerning first=82 second=55 amount=2 +kerning first=82 second=107 amount=3 +kerning first=82 second=66 amount=2 +kerning first=82 second=80 amount=3 +kerning first=82 second=70 amount=2 +kerning first=82 second=49 amount=-5 +kerning first=82 second=40 amount=1 +kerning first=82 second=41 amount=3 +kerning first=82 second=73 amount=3 +kerning first=82 second=33 amount=3 +kerning first=82 second=54 amount=-2 +kerning first=82 second=57 amount=-1 +kerning first=82 second=67 amount=2 +kerning first=82 second=105 amount=3 +kerning first=82 second=100 amount=2 +kerning first=82 second=113 amount=1 +kerning first=82 second=112 amount=2 +kerning first=82 second=98 amount=3 +kerning first=82 second=103 amount=2 +kerning first=82 second=121 amount=-2 +kerning first=82 second=59 amount=3 +kerning first=82 second=122 amount=3 +kerning first=82 second=110 amount=3 +kerning first=82 second=120 amount=4 +kerning first=82 second=114 amount=3 +kerning first=82 second=117 amount=2 +kerning first=82 second=97 amount=4 +kerning first=82 second=111 amount=2 +kerning first=82 second=101 amount=2 +kerning first=82 second=99 amount=2 +kerning first=82 second=115 amount=3 +kerning first=82 second=58 amount=3 +kerning first=82 second=35 amount=-5 +kerning first=82 second=44 amount=4 +kerning first=82 second=45 amount=-9 +kerning first=82 second=46 amount=5 +kerning first=52 second=106 amount=2 +kerning first=52 second=87 amount=-2 +kerning first=52 second=81 amount=2 +kerning first=52 second=84 amount=-3 +kerning first=52 second=104 amount=1 +kerning first=52 second=102 amount=1 +kerning first=52 second=93 amount=-3 +kerning first=52 second=90 amount=-4 +kerning first=52 second=88 amount=-3 +kerning first=52 second=89 amount=-4 +kerning first=52 second=65 amount=-2 +kerning first=52 second=86 amount=-2 +kerning first=52 second=85 amount=1 +kerning first=52 second=83 amount=-2 +kerning first=52 second=72 amount=2 +kerning first=52 second=63 amount=-2 +kerning first=52 second=69 amount=1 +kerning first=52 second=108 amount=2 +kerning first=52 second=92 amount=-3 +kerning first=52 second=47 amount=-4 +kerning first=52 second=71 amount=2 +kerning first=52 second=107 amount=2 +kerning first=52 second=66 amount=1 +kerning first=52 second=80 amount=1 +kerning first=52 second=40 amount=2 +kerning first=52 second=41 amount=-1 +kerning first=52 second=73 amount=1 +kerning first=52 second=33 amount=2 +kerning first=52 second=79 amount=1 +kerning first=52 second=67 amount=2 +kerning first=52 second=105 amount=2 +kerning first=52 second=100 amount=2 +kerning first=52 second=113 amount=2 +kerning first=52 second=112 amount=1 +kerning first=52 second=98 amount=1 +kerning first=52 second=116 amount=2 +kerning first=52 second=103 amount=2 +kerning first=52 second=121 amount=1 +kerning first=52 second=119 amount=3 +kerning first=52 second=118 amount=2 +kerning first=52 second=122 amount=-2 +kerning first=52 second=110 amount=2 +kerning first=52 second=114 amount=2 +kerning first=52 second=117 amount=2 +kerning first=52 second=97 amount=2 +kerning first=52 second=111 amount=2 +kerning first=52 second=101 amount=2 +kerning first=52 second=99 amount=2 +kerning first=52 second=115 amount=1 +kerning first=52 second=35 amount=2 +kerning first=52 second=34 amount=-3 +kerning first=52 second=39 amount=-3 +kerning first=52 second=44 amount=-4 +kerning first=52 second=45 amount=3 +kerning first=52 second=46 amount=-4 +kerning first=50 second=106 amount=1 +kerning first=50 second=81 amount=-1 +kerning first=50 second=90 amount=2 +kerning first=50 second=88 amount=2 +kerning first=50 second=74 amount=-3 +kerning first=50 second=108 amount=1 +kerning first=50 second=47 amount=1 +kerning first=50 second=107 amount=1 +kerning first=50 second=41 amount=1 +kerning first=50 second=105 amount=1 +kerning first=50 second=98 amount=1 +kerning first=50 second=119 amount=2 +kerning first=50 second=118 amount=2 +kerning first=50 second=122 amount=1 +kerning first=50 second=110 amount=1 +kerning first=50 second=120 amount=2 +kerning first=50 second=97 amount=2 +kerning first=50 second=115 amount=1 +kerning first=50 second=35 amount=-1 +kerning first=50 second=34 amount=1 +kerning first=50 second=39 amount=2 +kerning first=50 second=45 amount=-4 +kerning first=50 second=46 amount=2 +kerning first=92 second=87 amount=-5 +kerning first=92 second=81 amount=-2 +kerning first=92 second=84 amount=-4 +kerning first=92 second=102 amount=-3 +kerning first=92 second=93 amount=-1 +kerning first=92 second=88 amount=1 +kerning first=92 second=89 amount=-6 +kerning first=92 second=86 amount=-5 +kerning first=92 second=85 amount=-3 +kerning first=92 second=83 amount=-1 +kerning first=92 second=48 amount=-3 +kerning first=92 second=74 amount=-3 +kerning first=92 second=63 amount=-5 +kerning first=92 second=56 amount=-2 +kerning first=92 second=108 amount=1 +kerning first=92 second=52 amount=-4 +kerning first=92 second=92 amount=-9 +kerning first=92 second=71 amount=-2 +kerning first=92 second=51 amount=-2 +kerning first=92 second=49 amount=-7 +kerning first=92 second=64 amount=-1 +kerning first=92 second=79 amount=-3 +kerning first=92 second=54 amount=-4 +kerning first=92 second=57 amount=-3 +kerning first=92 second=116 amount=-3 +kerning first=92 second=121 amount=-4 +kerning first=92 second=59 amount=1 +kerning first=92 second=119 amount=-1 +kerning first=92 second=118 amount=-2 +kerning first=92 second=122 amount=2 +kerning first=92 second=110 amount=1 +kerning first=92 second=120 amount=3 +kerning first=92 second=114 amount=1 +kerning first=92 second=97 amount=2 +kerning first=92 second=115 amount=1 +kerning first=92 second=58 amount=1 +kerning first=92 second=35 amount=-5 +kerning first=92 second=34 amount=-12 +kerning first=92 second=39 amount=-9 +kerning first=92 second=44 amount=2 +kerning first=92 second=45 amount=-4 +kerning first=92 second=46 amount=3 +kerning first=47 second=87 amount=1 +kerning first=47 second=81 amount=-3 +kerning first=47 second=102 amount=-4 +kerning first=47 second=90 amount=-2 +kerning first=47 second=88 amount=1 +kerning first=47 second=65 amount=-8 +kerning first=47 second=75 amount=1 +kerning first=47 second=53 amount=-2 +kerning first=47 second=86 amount=1 +kerning first=47 second=83 amount=-2 +kerning first=47 second=48 amount=-4 +kerning first=47 second=76 amount=1 +kerning first=47 second=74 amount=-9 +kerning first=47 second=63 amount=-2 +kerning first=47 second=56 amount=-4 +kerning first=47 second=52 amount=-9 +kerning first=47 second=50 amount=-6 +kerning first=47 second=47 amount=-12 +kerning first=47 second=71 amount=-2 +kerning first=47 second=55 amount=-1 +kerning first=47 second=51 amount=-5 +kerning first=47 second=66 amount=1 +kerning first=47 second=49 amount=-5 +kerning first=47 second=40 amount=-1 +kerning first=47 second=64 amount=-10 +kerning first=47 second=79 amount=-2 +kerning first=47 second=54 amount=-4 +kerning first=47 second=57 amount=-4 +kerning first=47 second=67 amount=-2 +kerning first=47 second=100 amount=-7 +kerning first=47 second=113 amount=-7 +kerning first=47 second=112 amount=-4 +kerning first=47 second=116 amount=-4 +kerning first=47 second=103 amount=-7 +kerning first=47 second=121 amount=-3 +kerning first=47 second=59 amount=-6 +kerning first=47 second=119 amount=-3 +kerning first=47 second=118 amount=-3 +kerning first=47 second=122 amount=-7 +kerning first=47 second=110 amount=-5 +kerning first=47 second=120 amount=-4 +kerning first=47 second=114 amount=-5 +kerning first=47 second=117 amount=-5 +kerning first=47 second=109 amount=-5 +kerning first=47 second=97 amount=-6 +kerning first=47 second=111 amount=-7 +kerning first=47 second=101 amount=-8 +kerning first=47 second=99 amount=-8 +kerning first=47 second=115 amount=-7 +kerning first=47 second=58 amount=-7 +kerning first=47 second=35 amount=-5 +kerning first=47 second=34 amount=3 +kerning first=47 second=39 amount=3 +kerning first=47 second=44 amount=-8 +kerning first=47 second=45 amount=-9 +kerning first=47 second=46 amount=-10 +kerning first=71 second=106 amount=2 +kerning first=71 second=81 amount=2 +kerning first=71 second=84 amount=-3 +kerning first=71 second=104 amount=2 +kerning first=71 second=102 amount=1 +kerning first=71 second=93 amount=-4 +kerning first=71 second=90 amount=-3 +kerning first=71 second=88 amount=-3 +kerning first=71 second=89 amount=-4 +kerning first=71 second=75 amount=1 +kerning first=71 second=78 amount=1 +kerning first=71 second=53 amount=-2 +kerning first=71 second=86 amount=-1 +kerning first=71 second=85 amount=2 +kerning first=71 second=83 amount=-2 +kerning first=71 second=72 amount=3 +kerning first=71 second=48 amount=1 +kerning first=71 second=68 amount=1 +kerning first=71 second=76 amount=1 +kerning first=71 second=74 amount=1 +kerning first=71 second=63 amount=-1 +kerning first=71 second=56 amount=-2 +kerning first=71 second=69 amount=2 +kerning first=71 second=108 amount=3 +kerning first=71 second=82 amount=1 +kerning first=71 second=52 amount=2 +kerning first=71 second=50 amount=-5 +kerning first=71 second=92 amount=-4 +kerning first=71 second=47 amount=-3 +kerning first=71 second=71 amount=3 +kerning first=71 second=55 amount=-4 +kerning first=71 second=51 amount=-3 +kerning first=71 second=107 amount=3 +kerning first=71 second=66 amount=2 +kerning first=71 second=80 amount=2 +kerning first=71 second=70 amount=1 +kerning first=71 second=49 amount=-6 +kerning first=71 second=40 amount=3 +kerning first=71 second=73 amount=2 +kerning first=71 second=33 amount=3 +kerning first=71 second=64 amount=2 +kerning first=71 second=79 amount=2 +kerning first=71 second=57 amount=-1 +kerning first=71 second=67 amount=3 +kerning first=71 second=105 amount=3 +kerning first=71 second=100 amount=3 +kerning first=71 second=113 amount=3 +kerning first=71 second=112 amount=2 +kerning first=71 second=98 amount=2 +kerning first=71 second=116 amount=3 +kerning first=71 second=103 amount=3 +kerning first=71 second=121 amount=2 +kerning first=71 second=119 amount=3 +kerning first=71 second=118 amount=2 +kerning first=71 second=122 amount=-3 +kerning first=71 second=110 amount=3 +kerning first=71 second=114 amount=2 +kerning first=71 second=117 amount=3 +kerning first=71 second=109 amount=2 +kerning first=71 second=97 amount=2 +kerning first=71 second=111 amount=3 +kerning first=71 second=101 amount=3 +kerning first=71 second=99 amount=3 +kerning first=71 second=115 amount=2 +kerning first=71 second=35 amount=3 +kerning first=71 second=34 amount=-2 +kerning first=71 second=39 amount=-2 +kerning first=71 second=44 amount=-5 +kerning first=71 second=45 amount=3 +kerning first=71 second=46 amount=-4 +kerning first=55 second=106 amount=-2 +kerning first=55 second=81 amount=-4 +kerning first=55 second=77 amount=-2 +kerning first=55 second=104 amount=-1 +kerning first=55 second=102 amount=-5 +kerning first=55 second=90 amount=-4 +kerning first=55 second=89 amount=-1 +kerning first=55 second=65 amount=-9 +kerning first=55 second=78 amount=-1 +kerning first=55 second=83 amount=-3 +kerning first=55 second=72 amount=-2 +kerning first=55 second=68 amount=-1 +kerning first=55 second=74 amount=-7 +kerning first=55 second=63 amount=-3 +kerning first=55 second=69 amount=-1 +kerning first=55 second=47 amount=-11 +kerning first=55 second=71 amount=-3 +kerning first=55 second=70 amount=-2 +kerning first=55 second=40 amount=-2 +kerning first=55 second=64 amount=-10 +kerning first=55 second=79 amount=-3 +kerning first=55 second=67 amount=-3 +kerning first=55 second=105 amount=-1 +kerning first=55 second=100 amount=-8 +kerning first=55 second=113 amount=-8 +kerning first=55 second=112 amount=-6 +kerning first=55 second=116 amount=-5 +kerning first=55 second=103 amount=-8 +kerning first=55 second=121 amount=-4 +kerning first=55 second=59 amount=-7 +kerning first=55 second=119 amount=-4 +kerning first=55 second=118 amount=-4 +kerning first=55 second=122 amount=-8 +kerning first=55 second=110 amount=-6 +kerning first=55 second=120 amount=-5 +kerning first=55 second=114 amount=-6 +kerning first=55 second=117 amount=-6 +kerning first=55 second=109 amount=-6 +kerning first=55 second=97 amount=-7 +kerning first=55 second=111 amount=-8 +kerning first=55 second=101 amount=-9 +kerning first=55 second=99 amount=-8 +kerning first=55 second=115 amount=-8 +kerning first=55 second=58 amount=-8 +kerning first=55 second=35 amount=-5 +kerning first=55 second=39 amount=1 +kerning first=55 second=44 amount=-10 +kerning first=55 second=45 amount=-9 +kerning first=55 second=46 amount=-12 +kerning first=51 second=77 amount=-2 +kerning first=51 second=84 amount=-1 +kerning first=51 second=93 amount=-1 +kerning first=51 second=90 amount=-4 +kerning first=51 second=89 amount=-2 +kerning first=51 second=65 amount=-4 +kerning first=51 second=75 amount=-1 +kerning first=51 second=78 amount=-2 +kerning first=51 second=83 amount=-2 +kerning first=51 second=68 amount=-2 +kerning first=51 second=76 amount=-1 +kerning first=51 second=74 amount=-1 +kerning first=51 second=63 amount=-1 +kerning first=51 second=92 amount=-1 +kerning first=51 second=47 amount=-6 +kerning first=51 second=70 amount=-1 +kerning first=51 second=41 amount=-2 +kerning first=51 second=64 amount=-2 +kerning first=51 second=59 amount=-1 +kerning first=51 second=122 amount=-4 +kerning first=51 second=120 amount=-2 +kerning first=51 second=109 amount=-1 +kerning first=51 second=58 amount=-2 +kerning first=51 second=44 amount=-8 +kerning first=51 second=46 amount=-5 +kerning first=107 second=106 amount=3 +kerning first=107 second=104 amount=2 +kerning first=107 second=102 amount=2 +kerning first=107 second=53 amount=1 +kerning first=107 second=108 amount=3 +kerning first=107 second=52 amount=-3 +kerning first=107 second=50 amount=2 +kerning first=107 second=92 amount=-4 +kerning first=107 second=47 amount=3 +kerning first=107 second=55 amount=2 +kerning first=107 second=107 amount=3 +kerning first=107 second=49 amount=-5 +kerning first=107 second=40 amount=2 +kerning first=107 second=41 amount=3 +kerning first=107 second=33 amount=2 +kerning first=107 second=105 amount=3 +kerning first=107 second=100 amount=2 +kerning first=107 second=113 amount=2 +kerning first=107 second=112 amount=3 +kerning first=107 second=98 amount=3 +kerning first=107 second=116 amount=3 +kerning first=107 second=103 amount=3 +kerning first=107 second=121 amount=4 +kerning first=107 second=59 amount=3 +kerning first=107 second=119 amount=5 +kerning first=107 second=118 amount=5 +kerning first=107 second=122 amount=4 +kerning first=107 second=110 amount=3 +kerning first=107 second=120 amount=5 +kerning first=107 second=114 amount=3 +kerning first=107 second=117 amount=3 +kerning first=107 second=109 amount=2 +kerning first=107 second=97 amount=4 +kerning first=107 second=111 amount=3 +kerning first=107 second=101 amount=2 +kerning first=107 second=99 amount=3 +kerning first=107 second=115 amount=3 +kerning first=107 second=58 amount=3 +kerning first=107 second=35 amount=1 +kerning first=107 second=34 amount=-2 +kerning first=107 second=39 amount=-2 +kerning first=107 second=44 amount=4 +kerning first=107 second=45 amount=-3 +kerning first=107 second=46 amount=4 +kerning first=66 second=90 amount=-3 +kerning first=66 second=89 amount=-2 +kerning first=66 second=65 amount=-2 +kerning first=66 second=53 amount=-2 +kerning first=66 second=72 amount=1 +kerning first=66 second=56 amount=-3 +kerning first=66 second=108 amount=1 +kerning first=66 second=50 amount=-5 +kerning first=66 second=47 amount=-4 +kerning first=66 second=71 amount=2 +kerning first=66 second=55 amount=-2 +kerning first=66 second=51 amount=-4 +kerning first=66 second=107 amount=1 +kerning first=66 second=49 amount=-5 +kerning first=66 second=40 amount=1 +kerning first=66 second=41 amount=-1 +kerning first=66 second=33 amount=1 +kerning first=66 second=57 amount=-2 +kerning first=66 second=67 amount=2 +kerning first=66 second=105 amount=1 +kerning first=66 second=100 amount=1 +kerning first=66 second=113 amount=1 +kerning first=66 second=116 amount=2 +kerning first=66 second=103 amount=2 +kerning first=66 second=119 amount=2 +kerning first=66 second=122 amount=-2 +kerning first=66 second=110 amount=1 +kerning first=66 second=114 amount=1 +kerning first=66 second=117 amount=2 +kerning first=66 second=111 amount=2 +kerning first=66 second=101 amount=1 +kerning first=66 second=99 amount=1 +kerning first=66 second=35 amount=2 +kerning first=66 second=44 amount=-7 +kerning first=66 second=45 amount=2 +kerning first=66 second=46 amount=-4 +kerning first=80 second=106 amount=1 +kerning first=80 second=87 amount=3 +kerning first=80 second=77 amount=1 +kerning first=80 second=84 amount=3 +kerning first=80 second=104 amount=2 +kerning first=80 second=93 amount=2 +kerning first=80 second=88 amount=3 +kerning first=80 second=89 amount=2 +kerning first=80 second=65 amount=-5 +kerning first=80 second=75 amount=3 +kerning first=80 second=78 amount=2 +kerning first=80 second=86 amount=3 +kerning first=80 second=85 amount=3 +kerning first=80 second=72 amount=1 +kerning first=80 second=68 amount=2 +kerning first=80 second=76 amount=2 +kerning first=80 second=74 amount=-5 +kerning first=80 second=63 amount=2 +kerning first=80 second=69 amount=2 +kerning first=80 second=108 amount=3 +kerning first=80 second=82 amount=3 +kerning first=80 second=52 amount=-4 +kerning first=80 second=50 amount=-2 +kerning first=80 second=92 amount=2 +kerning first=80 second=47 amount=-8 +kerning first=80 second=71 amount=1 +kerning first=80 second=107 amount=3 +kerning first=80 second=66 amount=3 +kerning first=80 second=80 amount=2 +kerning first=80 second=70 amount=1 +kerning first=80 second=49 amount=-2 +kerning first=80 second=40 amount=1 +kerning first=80 second=41 amount=2 +kerning first=80 second=73 amount=3 +kerning first=80 second=33 amount=3 +kerning first=80 second=64 amount=-4 +kerning first=80 second=79 amount=1 +kerning first=80 second=54 amount=-1 +kerning first=80 second=67 amount=1 +kerning first=80 second=105 amount=3 +kerning first=80 second=100 amount=-2 +kerning first=80 second=113 amount=-2 +kerning first=80 second=98 amount=3 +kerning first=80 second=116 amount=1 +kerning first=80 second=103 amount=-2 +kerning first=80 second=121 amount=2 +kerning first=80 second=119 amount=3 +kerning first=80 second=118 amount=3 +kerning first=80 second=122 amount=-2 +kerning first=80 second=111 amount=-2 +kerning first=80 second=101 amount=-3 +kerning first=80 second=99 amount=-2 +kerning first=80 second=115 amount=-2 +kerning first=80 second=58 amount=-2 +kerning first=80 second=34 amount=4 +kerning first=80 second=39 amount=4 +kerning first=80 second=44 amount=-9 +kerning first=80 second=45 amount=-3 +kerning first=80 second=46 amount=-9 +kerning first=123 second=32 amount=2 +kerning first=125 second=112 amount=1 +kerning first=125 second=110 amount=1 +kerning first=125 second=109 amount=2 +kerning first=125 second=111 amount=2 +kerning first=70 second=87 amount=2 +kerning first=70 second=93 amount=1 +kerning first=70 second=90 amount=-2 +kerning first=70 second=88 amount=2 +kerning first=70 second=65 amount=-4 +kerning first=70 second=75 amount=2 +kerning first=70 second=53 amount=-2 +kerning first=70 second=86 amount=2 +kerning first=70 second=85 amount=2 +kerning first=70 second=83 amount=-1 +kerning first=70 second=48 amount=-1 +kerning first=70 second=76 amount=2 +kerning first=70 second=74 amount=-5 +kerning first=70 second=63 amount=-1 +kerning first=70 second=56 amount=-3 +kerning first=70 second=108 amount=2 +kerning first=70 second=82 amount=2 +kerning first=70 second=50 amount=-5 +kerning first=70 second=92 amount=1 +kerning first=70 second=47 amount=-6 +kerning first=70 second=51 amount=-5 +kerning first=70 second=107 amount=1 +kerning first=70 second=66 amount=2 +kerning first=70 second=80 amount=1 +kerning first=70 second=49 amount=-4 +kerning first=70 second=41 amount=1 +kerning first=70 second=73 amount=2 +kerning first=70 second=33 amount=2 +kerning first=70 second=64 amount=-1 +kerning first=70 second=54 amount=-2 +kerning first=70 second=57 amount=-3 +kerning first=70 second=105 amount=1 +kerning first=70 second=98 amount=2 +kerning first=70 second=59 amount=-1 +kerning first=70 second=122 amount=-4 +kerning first=70 second=120 amount=-2 +kerning first=70 second=109 amount=-1 +kerning first=70 second=58 amount=-2 +kerning first=70 second=34 amount=2 +kerning first=70 second=39 amount=3 +kerning first=70 second=44 amount=-7 +kerning first=70 second=46 amount=-7 +kerning first=49 second=106 amount=-6 +kerning first=49 second=87 amount=-7 +kerning first=49 second=81 amount=-8 +kerning first=49 second=77 amount=-8 +kerning first=49 second=84 amount=-8 +kerning first=49 second=104 amount=-7 +kerning first=49 second=102 amount=-7 +kerning first=49 second=93 amount=-8 +kerning first=49 second=90 amount=-6 +kerning first=49 second=88 amount=-5 +kerning first=49 second=89 amount=-8 +kerning first=49 second=65 amount=-7 +kerning first=49 second=75 amount=-7 +kerning first=49 second=78 amount=-7 +kerning first=49 second=86 amount=-7 +kerning first=49 second=85 amount=-7 +kerning first=49 second=83 amount=-7 +kerning first=49 second=72 amount=-7 +kerning first=49 second=68 amount=-8 +kerning first=49 second=76 amount=-7 +kerning first=49 second=74 amount=-8 +kerning first=49 second=63 amount=-8 +kerning first=49 second=69 amount=-7 +kerning first=49 second=108 amount=-6 +kerning first=49 second=82 amount=-7 +kerning first=49 second=92 amount=-7 +kerning first=49 second=47 amount=-6 +kerning first=49 second=71 amount=-7 +kerning first=49 second=107 amount=-6 +kerning first=49 second=66 amount=-7 +kerning first=49 second=80 amount=-6 +kerning first=49 second=70 amount=-7 +kerning first=49 second=40 amount=-8 +kerning first=49 second=41 amount=-6 +kerning first=49 second=73 amount=-6 +kerning first=49 second=33 amount=-6 +kerning first=49 second=64 amount=-9 +kerning first=49 second=79 amount=-8 +kerning first=49 second=67 amount=-7 +kerning first=49 second=105 amount=-6 +kerning first=49 second=100 amount=-7 +kerning first=49 second=113 amount=-7 +kerning first=49 second=112 amount=-7 +kerning first=49 second=98 amount=-6 +kerning first=49 second=116 amount=-6 +kerning first=49 second=103 amount=-7 +kerning first=49 second=121 amount=-7 +kerning first=49 second=59 amount=-6 +kerning first=49 second=119 amount=-6 +kerning first=49 second=118 amount=-6 +kerning first=49 second=122 amount=-6 +kerning first=49 second=110 amount=-6 +kerning first=49 second=120 amount=-5 +kerning first=49 second=114 amount=-6 +kerning first=49 second=117 amount=-7 +kerning first=49 second=109 amount=-8 +kerning first=49 second=97 amount=-5 +kerning first=49 second=111 amount=-7 +kerning first=49 second=101 amount=-7 +kerning first=49 second=99 amount=-7 +kerning first=49 second=115 amount=-6 +kerning first=49 second=58 amount=-6 +kerning first=49 second=35 amount=-8 +kerning first=49 second=34 amount=-7 +kerning first=49 second=39 amount=-7 +kerning first=49 second=44 amount=-6 +kerning first=49 second=45 amount=-8 +kerning first=49 second=46 amount=-5 +kerning first=40 second=106 amount=2 +kerning first=40 second=87 amount=2 +kerning first=40 second=81 amount=-2 +kerning first=40 second=104 amount=1 +kerning first=40 second=93 amount=2 +kerning first=40 second=90 amount=2 +kerning first=40 second=88 amount=2 +kerning first=40 second=89 amount=1 +kerning first=40 second=65 amount=1 +kerning first=40 second=75 amount=2 +kerning first=40 second=78 amount=1 +kerning first=40 second=86 amount=3 +kerning first=40 second=85 amount=2 +kerning first=40 second=48 amount=-2 +kerning first=40 second=68 amount=1 +kerning first=40 second=76 amount=2 +kerning first=40 second=74 amount=-1 +kerning first=40 second=56 amount=-2 +kerning first=40 second=69 amount=1 +kerning first=40 second=108 amount=2 +kerning first=40 second=82 amount=2 +kerning first=40 second=52 amount=-2 +kerning first=40 second=92 amount=2 +kerning first=40 second=47 amount=2 +kerning first=40 second=51 amount=-2 +kerning first=40 second=107 amount=2 +kerning first=40 second=66 amount=2 +kerning first=40 second=80 amount=2 +kerning first=40 second=49 amount=-4 +kerning first=40 second=41 amount=2 +kerning first=40 second=73 amount=2 +kerning first=40 second=33 amount=2 +kerning first=40 second=64 amount=-2 +kerning first=40 second=54 amount=-3 +kerning first=40 second=57 amount=-2 +kerning first=40 second=105 amount=1 +kerning first=40 second=112 amount=1 +kerning first=40 second=98 amount=2 +kerning first=40 second=59 amount=2 +kerning first=40 second=122 amount=2 +kerning first=40 second=110 amount=2 +kerning first=40 second=120 amount=3 +kerning first=40 second=114 amount=2 +kerning first=40 second=97 amount=2 +kerning first=40 second=58 amount=1 +kerning first=40 second=35 amount=-2 +kerning first=40 second=34 amount=3 +kerning first=40 second=39 amount=3 +kerning first=40 second=44 amount=2 +kerning first=40 second=45 amount=-2 +kerning first=40 second=46 amount=2 +kerning first=41 second=106 amount=2 +kerning first=41 second=81 amount=2 +kerning first=41 second=104 amount=1 +kerning first=41 second=102 amount=2 +kerning first=41 second=85 amount=1 +kerning first=41 second=83 amount=1 +kerning first=41 second=72 amount=2 +kerning first=41 second=74 amount=1 +kerning first=41 second=63 amount=2 +kerning first=41 second=56 amount=-1 +kerning first=41 second=69 amount=1 +kerning first=41 second=108 amount=2 +kerning first=41 second=52 amount=1 +kerning first=41 second=50 amount=-1 +kerning first=41 second=71 amount=2 +kerning first=41 second=55 amount=-1 +kerning first=41 second=107 amount=2 +kerning first=41 second=66 amount=1 +kerning first=41 second=80 amount=1 +kerning first=41 second=49 amount=-4 +kerning first=41 second=40 amount=2 +kerning first=41 second=73 amount=1 +kerning first=41 second=33 amount=2 +kerning first=41 second=79 amount=2 +kerning first=41 second=67 amount=2 +kerning first=41 second=105 amount=2 +kerning first=41 second=100 amount=2 +kerning first=41 second=113 amount=2 +kerning first=41 second=112 amount=2 +kerning first=41 second=98 amount=1 +kerning first=41 second=116 amount=4 +kerning first=41 second=103 amount=2 +kerning first=41 second=121 amount=3 +kerning first=41 second=59 amount=2 +kerning first=41 second=119 amount=4 +kerning first=41 second=118 amount=4 +kerning first=41 second=110 amount=2 +kerning first=41 second=120 amount=2 +kerning first=41 second=114 amount=2 +kerning first=41 second=117 amount=2 +kerning first=41 second=109 amount=1 +kerning first=41 second=97 amount=2 +kerning first=41 second=111 amount=2 +kerning first=41 second=101 amount=2 +kerning first=41 second=99 amount=2 +kerning first=41 second=115 amount=1 +kerning first=41 second=35 amount=2 +kerning first=41 second=34 amount=2 +kerning first=41 second=39 amount=2 +kerning first=41 second=44 amount=-1 +kerning first=41 second=45 amount=2 +kerning first=73 second=106 amount=2 +kerning first=73 second=87 amount=2 +kerning first=73 second=104 amount=1 +kerning first=73 second=102 amount=1 +kerning first=73 second=93 amount=1 +kerning first=73 second=90 amount=2 +kerning first=73 second=88 amount=2 +kerning first=73 second=65 amount=1 +kerning first=73 second=75 amount=2 +kerning first=73 second=86 amount=2 +kerning first=73 second=85 amount=2 +kerning first=73 second=83 amount=1 +kerning first=73 second=72 amount=1 +kerning first=73 second=76 amount=2 +kerning first=73 second=63 amount=1 +kerning first=73 second=56 amount=-1 +kerning first=73 second=108 amount=2 +kerning first=73 second=82 amount=2 +kerning first=73 second=92 amount=1 +kerning first=73 second=47 amount=2 +kerning first=73 second=71 amount=1 +kerning first=73 second=107 amount=2 +kerning first=73 second=66 amount=2 +kerning first=73 second=80 amount=2 +kerning first=73 second=49 amount=-4 +kerning first=73 second=41 amount=2 +kerning first=73 second=73 amount=2 +kerning first=73 second=33 amount=2 +kerning first=73 second=54 amount=-1 +kerning first=73 second=67 amount=1 +kerning first=73 second=105 amount=2 +kerning first=73 second=113 amount=1 +kerning first=73 second=112 amount=1 +kerning first=73 second=98 amount=2 +kerning first=73 second=116 amount=3 +kerning first=73 second=103 amount=1 +kerning first=73 second=121 amount=2 +kerning first=73 second=59 amount=3 +kerning first=73 second=119 amount=3 +kerning first=73 second=118 amount=3 +kerning first=73 second=122 amount=2 +kerning first=73 second=110 amount=2 +kerning first=73 second=120 amount=3 +kerning first=73 second=114 amount=2 +kerning first=73 second=117 amount=1 +kerning first=73 second=97 amount=2 +kerning first=73 second=111 amount=2 +kerning first=73 second=99 amount=1 +kerning first=73 second=115 amount=2 +kerning first=73 second=58 amount=2 +kerning first=73 second=34 amount=2 +kerning first=73 second=39 amount=2 +kerning first=73 second=44 amount=2 +kerning first=73 second=46 amount=2 +kerning first=33 second=106 amount=2 +kerning first=33 second=87 amount=2 +kerning first=33 second=81 amount=1 +kerning first=33 second=84 amount=1 +kerning first=33 second=104 amount=1 +kerning first=33 second=102 amount=2 +kerning first=33 second=93 amount=3 +kerning first=33 second=90 amount=2 +kerning first=33 second=88 amount=2 +kerning first=33 second=89 amount=1 +kerning first=33 second=65 amount=1 +kerning first=33 second=75 amount=2 +kerning first=33 second=78 amount=1 +kerning first=33 second=53 amount=4 +kerning first=33 second=86 amount=3 +kerning first=33 second=85 amount=2 +kerning first=33 second=83 amount=3 +kerning first=33 second=72 amount=1 +kerning first=33 second=68 amount=1 +kerning first=33 second=76 amount=2 +kerning first=33 second=74 amount=2 +kerning first=33 second=63 amount=2 +kerning first=33 second=69 amount=1 +kerning first=33 second=108 amount=2 +kerning first=33 second=82 amount=2 +kerning first=33 second=52 amount=2 +kerning first=33 second=92 amount=2 +kerning first=33 second=47 amount=2 +kerning first=33 second=71 amount=2 +kerning first=33 second=107 amount=2 +kerning first=33 second=66 amount=2 +kerning first=33 second=80 amount=2 +kerning first=33 second=49 amount=-4 +kerning first=33 second=40 amount=2 +kerning first=33 second=41 amount=2 +kerning first=33 second=73 amount=4 +kerning first=33 second=33 amount=2 +kerning first=33 second=79 amount=1 +kerning first=33 second=67 amount=2 +kerning first=33 second=105 amount=2 +kerning first=33 second=100 amount=2 +kerning first=33 second=113 amount=2 +kerning first=33 second=112 amount=1 +kerning first=33 second=98 amount=2 +kerning first=33 second=116 amount=3 +kerning first=33 second=103 amount=2 +kerning first=33 second=121 amount=3 +kerning first=33 second=59 amount=3 +kerning first=33 second=119 amount=4 +kerning first=33 second=118 amount=3 +kerning first=33 second=122 amount=2 +kerning first=33 second=110 amount=2 +kerning first=33 second=120 amount=3 +kerning first=33 second=114 amount=2 +kerning first=33 second=117 amount=2 +kerning first=33 second=97 amount=3 +kerning first=33 second=111 amount=2 +kerning first=33 second=101 amount=2 +kerning first=33 second=99 amount=2 +kerning first=33 second=115 amount=3 +kerning first=33 second=58 amount=2 +kerning first=33 second=35 amount=1 +kerning first=33 second=43 amount=2 +kerning first=33 second=34 amount=2 +kerning first=33 second=39 amount=3 +kerning first=33 second=44 amount=3 +kerning first=33 second=45 amount=2 +kerning first=33 second=46 amount=2 +kerning first=64 second=106 amount=1 +kerning first=64 second=87 amount=-2 +kerning first=64 second=81 amount=1 +kerning first=64 second=84 amount=-4 +kerning first=64 second=102 amount=2 +kerning first=64 second=93 amount=-7 +kerning first=64 second=90 amount=-3 +kerning first=64 second=88 amount=-3 +kerning first=64 second=89 amount=-5 +kerning first=64 second=65 amount=-2 +kerning first=64 second=86 amount=-2 +kerning first=64 second=72 amount=2 +kerning first=64 second=74 amount=1 +kerning first=64 second=63 amount=-3 +kerning first=64 second=56 amount=-2 +kerning first=64 second=108 amount=1 +kerning first=64 second=52 amount=1 +kerning first=64 second=50 amount=-6 +kerning first=64 second=92 amount=-7 +kerning first=64 second=47 amount=-3 +kerning first=64 second=71 amount=2 +kerning first=64 second=55 amount=-4 +kerning first=64 second=51 amount=-3 +kerning first=64 second=107 amount=1 +kerning first=64 second=49 amount=-8 +kerning first=64 second=40 amount=2 +kerning first=64 second=41 amount=-2 +kerning first=64 second=33 amount=1 +kerning first=64 second=79 amount=1 +kerning first=64 second=57 amount=-2 +kerning first=64 second=67 amount=2 +kerning first=64 second=105 amount=1 +kerning first=64 second=100 amount=2 +kerning first=64 second=113 amount=2 +kerning first=64 second=116 amount=3 +kerning first=64 second=103 amount=2 +kerning first=64 second=121 amount=1 +kerning first=64 second=119 amount=3 +kerning first=64 second=118 amount=2 +kerning first=64 second=122 amount=-1 +kerning first=64 second=110 amount=1 +kerning first=64 second=114 amount=1 +kerning first=64 second=117 amount=2 +kerning first=64 second=97 amount=1 +kerning first=64 second=111 amount=2 +kerning first=64 second=101 amount=1 +kerning first=64 second=99 amount=2 +kerning first=64 second=35 amount=2 +kerning first=64 second=34 amount=-5 +kerning first=64 second=39 amount=-5 +kerning first=64 second=44 amount=-7 +kerning first=64 second=45 amount=2 +kerning first=64 second=46 amount=-4 +kerning first=79 second=106 amount=1 +kerning first=79 second=81 amount=1 +kerning first=79 second=102 amount=2 +kerning first=79 second=93 amount=-1 +kerning first=79 second=88 amount=-1 +kerning first=79 second=89 amount=-3 +kerning first=79 second=65 amount=-2 +kerning first=79 second=72 amount=2 +kerning first=79 second=56 amount=-2 +kerning first=79 second=108 amount=1 +kerning first=79 second=50 amount=-3 +kerning first=79 second=92 amount=-2 +kerning first=79 second=47 amount=-2 +kerning first=79 second=71 amount=2 +kerning first=79 second=55 amount=-2 +kerning first=79 second=51 amount=-2 +kerning first=79 second=107 amount=1 +kerning first=79 second=49 amount=-5 +kerning first=79 second=40 amount=1 +kerning first=79 second=41 amount=-1 +kerning first=79 second=33 amount=2 +kerning first=79 second=79 amount=1 +kerning first=79 second=57 amount=-1 +kerning first=79 second=67 amount=2 +kerning first=79 second=105 amount=1 +kerning first=79 second=100 amount=1 +kerning first=79 second=113 amount=2 +kerning first=79 second=112 amount=1 +kerning first=79 second=98 amount=1 +kerning first=79 second=116 amount=3 +kerning first=79 second=103 amount=2 +kerning first=79 second=121 amount=3 +kerning first=79 second=59 amount=1 +kerning first=79 second=119 amount=4 +kerning first=79 second=118 amount=3 +kerning first=79 second=110 amount=2 +kerning first=79 second=120 amount=2 +kerning first=79 second=114 amount=2 +kerning first=79 second=117 amount=2 +kerning first=79 second=97 amount=2 +kerning first=79 second=111 amount=2 +kerning first=79 second=101 amount=1 +kerning first=79 second=99 amount=2 +kerning first=79 second=35 amount=2 +kerning first=79 second=44 amount=-3 +kerning first=79 second=45 amount=2 +kerning first=54 second=106 amount=-2 +kerning first=54 second=87 amount=-2 +kerning first=54 second=81 amount=-2 +kerning first=54 second=77 amount=-3 +kerning first=54 second=104 amount=-1 +kerning first=54 second=102 amount=-2 +kerning first=54 second=93 amount=-3 +kerning first=54 second=90 amount=-2 +kerning first=54 second=88 amount=-3 +kerning first=54 second=89 amount=-3 +kerning first=54 second=65 amount=-4 +kerning first=54 second=75 amount=-1 +kerning first=54 second=78 amount=-2 +kerning first=54 second=86 amount=-2 +kerning first=54 second=83 amount=-1 +kerning first=54 second=72 amount=-2 +kerning first=54 second=68 amount=-2 +kerning first=54 second=76 amount=-1 +kerning first=54 second=74 amount=-1 +kerning first=54 second=69 amount=-1 +kerning first=54 second=82 amount=-1 +kerning first=54 second=92 amount=-3 +kerning first=54 second=47 amount=-3 +kerning first=54 second=66 amount=-1 +kerning first=54 second=80 amount=-1 +kerning first=54 second=70 amount=-2 +kerning first=54 second=40 amount=-1 +kerning first=54 second=41 amount=-3 +kerning first=54 second=73 amount=-1 +kerning first=54 second=64 amount=-2 +kerning first=54 second=79 amount=-2 +kerning first=54 second=100 amount=-1 +kerning first=54 second=113 amount=-1 +kerning first=54 second=112 amount=-2 +kerning first=54 second=98 amount=-1 +kerning first=54 second=121 amount=-1 +kerning first=54 second=59 amount=-3 +kerning first=54 second=118 amount=-2 +kerning first=54 second=122 amount=-3 +kerning first=54 second=110 amount=-1 +kerning first=54 second=120 amount=-2 +kerning first=54 second=114 amount=-2 +kerning first=54 second=109 amount=-2 +kerning first=54 second=97 amount=-1 +kerning first=54 second=101 amount=-1 +kerning first=54 second=115 amount=-2 +kerning first=54 second=58 amount=-3 +kerning first=54 second=35 amount=-1 +kerning first=54 second=44 amount=-5 +kerning first=54 second=45 amount=-1 +kerning first=54 second=46 amount=-3 +kerning first=57 second=87 amount=-3 +kerning first=57 second=81 amount=-1 +kerning first=57 second=77 amount=-3 +kerning first=57 second=84 amount=-2 +kerning first=57 second=104 amount=-1 +kerning first=57 second=93 amount=-4 +kerning first=57 second=90 amount=-3 +kerning first=57 second=88 amount=-4 +kerning first=57 second=89 amount=-5 +kerning first=57 second=65 amount=-4 +kerning first=57 second=75 amount=-2 +kerning first=57 second=78 amount=-2 +kerning first=57 second=86 amount=-3 +kerning first=57 second=85 amount=-1 +kerning first=57 second=83 amount=-2 +kerning first=57 second=68 amount=-2 +kerning first=57 second=76 amount=-2 +kerning first=57 second=74 amount=-2 +kerning first=57 second=63 amount=-1 +kerning first=57 second=69 amount=-2 +kerning first=57 second=82 amount=-2 +kerning first=57 second=92 amount=-4 +kerning first=57 second=47 amount=-4 +kerning first=57 second=66 amount=-2 +kerning first=57 second=80 amount=-2 +kerning first=57 second=70 amount=-2 +kerning first=57 second=41 amount=-4 +kerning first=57 second=73 amount=-2 +kerning first=57 second=64 amount=-2 +kerning first=57 second=79 amount=-1 +kerning first=57 second=100 amount=-1 +kerning first=57 second=98 amount=-1 +kerning first=57 second=116 amount=1 +kerning first=57 second=59 amount=-1 +kerning first=57 second=119 amount=1 +kerning first=57 second=118 amount=1 +kerning first=57 second=122 amount=-2 +kerning first=57 second=109 amount=-1 +kerning first=57 second=101 amount=-1 +kerning first=57 second=115 amount=-1 +kerning first=57 second=58 amount=-2 +kerning first=57 second=34 amount=-1 +kerning first=57 second=44 amount=-5 +kerning first=57 second=46 amount=-3 +kerning first=67 second=106 amount=2 +kerning first=67 second=81 amount=2 +kerning first=67 second=104 amount=2 +kerning first=67 second=102 amount=2 +kerning first=67 second=93 amount=-1 +kerning first=67 second=88 amount=-1 +kerning first=67 second=89 amount=-2 +kerning first=67 second=85 amount=1 +kerning first=67 second=83 amount=2 +kerning first=67 second=74 amount=2 +kerning first=67 second=56 amount=-1 +kerning first=67 second=69 amount=1 +kerning first=67 second=108 amount=2 +kerning first=67 second=52 amount=2 +kerning first=67 second=50 amount=-3 +kerning first=67 second=92 amount=-1 +kerning first=67 second=47 amount=-1 +kerning first=67 second=71 amount=2 +kerning first=67 second=55 amount=-2 +kerning first=67 second=51 amount=-2 +kerning first=67 second=107 amount=2 +kerning first=67 second=66 amount=1 +kerning first=67 second=80 amount=1 +kerning first=67 second=49 amount=-5 +kerning first=67 second=40 amount=2 +kerning first=67 second=73 amount=1 +kerning first=67 second=33 amount=2 +kerning first=67 second=64 amount=1 +kerning first=67 second=79 amount=1 +kerning first=67 second=67 amount=3 +kerning first=67 second=105 amount=2 +kerning first=67 second=100 amount=2 +kerning first=67 second=113 amount=2 +kerning first=67 second=112 amount=2 +kerning first=67 second=98 amount=2 +kerning first=67 second=116 amount=3 +kerning first=67 second=103 amount=3 +kerning first=67 second=121 amount=3 +kerning first=67 second=119 amount=4 +kerning first=67 second=118 amount=4 +kerning first=67 second=110 amount=2 +kerning first=67 second=120 amount=2 +kerning first=67 second=114 amount=2 +kerning first=67 second=117 amount=3 +kerning first=67 second=109 amount=1 +kerning first=67 second=97 amount=2 +kerning first=67 second=111 amount=3 +kerning first=67 second=101 amount=2 +kerning first=67 second=99 amount=2 +kerning first=67 second=35 amount=1 +kerning first=67 second=34 amount=1 +kerning first=67 second=39 amount=1 +kerning first=67 second=44 amount=-2 +kerning first=105 second=106 amount=2 +kerning first=105 second=104 amount=2 +kerning first=105 second=102 amount=2 +kerning first=105 second=93 amount=2 +kerning first=105 second=63 amount=2 +kerning first=105 second=108 amount=2 +kerning first=105 second=50 amount=1 +kerning first=105 second=92 amount=2 +kerning first=105 second=47 amount=2 +kerning first=105 second=107 amount=2 +kerning first=105 second=49 amount=-4 +kerning first=105 second=40 amount=2 +kerning first=105 second=41 amount=2 +kerning first=105 second=33 amount=3 +kerning first=105 second=105 amount=2 +kerning first=105 second=100 amount=1 +kerning first=105 second=113 amount=1 +kerning first=105 second=112 amount=2 +kerning first=105 second=98 amount=2 +kerning first=105 second=116 amount=3 +kerning first=105 second=103 amount=1 +kerning first=105 second=121 amount=4 +kerning first=105 second=59 amount=3 +kerning first=105 second=119 amount=5 +kerning first=105 second=118 amount=4 +kerning first=105 second=122 amount=2 +kerning first=105 second=110 amount=2 +kerning first=105 second=120 amount=3 +kerning first=105 second=114 amount=3 +kerning first=105 second=117 amount=2 +kerning first=105 second=109 amount=2 +kerning first=105 second=97 amount=2 +kerning first=105 second=111 amount=2 +kerning first=105 second=101 amount=1 +kerning first=105 second=99 amount=1 +kerning first=105 second=115 amount=2 +kerning first=105 second=58 amount=2 +kerning first=105 second=35 amount=2 +kerning first=105 second=34 amount=2 +kerning first=105 second=39 amount=2 +kerning first=105 second=44 amount=3 +kerning first=105 second=46 amount=3 +kerning first=100 second=106 amount=1 +kerning first=100 second=102 amount=2 +kerning first=100 second=93 amount=1 +kerning first=100 second=63 amount=1 +kerning first=100 second=56 amount=-1 +kerning first=100 second=108 amount=2 +kerning first=100 second=92 amount=1 +kerning first=100 second=47 amount=2 +kerning first=100 second=107 amount=2 +kerning first=100 second=49 amount=-4 +kerning first=100 second=41 amount=1 +kerning first=100 second=33 amount=2 +kerning first=100 second=105 amount=1 +kerning first=100 second=113 amount=1 +kerning first=100 second=112 amount=1 +kerning first=100 second=98 amount=2 +kerning first=100 second=116 amount=3 +kerning first=100 second=103 amount=1 +kerning first=100 second=121 amount=2 +kerning first=100 second=59 amount=2 +kerning first=100 second=119 amount=3 +kerning first=100 second=118 amount=3 +kerning first=100 second=122 amount=2 +kerning first=100 second=110 amount=1 +kerning first=100 second=120 amount=3 +kerning first=100 second=114 amount=1 +kerning first=100 second=117 amount=1 +kerning first=100 second=97 amount=2 +kerning first=100 second=111 amount=1 +kerning first=100 second=99 amount=1 +kerning first=100 second=115 amount=2 +kerning first=100 second=58 amount=1 +kerning first=100 second=34 amount=2 +kerning first=100 second=39 amount=2 +kerning first=100 second=44 amount=2 +kerning first=100 second=46 amount=2 +kerning first=113 second=106 amount=6 +kerning first=113 second=104 amount=1 +kerning first=113 second=102 amount=2 +kerning first=113 second=108 amount=2 +kerning first=113 second=52 amount=1 +kerning first=113 second=92 amount=-4 +kerning first=113 second=47 amount=2 +kerning first=113 second=107 amount=2 +kerning first=113 second=49 amount=-7 +kerning first=113 second=40 amount=2 +kerning first=113 second=41 amount=1 +kerning first=113 second=33 amount=2 +kerning first=113 second=105 amount=2 +kerning first=113 second=100 amount=2 +kerning first=113 second=112 amount=2 +kerning first=113 second=98 amount=1 +kerning first=113 second=116 amount=3 +kerning first=113 second=103 amount=1 +kerning first=113 second=121 amount=3 +kerning first=113 second=59 amount=4 +kerning first=113 second=119 amount=4 +kerning first=113 second=118 amount=4 +kerning first=113 second=122 amount=2 +kerning first=113 second=110 amount=2 +kerning first=113 second=120 amount=2 +kerning first=113 second=114 amount=2 +kerning first=113 second=117 amount=2 +kerning first=113 second=109 amount=1 +kerning first=113 second=97 amount=2 +kerning first=113 second=111 amount=2 +kerning first=113 second=101 amount=1 +kerning first=113 second=99 amount=2 +kerning first=113 second=115 amount=2 +kerning first=113 second=58 amount=1 +kerning first=113 second=35 amount=1 +kerning first=113 second=44 amount=4 +kerning first=113 second=45 amount=1 +kerning first=113 second=46 amount=2 +kerning first=112 second=106 amount=1 +kerning first=112 second=104 amount=1 +kerning first=112 second=102 amount=2 +kerning first=112 second=93 amount=-2 +kerning first=112 second=63 amount=-2 +kerning first=112 second=108 amount=2 +kerning first=112 second=52 amount=2 +kerning first=112 second=50 amount=-1 +kerning first=112 second=92 amount=-6 +kerning first=112 second=107 amount=2 +kerning first=112 second=49 amount=-7 +kerning first=112 second=40 amount=2 +kerning first=112 second=33 amount=2 +kerning first=112 second=64 amount=1 +kerning first=112 second=105 amount=2 +kerning first=112 second=100 amount=2 +kerning first=112 second=113 amount=1 +kerning first=112 second=98 amount=1 +kerning first=112 second=116 amount=3 +kerning first=112 second=103 amount=2 +kerning first=112 second=59 amount=1 +kerning first=112 second=119 amount=3 +kerning first=112 second=118 amount=2 +kerning first=112 second=110 amount=2 +kerning first=112 second=120 amount=1 +kerning first=112 second=114 amount=2 +kerning first=112 second=117 amount=2 +kerning first=112 second=97 amount=2 +kerning first=112 second=111 amount=2 +kerning first=112 second=101 amount=2 +kerning first=112 second=99 amount=2 +kerning first=112 second=115 amount=2 +kerning first=112 second=35 amount=2 +kerning first=112 second=34 amount=-5 +kerning first=112 second=39 amount=-5 +kerning first=112 second=44 amount=-2 +kerning first=112 second=45 amount=2 +kerning first=98 second=102 amount=1 +kerning first=98 second=93 amount=-2 +kerning first=98 second=63 amount=-2 +kerning first=98 second=56 amount=-1 +kerning first=98 second=108 amount=1 +kerning first=98 second=52 amount=1 +kerning first=98 second=92 amount=-7 +kerning first=98 second=107 amount=1 +kerning first=98 second=49 amount=-7 +kerning first=98 second=40 amount=1 +kerning first=98 second=33 amount=1 +kerning first=98 second=105 amount=1 +kerning first=98 second=100 amount=1 +kerning first=98 second=113 amount=2 +kerning first=98 second=112 amount=1 +kerning first=98 second=116 amount=2 +kerning first=98 second=103 amount=2 +kerning first=98 second=119 amount=2 +kerning first=98 second=118 amount=2 +kerning first=98 second=110 amount=2 +kerning first=98 second=120 amount=2 +kerning first=98 second=114 amount=2 +kerning first=98 second=117 amount=2 +kerning first=98 second=97 amount=3 +kerning first=98 second=111 amount=2 +kerning first=98 second=101 amount=2 +kerning first=98 second=99 amount=2 +kerning first=98 second=115 amount=2 +kerning first=98 second=35 amount=1 +kerning first=98 second=34 amount=-6 +kerning first=98 second=39 amount=-6 +kerning first=98 second=45 amount=2 +kerning first=98 second=46 amount=1 +kerning first=116 second=106 amount=3 +kerning first=116 second=104 amount=3 +kerning first=116 second=102 amount=4 +kerning first=116 second=93 amount=-3 +kerning first=116 second=48 amount=2 +kerning first=116 second=63 amount=2 +kerning first=116 second=108 amount=3 +kerning first=116 second=52 amount=-1 +kerning first=116 second=50 amount=-1 +kerning first=116 second=92 amount=-2 +kerning first=116 second=55 amount=-2 +kerning first=116 second=107 amount=3 +kerning first=116 second=49 amount=-5 +kerning first=116 second=40 amount=3 +kerning first=116 second=33 amount=4 +kerning first=116 second=54 amount=1 +kerning first=116 second=57 amount=1 +kerning first=116 second=105 amount=3 +kerning first=116 second=100 amount=1 +kerning first=116 second=113 amount=2 +kerning first=116 second=112 amount=3 +kerning first=116 second=98 amount=3 +kerning first=116 second=116 amount=4 +kerning first=116 second=103 amount=2 +kerning first=116 second=121 amount=5 +kerning first=116 second=59 amount=2 +kerning first=116 second=119 amount=6 +kerning first=116 second=118 amount=5 +kerning first=116 second=122 amount=2 +kerning first=116 second=110 amount=3 +kerning first=116 second=120 amount=4 +kerning first=116 second=114 amount=4 +kerning first=116 second=117 amount=3 +kerning first=116 second=109 amount=3 +kerning first=116 second=97 amount=3 +kerning first=116 second=111 amount=2 +kerning first=116 second=101 amount=1 +kerning first=116 second=99 amount=1 +kerning first=116 second=115 amount=2 +kerning first=116 second=58 amount=1 +kerning first=116 second=35 amount=3 +kerning first=116 second=34 amount=2 +kerning first=116 second=39 amount=2 +kerning first=116 second=45 amount=-3 +kerning first=116 second=32 amount=2 +kerning first=103 second=106 amount=5 +kerning first=103 second=104 amount=1 +kerning first=103 second=102 amount=2 +kerning first=103 second=53 amount=1 +kerning first=103 second=108 amount=2 +kerning first=103 second=52 amount=1 +kerning first=103 second=92 amount=-4 +kerning first=103 second=47 amount=2 +kerning first=103 second=107 amount=2 +kerning first=103 second=49 amount=-6 +kerning first=103 second=40 amount=1 +kerning first=103 second=41 amount=2 +kerning first=103 second=33 amount=1 +kerning first=103 second=105 amount=2 +kerning first=103 second=100 amount=2 +kerning first=103 second=113 amount=1 +kerning first=103 second=112 amount=1 +kerning first=103 second=98 amount=2 +kerning first=103 second=116 amount=3 +kerning first=103 second=103 amount=2 +kerning first=103 second=121 amount=2 +kerning first=103 second=59 amount=5 +kerning first=103 second=119 amount=3 +kerning first=103 second=118 amount=3 +kerning first=103 second=122 amount=2 +kerning first=103 second=110 amount=2 +kerning first=103 second=120 amount=3 +kerning first=103 second=114 amount=2 +kerning first=103 second=117 amount=2 +kerning first=103 second=97 amount=3 +kerning first=103 second=111 amount=2 +kerning first=103 second=101 amount=2 +kerning first=103 second=99 amount=2 +kerning first=103 second=115 amount=2 +kerning first=103 second=58 amount=2 +kerning first=103 second=35 amount=1 +kerning first=103 second=34 amount=-1 +kerning first=103 second=44 amount=4 +kerning first=103 second=45 amount=1 +kerning first=103 second=46 amount=2 +kerning first=121 second=106 amount=2 +kerning first=121 second=104 amount=2 +kerning first=121 second=102 amount=3 +kerning first=121 second=93 amount=-6 +kerning first=121 second=108 amount=2 +kerning first=121 second=50 amount=-3 +kerning first=121 second=92 amount=-4 +kerning first=121 second=47 amount=-4 +kerning first=121 second=55 amount=-5 +kerning first=121 second=51 amount=-2 +kerning first=121 second=107 amount=2 +kerning first=121 second=49 amount=-7 +kerning first=121 second=40 amount=2 +kerning first=121 second=41 amount=-1 +kerning first=121 second=33 amount=2 +kerning first=121 second=64 amount=-1 +kerning first=121 second=105 amount=2 +kerning first=121 second=112 amount=2 +kerning first=121 second=98 amount=2 +kerning first=121 second=116 amount=4 +kerning first=121 second=121 amount=3 +kerning first=121 second=59 amount=1 +kerning first=121 second=119 amount=4 +kerning first=121 second=118 amount=4 +kerning first=121 second=110 amount=2 +kerning first=121 second=120 amount=3 +kerning first=121 second=114 amount=3 +kerning first=121 second=117 amount=2 +kerning first=121 second=109 amount=2 +kerning first=121 second=97 amount=2 +kerning first=121 second=111 amount=1 +kerning first=121 second=35 amount=2 +kerning first=121 second=44 amount=-4 +kerning first=121 second=46 amount=-4 +kerning first=121 second=32 amount=3 +kerning first=59 second=106 amount=1 +kerning first=59 second=87 amount=-1 +kerning first=59 second=84 amount=-4 +kerning first=59 second=102 amount=1 +kerning first=59 second=93 amount=-2 +kerning first=59 second=89 amount=-4 +kerning first=59 second=53 amount=-1 +kerning first=59 second=86 amount=-2 +kerning first=59 second=74 amount=-5 +kerning first=59 second=63 amount=-2 +kerning first=59 second=56 amount=-2 +kerning first=59 second=52 amount=-2 +kerning first=59 second=92 amount=-5 +kerning first=59 second=71 amount=1 +kerning first=59 second=51 amount=-3 +kerning first=59 second=49 amount=-8 +kerning first=59 second=33 amount=1 +kerning first=59 second=64 amount=-2 +kerning first=59 second=54 amount=-1 +kerning first=59 second=57 amount=-1 +kerning first=59 second=67 amount=1 +kerning first=59 second=105 amount=1 +kerning first=59 second=112 amount=1 +kerning first=59 second=116 amount=2 +kerning first=59 second=121 amount=2 +kerning first=59 second=59 amount=1 +kerning first=59 second=119 amount=3 +kerning first=59 second=118 amount=3 +kerning first=59 second=110 amount=1 +kerning first=59 second=120 amount=1 +kerning first=59 second=114 amount=2 +kerning first=59 second=117 amount=1 +kerning first=59 second=34 amount=-2 +kerning first=59 second=39 amount=-1 +kerning first=59 second=44 amount=2 +kerning first=59 second=45 amount=-3 +kerning first=119 second=106 amount=3 +kerning first=119 second=104 amount=2 +kerning first=119 second=102 amount=2 +kerning first=119 second=93 amount=-6 +kerning first=119 second=63 amount=2 +kerning first=119 second=108 amount=3 +kerning first=119 second=50 amount=-2 +kerning first=119 second=92 amount=-3 +kerning first=119 second=47 amount=-3 +kerning first=119 second=55 amount=-5 +kerning first=119 second=107 amount=3 +kerning first=119 second=49 amount=-6 +kerning first=119 second=40 amount=2 +kerning first=119 second=33 amount=3 +kerning first=119 second=64 amount=-2 +kerning first=119 second=105 amount=3 +kerning first=119 second=112 amount=3 +kerning first=119 second=98 amount=2 +kerning first=119 second=116 amount=3 +kerning first=119 second=121 amount=4 +kerning first=119 second=59 amount=2 +kerning first=119 second=119 amount=5 +kerning first=119 second=118 amount=5 +kerning first=119 second=110 amount=3 +kerning first=119 second=120 amount=3 +kerning first=119 second=114 amount=3 +kerning first=119 second=117 amount=3 +kerning first=119 second=109 amount=2 +kerning first=119 second=35 amount=2 +kerning first=119 second=34 amount=2 +kerning first=119 second=39 amount=2 +kerning first=119 second=44 amount=-4 +kerning first=119 second=46 amount=-4 +kerning first=118 second=106 amount=4 +kerning first=118 second=104 amount=3 +kerning first=118 second=102 amount=4 +kerning first=118 second=93 amount=-5 +kerning first=118 second=48 amount=2 +kerning first=118 second=63 amount=2 +kerning first=118 second=108 amount=3 +kerning first=118 second=50 amount=-1 +kerning first=118 second=92 amount=-2 +kerning first=118 second=47 amount=-2 +kerning first=118 second=55 amount=-4 +kerning first=118 second=107 amount=3 +kerning first=118 second=49 amount=-5 +kerning first=118 second=40 amount=3 +kerning first=118 second=33 amount=4 +kerning first=118 second=54 amount=1 +kerning first=118 second=57 amount=1 +kerning first=118 second=105 amount=4 +kerning first=118 second=100 amount=2 +kerning first=118 second=113 amount=2 +kerning first=118 second=112 amount=4 +kerning first=118 second=98 amount=3 +kerning first=118 second=116 amount=4 +kerning first=118 second=103 amount=2 +kerning first=118 second=121 amount=5 +kerning first=118 second=59 amount=3 +kerning first=118 second=119 amount=6 +kerning first=118 second=118 amount=6 +kerning first=118 second=122 amount=2 +kerning first=118 second=110 amount=4 +kerning first=118 second=120 amount=4 +kerning first=118 second=114 amount=4 +kerning first=118 second=117 amount=4 +kerning first=118 second=109 amount=3 +kerning first=118 second=97 amount=3 +kerning first=118 second=111 amount=2 +kerning first=118 second=101 amount=1 +kerning first=118 second=99 amount=1 +kerning first=118 second=115 amount=2 +kerning first=118 second=58 amount=2 +kerning first=118 second=35 amount=3 +kerning first=118 second=34 amount=2 +kerning first=118 second=39 amount=3 +kerning first=118 second=44 amount=-4 +kerning first=118 second=46 amount=-3 +kerning first=118 second=32 amount=2 +kerning first=122 second=106 amount=2 +kerning first=122 second=104 amount=1 +kerning first=122 second=102 amount=3 +kerning first=122 second=108 amount=2 +kerning first=122 second=52 amount=-2 +kerning first=122 second=50 amount=1 +kerning first=122 second=92 amount=-4 +kerning first=122 second=47 amount=3 +kerning first=122 second=107 amount=2 +kerning first=122 second=49 amount=-6 +kerning first=122 second=40 amount=2 +kerning first=122 second=41 amount=2 +kerning first=122 second=33 amount=2 +kerning first=122 second=105 amount=2 +kerning first=122 second=100 amount=1 +kerning first=122 second=113 amount=1 +kerning first=122 second=112 amount=2 +kerning first=122 second=98 amount=2 +kerning first=122 second=116 amount=4 +kerning first=122 second=103 amount=1 +kerning first=122 second=121 amount=3 +kerning first=122 second=59 amount=2 +kerning first=122 second=119 amount=4 +kerning first=122 second=118 amount=4 +kerning first=122 second=122 amount=2 +kerning first=122 second=110 amount=2 +kerning first=122 second=120 amount=3 +kerning first=122 second=114 amount=2 +kerning first=122 second=117 amount=2 +kerning first=122 second=109 amount=1 +kerning first=122 second=97 amount=3 +kerning first=122 second=111 amount=1 +kerning first=122 second=99 amount=1 +kerning first=122 second=115 amount=2 +kerning first=122 second=58 amount=2 +kerning first=122 second=35 amount=2 +kerning first=122 second=44 amount=1 +kerning first=122 second=45 amount=-2 +kerning first=122 second=46 amount=3 +kerning first=122 second=32 amount=2 +kerning first=110 second=106 amount=2 +kerning first=110 second=104 amount=1 +kerning first=110 second=102 amount=2 +kerning first=110 second=63 amount=-3 +kerning first=110 second=108 amount=2 +kerning first=110 second=52 amount=1 +kerning first=110 second=50 amount=1 +kerning first=110 second=92 amount=-6 +kerning first=110 second=47 amount=3 +kerning first=110 second=55 amount=1 +kerning first=110 second=107 amount=2 +kerning first=110 second=49 amount=-6 +kerning first=110 second=40 amount=1 +kerning first=110 second=41 amount=2 +kerning first=110 second=33 amount=2 +kerning first=110 second=105 amount=2 +kerning first=110 second=100 amount=2 +kerning first=110 second=113 amount=1 +kerning first=110 second=112 amount=2 +kerning first=110 second=98 amount=2 +kerning first=110 second=116 amount=3 +kerning first=110 second=103 amount=2 +kerning first=110 second=121 amount=2 +kerning first=110 second=59 amount=2 +kerning first=110 second=119 amount=3 +kerning first=110 second=118 amount=3 +kerning first=110 second=122 amount=2 +kerning first=110 second=110 amount=2 +kerning first=110 second=120 amount=3 +kerning first=110 second=114 amount=2 +kerning first=110 second=117 amount=2 +kerning first=110 second=97 amount=3 +kerning first=110 second=111 amount=2 +kerning first=110 second=101 amount=1 +kerning first=110 second=99 amount=2 +kerning first=110 second=115 amount=2 +kerning first=110 second=58 amount=2 +kerning first=110 second=35 amount=1 +kerning first=110 second=34 amount=-2 +kerning first=110 second=39 amount=-3 +kerning first=110 second=45 amount=2 +kerning first=110 second=46 amount=3 +kerning first=120 second=106 amount=3 +kerning first=120 second=104 amount=2 +kerning first=120 second=102 amount=1 +kerning first=120 second=93 amount=-1 +kerning first=120 second=53 amount=-1 +kerning first=120 second=63 amount=1 +kerning first=120 second=108 amount=3 +kerning first=120 second=52 amount=-3 +kerning first=120 second=92 amount=-3 +kerning first=120 second=47 amount=2 +kerning first=120 second=107 amount=3 +kerning first=120 second=49 amount=-6 +kerning first=120 second=40 amount=2 +kerning first=120 second=33 amount=3 +kerning first=120 second=64 amount=-3 +kerning first=120 second=105 amount=3 +kerning first=120 second=112 amount=3 +kerning first=120 second=98 amount=2 +kerning first=120 second=116 amount=2 +kerning first=120 second=121 amount=4 +kerning first=120 second=59 amount=2 +kerning first=120 second=119 amount=5 +kerning first=120 second=118 amount=5 +kerning first=120 second=122 amount=1 +kerning first=120 second=110 amount=3 +kerning first=120 second=120 amount=3 +kerning first=120 second=114 amount=3 +kerning first=120 second=117 amount=3 +kerning first=120 second=109 amount=2 +kerning first=120 second=97 amount=1 +kerning first=120 second=35 amount=2 +kerning first=120 second=34 amount=1 +kerning first=120 second=39 amount=2 +kerning first=120 second=44 amount=2 +kerning first=120 second=45 amount=-3 +kerning first=120 second=46 amount=2 +kerning first=120 second=32 amount=2 +kerning first=114 second=106 amount=3 +kerning first=114 second=104 amount=2 +kerning first=114 second=102 amount=2 +kerning first=114 second=93 amount=-5 +kerning first=114 second=48 amount=1 +kerning first=114 second=63 amount=2 +kerning first=114 second=108 amount=3 +kerning first=114 second=52 amount=-2 +kerning first=114 second=50 amount=-2 +kerning first=114 second=92 amount=-3 +kerning first=114 second=47 amount=-6 +kerning first=114 second=55 amount=-4 +kerning first=114 second=107 amount=3 +kerning first=114 second=49 amount=-6 +kerning first=114 second=40 amount=3 +kerning first=114 second=33 amount=3 +kerning first=114 second=64 amount=-2 +kerning first=114 second=105 amount=3 +kerning first=114 second=113 amount=1 +kerning first=114 second=112 amount=3 +kerning first=114 second=98 amount=2 +kerning first=114 second=116 amount=2 +kerning first=114 second=103 amount=1 +kerning first=114 second=121 amount=4 +kerning first=114 second=59 amount=2 +kerning first=114 second=119 amount=5 +kerning first=114 second=118 amount=5 +kerning first=114 second=122 amount=1 +kerning first=114 second=110 amount=3 +kerning first=114 second=120 amount=3 +kerning first=114 second=114 amount=3 +kerning first=114 second=117 amount=3 +kerning first=114 second=109 amount=3 +kerning first=114 second=97 amount=1 +kerning first=114 second=111 amount=1 +kerning first=114 second=35 amount=3 +kerning first=114 second=34 amount=3 +kerning first=114 second=39 amount=3 +kerning first=114 second=44 amount=-7 +kerning first=114 second=45 amount=-4 +kerning first=114 second=46 amount=-6 +kerning first=117 second=106 amount=2 +kerning first=117 second=104 amount=1 +kerning first=117 second=102 amount=2 +kerning first=117 second=93 amount=-2 +kerning first=117 second=63 amount=-2 +kerning first=117 second=56 amount=-1 +kerning first=117 second=108 amount=2 +kerning first=117 second=52 amount=1 +kerning first=117 second=50 amount=-1 +kerning first=117 second=92 amount=-4 +kerning first=117 second=51 amount=-1 +kerning first=117 second=107 amount=2 +kerning first=117 second=49 amount=-7 +kerning first=117 second=40 amount=2 +kerning first=117 second=33 amount=2 +kerning first=117 second=105 amount=2 +kerning first=117 second=100 amount=2 +kerning first=117 second=113 amount=1 +kerning first=117 second=112 amount=2 +kerning first=117 second=98 amount=1 +kerning first=117 second=116 amount=4 +kerning first=117 second=103 amount=1 +kerning first=117 second=121 amount=3 +kerning first=117 second=59 amount=1 +kerning first=117 second=119 amount=4 +kerning first=117 second=118 amount=4 +kerning first=117 second=110 amount=2 +kerning first=117 second=120 amount=2 +kerning first=117 second=114 amount=2 +kerning first=117 second=117 amount=2 +kerning first=117 second=109 amount=1 +kerning first=117 second=97 amount=2 +kerning first=117 second=111 amount=2 +kerning first=117 second=101 amount=1 +kerning first=117 second=99 amount=1 +kerning first=117 second=115 amount=1 +kerning first=117 second=35 amount=2 +kerning first=117 second=34 amount=-4 +kerning first=117 second=39 amount=-4 +kerning first=117 second=44 amount=-1 +kerning first=117 second=45 amount=1 +kerning first=109 second=106 amount=2 +kerning first=109 second=104 amount=1 +kerning first=109 second=102 amount=1 +kerning first=109 second=63 amount=-3 +kerning first=109 second=56 amount=-2 +kerning first=109 second=108 amount=3 +kerning first=109 second=50 amount=1 +kerning first=109 second=92 amount=-6 +kerning first=109 second=47 amount=3 +kerning first=109 second=55 amount=1 +kerning first=109 second=51 amount=-1 +kerning first=109 second=107 amount=2 +kerning first=109 second=49 amount=-6 +kerning first=109 second=41 amount=2 +kerning first=109 second=33 amount=2 +kerning first=109 second=54 amount=-1 +kerning first=109 second=57 amount=-1 +kerning first=109 second=105 amount=2 +kerning first=109 second=100 amount=1 +kerning first=109 second=112 amount=2 +kerning first=109 second=98 amount=2 +kerning first=109 second=116 amount=3 +kerning first=109 second=121 amount=2 +kerning first=109 second=59 amount=4 +kerning first=109 second=119 amount=3 +kerning first=109 second=118 amount=3 +kerning first=109 second=122 amount=2 +kerning first=109 second=110 amount=2 +kerning first=109 second=120 amount=3 +kerning first=109 second=114 amount=2 +kerning first=109 second=97 amount=3 +kerning first=109 second=111 amount=1 +kerning first=109 second=115 amount=1 +kerning first=109 second=58 amount=2 +kerning first=109 second=34 amount=-1 +kerning first=109 second=39 amount=-2 +kerning first=109 second=44 amount=3 +kerning first=109 second=46 amount=3 +kerning first=97 second=106 amount=2 +kerning first=97 second=104 amount=1 +kerning first=97 second=48 amount=-2 +kerning first=97 second=63 amount=-4 +kerning first=97 second=108 amount=2 +kerning first=97 second=50 amount=1 +kerning first=97 second=92 amount=-7 +kerning first=97 second=47 amount=3 +kerning first=97 second=55 amount=1 +kerning first=97 second=107 amount=2 +kerning first=97 second=49 amount=-6 +kerning first=97 second=41 amount=2 +kerning first=97 second=33 amount=2 +kerning first=97 second=54 amount=-2 +kerning first=97 second=57 amount=-1 +kerning first=97 second=105 amount=2 +kerning first=97 second=100 amount=1 +kerning first=97 second=112 amount=2 +kerning first=97 second=98 amount=2 +kerning first=97 second=116 amount=1 +kerning first=97 second=103 amount=1 +kerning first=97 second=59 amount=2 +kerning first=97 second=119 amount=1 +kerning first=97 second=118 amount=1 +kerning first=97 second=122 amount=2 +kerning first=97 second=110 amount=2 +kerning first=97 second=120 amount=3 +kerning first=97 second=114 amount=2 +kerning first=97 second=117 amount=1 +kerning first=97 second=97 amount=3 +kerning first=97 second=111 amount=1 +kerning first=97 second=99 amount=1 +kerning first=97 second=115 amount=2 +kerning first=97 second=58 amount=2 +kerning first=97 second=34 amount=-5 +kerning first=97 second=39 amount=-5 +kerning first=97 second=44 amount=2 +kerning first=97 second=46 amount=3 +kerning first=111 second=106 amount=2 +kerning first=111 second=104 amount=2 +kerning first=111 second=102 amount=2 +kerning first=111 second=93 amount=-1 +kerning first=111 second=53 amount=1 +kerning first=111 second=63 amount=-2 +kerning first=111 second=108 amount=2 +kerning first=111 second=52 amount=2 +kerning first=111 second=92 amount=-6 +kerning first=111 second=47 amount=1 +kerning first=111 second=107 amount=2 +kerning first=111 second=49 amount=-7 +kerning first=111 second=40 amount=2 +kerning first=111 second=33 amount=2 +kerning first=111 second=64 amount=1 +kerning first=111 second=105 amount=2 +kerning first=111 second=100 amount=3 +kerning first=111 second=113 amount=2 +kerning first=111 second=112 amount=2 +kerning first=111 second=98 amount=2 +kerning first=111 second=116 amount=4 +kerning first=111 second=103 amount=3 +kerning first=111 second=121 amount=2 +kerning first=111 second=59 amount=1 +kerning first=111 second=119 amount=3 +kerning first=111 second=118 amount=3 +kerning first=111 second=110 amount=2 +kerning first=111 second=120 amount=2 +kerning first=111 second=114 amount=2 +kerning first=111 second=117 amount=3 +kerning first=111 second=109 amount=1 +kerning first=111 second=97 amount=3 +kerning first=111 second=111 amount=3 +kerning first=111 second=101 amount=2 +kerning first=111 second=99 amount=2 +kerning first=111 second=115 amount=2 +kerning first=111 second=35 amount=2 +kerning first=111 second=34 amount=-5 +kerning first=111 second=39 amount=-4 +kerning first=111 second=45 amount=2 +kerning first=111 second=46 amount=1 +kerning first=101 second=106 amount=3 +kerning first=101 second=104 amount=3 +kerning first=101 second=102 amount=3 +kerning first=101 second=53 amount=3 +kerning first=101 second=63 amount=-1 +kerning first=101 second=56 amount=1 +kerning first=101 second=108 amount=3 +kerning first=101 second=52 amount=2 +kerning first=101 second=50 amount=2 +kerning first=101 second=92 amount=-5 +kerning first=101 second=47 amount=4 +kerning first=101 second=55 amount=2 +kerning first=101 second=51 amount=1 +kerning first=101 second=107 amount=3 +kerning first=101 second=49 amount=-5 +kerning first=101 second=40 amount=2 +kerning first=101 second=41 amount=3 +kerning first=101 second=33 amount=3 +kerning first=101 second=64 amount=2 +kerning first=101 second=57 amount=1 +kerning first=101 second=105 amount=3 +kerning first=101 second=100 amount=3 +kerning first=101 second=113 amount=2 +kerning first=101 second=112 amount=3 +kerning first=101 second=98 amount=3 +kerning first=101 second=116 amount=4 +kerning first=101 second=103 amount=3 +kerning first=101 second=121 amount=3 +kerning first=101 second=59 amount=3 +kerning first=101 second=119 amount=4 +kerning first=101 second=118 amount=4 +kerning first=101 second=122 amount=3 +kerning first=101 second=110 amount=3 +kerning first=101 second=120 amount=4 +kerning first=101 second=114 amount=3 +kerning first=101 second=117 amount=3 +kerning first=101 second=109 amount=2 +kerning first=101 second=97 amount=4 +kerning first=101 second=111 amount=3 +kerning first=101 second=101 amount=3 +kerning first=101 second=99 amount=3 +kerning first=101 second=115 amount=4 +kerning first=101 second=58 amount=3 +kerning first=101 second=35 amount=2 +kerning first=101 second=34 amount=-2 +kerning first=101 second=39 amount=-2 +kerning first=101 second=44 amount=2 +kerning first=101 second=45 amount=2 +kerning first=101 second=46 amount=3 +kerning first=99 second=106 amount=2 +kerning first=99 second=104 amount=2 +kerning first=99 second=102 amount=2 +kerning first=99 second=93 amount=-2 +kerning first=99 second=53 amount=2 +kerning first=99 second=63 amount=-3 +kerning first=99 second=108 amount=2 +kerning first=99 second=52 amount=1 +kerning first=99 second=50 amount=-1 +kerning first=99 second=92 amount=-7 +kerning first=99 second=107 amount=2 +kerning first=99 second=49 amount=-7 +kerning first=99 second=40 amount=1 +kerning first=99 second=33 amount=2 +kerning first=99 second=105 amount=2 +kerning first=99 second=100 amount=2 +kerning first=99 second=113 amount=2 +kerning first=99 second=112 amount=2 +kerning first=99 second=98 amount=2 +kerning first=99 second=116 amount=3 +kerning first=99 second=103 amount=2 +kerning first=99 second=121 amount=1 +kerning first=99 second=119 amount=2 +kerning first=99 second=118 amount=2 +kerning first=99 second=110 amount=2 +kerning first=99 second=120 amount=1 +kerning first=99 second=114 amount=2 +kerning first=99 second=117 amount=2 +kerning first=99 second=97 amount=3 +kerning first=99 second=111 amount=2 +kerning first=99 second=101 amount=2 +kerning first=99 second=99 amount=2 +kerning first=99 second=115 amount=3 +kerning first=99 second=58 amount=1 +kerning first=99 second=35 amount=1 +kerning first=99 second=34 amount=-4 +kerning first=99 second=39 amount=-4 +kerning first=99 second=45 amount=1 +kerning first=99 second=46 amount=2 +kerning first=115 second=106 amount=2 +kerning first=115 second=104 amount=1 +kerning first=115 second=102 amount=2 +kerning first=115 second=53 amount=2 +kerning first=115 second=63 amount=-2 +kerning first=115 second=108 amount=2 +kerning first=115 second=92 amount=-6 +kerning first=115 second=47 amount=2 +kerning first=115 second=107 amount=2 +kerning first=115 second=49 amount=-6 +kerning first=115 second=40 amount=2 +kerning first=115 second=41 amount=2 +kerning first=115 second=33 amount=2 +kerning first=115 second=105 amount=2 +kerning first=115 second=100 amount=2 +kerning first=115 second=113 amount=2 +kerning first=115 second=112 amount=2 +kerning first=115 second=98 amount=2 +kerning first=115 second=116 amount=3 +kerning first=115 second=103 amount=2 +kerning first=115 second=121 amount=2 +kerning first=115 second=59 amount=1 +kerning first=115 second=119 amount=3 +kerning first=115 second=118 amount=3 +kerning first=115 second=122 amount=2 +kerning first=115 second=110 amount=2 +kerning first=115 second=120 amount=3 +kerning first=115 second=114 amount=2 +kerning first=115 second=117 amount=2 +kerning first=115 second=109 amount=2 +kerning first=115 second=97 amount=3 +kerning first=115 second=111 amount=2 +kerning first=115 second=101 amount=2 +kerning first=115 second=99 amount=2 +kerning first=115 second=115 amount=3 +kerning first=115 second=58 amount=1 +kerning first=115 second=35 amount=1 +kerning first=115 second=34 amount=-4 +kerning first=115 second=39 amount=-3 +kerning first=115 second=46 amount=2 +kerning first=58 second=87 amount=-2 +kerning first=58 second=77 amount=-1 +kerning first=58 second=84 amount=-5 +kerning first=58 second=93 amount=-3 +kerning first=58 second=89 amount=-4 +kerning first=58 second=65 amount=-1 +kerning first=58 second=53 amount=-1 +kerning first=58 second=86 amount=-2 +kerning first=58 second=48 amount=-1 +kerning first=58 second=74 amount=-4 +kerning first=58 second=63 amount=-3 +kerning first=58 second=56 amount=-2 +kerning first=58 second=52 amount=-2 +kerning first=58 second=50 amount=-2 +kerning first=58 second=92 amount=-6 +kerning first=58 second=55 amount=-2 +kerning first=58 second=51 amount=-3 +kerning first=58 second=49 amount=-8 +kerning first=58 second=64 amount=-2 +kerning first=58 second=54 amount=-2 +kerning first=58 second=57 amount=-2 +kerning first=58 second=116 amount=2 +kerning first=58 second=121 amount=2 +kerning first=58 second=119 amount=3 +kerning first=58 second=118 amount=3 +kerning first=58 second=120 amount=1 +kerning first=58 second=114 amount=1 +kerning first=58 second=58 amount=-1 +kerning first=58 second=34 amount=-5 +kerning first=58 second=39 amount=-1 +kerning first=58 second=45 amount=-3 +kerning first=35 second=106 amount=1 +kerning first=35 second=81 amount=1 +kerning first=35 second=102 amount=2 +kerning first=35 second=93 amount=-5 +kerning first=35 second=90 amount=-5 +kerning first=35 second=88 amount=-3 +kerning first=35 second=89 amount=-2 +kerning first=35 second=65 amount=-3 +kerning first=35 second=53 amount=-1 +kerning first=35 second=85 amount=1 +kerning first=35 second=72 amount=1 +kerning first=35 second=74 amount=-2 +kerning first=35 second=63 amount=2 +kerning first=35 second=56 amount=-1 +kerning first=35 second=108 amount=1 +kerning first=35 second=50 amount=-3 +kerning first=35 second=92 amount=-3 +kerning first=35 second=47 amount=-5 +kerning first=35 second=71 amount=2 +kerning first=35 second=55 amount=-3 +kerning first=35 second=51 amount=-1 +kerning first=35 second=107 amount=1 +kerning first=35 second=49 amount=-7 +kerning first=35 second=40 amount=1 +kerning first=35 second=41 amount=-2 +kerning first=35 second=33 amount=2 +kerning first=35 second=79 amount=1 +kerning first=35 second=57 amount=-1 +kerning first=35 second=67 amount=2 +kerning first=35 second=105 amount=1 +kerning first=35 second=113 amount=1 +kerning first=35 second=112 amount=1 +kerning first=35 second=116 amount=3 +kerning first=35 second=103 amount=1 +kerning first=35 second=121 amount=3 +kerning first=35 second=119 amount=3 +kerning first=35 second=118 amount=3 +kerning first=35 second=122 amount=-1 +kerning first=35 second=110 amount=1 +kerning first=35 second=120 amount=2 +kerning first=35 second=114 amount=1 +kerning first=35 second=117 amount=2 +kerning first=35 second=109 amount=1 +kerning first=35 second=97 amount=1 +kerning first=35 second=111 amount=1 +kerning first=35 second=99 amount=1 +kerning first=35 second=34 amount=1 +kerning first=35 second=39 amount=1 +kerning first=35 second=44 amount=-10 +kerning first=35 second=46 amount=-5 +kerning first=42 second=93 amount=2 +kerning first=42 second=83 amount=3 +kerning first=42 second=113 amount=2 +kerning first=42 second=103 amount=2 +kerning first=34 second=106 amount=1 +kerning first=34 second=87 amount=2 +kerning first=34 second=84 amount=1 +kerning first=34 second=102 amount=-3 +kerning first=34 second=93 amount=2 +kerning first=34 second=90 amount=-2 +kerning first=34 second=88 amount=2 +kerning first=34 second=89 amount=1 +kerning first=34 second=65 amount=-6 +kerning first=34 second=75 amount=2 +kerning first=34 second=53 amount=-2 +kerning first=34 second=86 amount=3 +kerning first=34 second=85 amount=2 +kerning first=34 second=48 amount=-1 +kerning first=34 second=76 amount=2 +kerning first=34 second=74 amount=-9 +kerning first=34 second=63 amount=2 +kerning first=34 second=56 amount=-1 +kerning first=34 second=108 amount=2 +kerning first=34 second=82 amount=2 +kerning first=34 second=52 amount=-5 +kerning first=34 second=50 amount=-2 +kerning first=34 second=92 amount=3 +kerning first=34 second=47 amount=-3 +kerning first=34 second=51 amount=-1 +kerning first=34 second=107 amount=1 +kerning first=34 second=66 amount=2 +kerning first=34 second=80 amount=1 +kerning first=34 second=49 amount=-3 +kerning first=34 second=41 amount=1 +kerning first=34 second=73 amount=2 +kerning first=34 second=33 amount=2 +kerning first=34 second=64 amount=-7 +kerning first=34 second=54 amount=-2 +kerning first=34 second=57 amount=-1 +kerning first=34 second=105 amount=1 +kerning first=34 second=100 amount=-4 +kerning first=34 second=113 amount=-3 +kerning first=34 second=112 amount=1 +kerning first=34 second=98 amount=2 +kerning first=34 second=116 amount=-3 +kerning first=34 second=103 amount=-3 +kerning first=34 second=121 amount=3 +kerning first=34 second=119 amount=2 +kerning first=34 second=118 amount=3 +kerning first=34 second=122 amount=-2 +kerning first=34 second=110 amount=1 +kerning first=34 second=120 amount=2 +kerning first=34 second=117 amount=1 +kerning first=34 second=109 amount=1 +kerning first=34 second=97 amount=-3 +kerning first=34 second=111 amount=-2 +kerning first=34 second=101 amount=-4 +kerning first=34 second=99 amount=-3 +kerning first=34 second=115 amount=-3 +kerning first=34 second=35 amount=-3 +kerning first=34 second=34 amount=2 +kerning first=34 second=39 amount=2 +kerning first=34 second=44 amount=-5 +kerning first=34 second=45 amount=-3 +kerning first=34 second=46 amount=-4 +kerning first=39 second=87 amount=3 +kerning first=39 second=84 amount=2 +kerning first=39 second=104 amount=1 +kerning first=39 second=102 amount=-2 +kerning first=39 second=93 amount=2 +kerning first=39 second=90 amount=-2 +kerning first=39 second=88 amount=3 +kerning first=39 second=89 amount=2 +kerning first=39 second=65 amount=-6 +kerning first=39 second=75 amount=2 +kerning first=39 second=78 amount=1 +kerning first=39 second=53 amount=-1 +kerning first=39 second=86 amount=3 +kerning first=39 second=85 amount=2 +kerning first=39 second=68 amount=1 +kerning first=39 second=76 amount=2 +kerning first=39 second=74 amount=-9 +kerning first=39 second=63 amount=3 +kerning first=39 second=69 amount=1 +kerning first=39 second=108 amount=2 +kerning first=39 second=82 amount=2 +kerning first=39 second=52 amount=-4 +kerning first=39 second=50 amount=-2 +kerning first=39 second=92 amount=3 +kerning first=39 second=47 amount=-9 +kerning first=39 second=107 amount=2 +kerning first=39 second=66 amount=2 +kerning first=39 second=80 amount=2 +kerning first=39 second=49 amount=-3 +kerning first=39 second=41 amount=2 +kerning first=39 second=73 amount=2 +kerning first=39 second=33 amount=2 +kerning first=39 second=64 amount=-10 +kerning first=39 second=54 amount=-1 +kerning first=39 second=105 amount=2 +kerning first=39 second=100 amount=-4 +kerning first=39 second=113 amount=-4 +kerning first=39 second=98 amount=2 +kerning first=39 second=116 amount=-3 +kerning first=39 second=103 amount=-1 +kerning first=39 second=121 amount=3 +kerning first=39 second=59 amount=-2 +kerning first=39 second=118 amount=1 +kerning first=39 second=122 amount=-1 +kerning first=39 second=114 amount=-2 +kerning first=39 second=97 amount=-3 +kerning first=39 second=111 amount=-4 +kerning first=39 second=101 amount=-4 +kerning first=39 second=99 amount=-4 +kerning first=39 second=115 amount=-4 +kerning first=39 second=58 amount=-2 +kerning first=39 second=35 amount=-2 +kerning first=39 second=34 amount=2 +kerning first=39 second=39 amount=3 +kerning first=39 second=44 amount=-6 +kerning first=39 second=45 amount=-4 +kerning first=39 second=46 amount=-2 +kerning first=44 second=106 amount=3 +kerning first=44 second=87 amount=-5 +kerning first=44 second=81 amount=-4 +kerning first=44 second=84 amount=-3 +kerning first=44 second=102 amount=-2 +kerning first=44 second=90 amount=3 +kerning first=44 second=88 amount=3 +kerning first=44 second=89 amount=-6 +kerning first=44 second=65 amount=2 +kerning first=44 second=86 amount=-5 +kerning first=44 second=85 amount=-3 +kerning first=44 second=83 amount=-2 +kerning first=44 second=48 amount=-3 +kerning first=44 second=74 amount=-3 +kerning first=44 second=63 amount=-4 +kerning first=44 second=56 amount=-2 +kerning first=44 second=108 amount=2 +kerning first=44 second=52 amount=-5 +kerning first=44 second=50 amount=2 +kerning first=44 second=92 amount=-9 +kerning first=44 second=47 amount=3 +kerning first=44 second=71 amount=-3 +kerning first=44 second=55 amount=2 +kerning first=44 second=51 amount=-2 +kerning first=44 second=107 amount=2 +kerning first=44 second=80 amount=2 +kerning first=44 second=70 amount=1 +kerning first=44 second=49 amount=-6 +kerning first=44 second=41 amount=2 +kerning first=44 second=73 amount=1 +kerning first=44 second=33 amount=1 +kerning first=44 second=64 amount=-2 +kerning first=44 second=79 amount=-3 +kerning first=44 second=54 amount=-4 +kerning first=44 second=57 amount=-3 +kerning first=44 second=105 amount=1 +kerning first=44 second=113 amount=-2 +kerning first=44 second=98 amount=2 +kerning first=44 second=116 amount=-3 +kerning first=44 second=121 amount=-4 +kerning first=44 second=59 amount=4 +kerning first=44 second=119 amount=-1 +kerning first=44 second=118 amount=-3 +kerning first=44 second=122 amount=3 +kerning first=44 second=110 amount=1 +kerning first=44 second=120 amount=3 +kerning first=44 second=114 amount=2 +kerning first=44 second=109 amount=-2 +kerning first=44 second=97 amount=2 +kerning first=44 second=58 amount=2 +kerning first=44 second=35 amount=-5 +kerning first=44 second=34 amount=-5 +kerning first=44 second=39 amount=-8 +kerning first=44 second=44 amount=2 +kerning first=44 second=45 amount=-5 +kerning first=44 second=46 amount=2 +kerning first=45 second=87 amount=-2 +kerning first=45 second=81 amount=2 +kerning first=45 second=84 amount=-4 +kerning first=45 second=93 amount=-8 +kerning first=45 second=90 amount=-5 +kerning first=45 second=88 amount=-5 +kerning first=45 second=89 amount=-6 +kerning first=45 second=65 amount=-2 +kerning first=45 second=53 amount=-3 +kerning first=45 second=86 amount=-2 +kerning first=45 second=83 amount=-3 +kerning first=45 second=72 amount=2 +kerning first=45 second=63 amount=-2 +kerning first=45 second=56 amount=-4 +kerning first=45 second=108 amount=1 +kerning first=45 second=52 amount=2 +kerning first=45 second=50 amount=-9 +kerning first=45 second=92 amount=-8 +kerning first=45 second=47 amount=-4 +kerning first=45 second=71 amount=2 +kerning first=45 second=55 amount=-5 +kerning first=45 second=51 amount=-4 +kerning first=45 second=107 amount=1 +kerning first=45 second=49 amount=-8 +kerning first=45 second=40 amount=2 +kerning first=45 second=41 amount=-2 +kerning first=45 second=33 amount=1 +kerning first=45 second=79 amount=1 +kerning first=45 second=57 amount=-3 +kerning first=45 second=67 amount=2 +kerning first=45 second=105 amount=1 +kerning first=45 second=100 amount=2 +kerning first=45 second=113 amount=2 +kerning first=45 second=116 amount=2 +kerning first=45 second=103 amount=2 +kerning first=45 second=119 amount=2 +kerning first=45 second=118 amount=1 +kerning first=45 second=122 amount=-4 +kerning first=45 second=110 amount=1 +kerning first=45 second=120 amount=-1 +kerning first=45 second=114 amount=1 +kerning first=45 second=117 amount=2 +kerning first=45 second=111 amount=2 +kerning first=45 second=101 amount=1 +kerning first=45 second=99 amount=2 +kerning first=45 second=58 amount=-1 +kerning first=45 second=35 amount=2 +kerning first=45 second=34 amount=-3 +kerning first=45 second=39 amount=-2 +kerning first=45 second=44 amount=-6 +kerning first=45 second=45 amount=1 +kerning first=45 second=46 amount=-6 +kerning first=46 second=106 amount=1 +kerning first=46 second=87 amount=-4 +kerning first=46 second=84 amount=-3 +kerning first=46 second=104 amount=1 +kerning first=46 second=102 amount=-2 +kerning first=46 second=90 amount=3 +kerning first=46 second=88 amount=3 +kerning first=46 second=89 amount=-5 +kerning first=46 second=65 amount=2 +kerning first=46 second=53 amount=2 +kerning first=46 second=86 amount=-2 +kerning first=46 second=85 amount=-1 +kerning first=46 second=48 amount=-2 +kerning first=46 second=74 amount=-1 +kerning first=46 second=63 amount=-4 +kerning first=46 second=108 amount=2 +kerning first=46 second=52 amount=-6 +kerning first=46 second=50 amount=2 +kerning first=46 second=92 amount=-11 +kerning first=46 second=47 amount=3 +kerning first=46 second=55 amount=2 +kerning first=46 second=107 amount=2 +kerning first=46 second=80 amount=1 +kerning first=46 second=49 amount=-6 +kerning first=46 second=41 amount=2 +kerning first=46 second=73 amount=1 +kerning first=46 second=33 amount=1 +kerning first=46 second=79 amount=-1 +kerning first=46 second=54 amount=-2 +kerning first=46 second=105 amount=2 +kerning first=46 second=100 amount=2 +kerning first=46 second=112 amount=1 +kerning first=46 second=98 amount=1 +kerning first=46 second=116 amount=-3 +kerning first=46 second=103 amount=1 +kerning first=46 second=121 amount=-3 +kerning first=46 second=59 amount=2 +kerning first=46 second=118 amount=-2 +kerning first=46 second=122 amount=2 +kerning first=46 second=110 amount=2 +kerning first=46 second=120 amount=3 +kerning first=46 second=114 amount=2 +kerning first=46 second=117 amount=1 +kerning first=46 second=97 amount=3 +kerning first=46 second=111 amount=1 +kerning first=46 second=101 amount=1 +kerning first=46 second=99 amount=2 +kerning first=46 second=115 amount=3 +kerning first=46 second=58 amount=2 +kerning first=46 second=35 amount=-9 +kerning first=46 second=34 amount=-9 +kerning first=46 second=39 amount=-2 +kerning first=46 second=44 amount=1 +kerning first=46 second=45 amount=-4 +kerning first=46 second=46 amount=2 +kerning first=126 second=33 amount=-2 +kerning first=126 second=32 amount=-3 +kerning first=32 second=53 amount=-2 +kerning first=32 second=83 amount=1 +kerning first=32 second=123 amount=2 diff --git a/tests/cpp-tests/Resources/hd/fonts/markerFelt.png b/tests/cpp-tests/Resources/hd/fonts/markerFelt.png new file mode 100755 index 0000000000..3988cfdf65 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/markerFelt.png differ diff --git a/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.plist b/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.plist new file mode 100755 index 0000000000..55cdc2176b --- /dev/null +++ b/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.plist @@ -0,0 +1,16 @@ + + + + + version + 1 + textureFilename + tuffy_bold_italic-charmap.png + itemHeight + 128 + itemWidth + 96 + firstChar + 32 + + diff --git a/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.png b/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.png new file mode 100755 index 0000000000..8167faf6c4 Binary files /dev/null and b/tests/cpp-tests/Resources/hd/fonts/tuffy_bold_italic-charmap.png differ diff --git a/tests/cpp-tests/Resources/music.mid b/tests/cpp-tests/Resources/music.mid new file mode 100755 index 0000000000..f03070495d Binary files /dev/null and b/tests/cpp-tests/Resources/music.mid differ diff --git a/tests/cpp-tests/Resources/pew-pew-lei.wav b/tests/cpp-tests/Resources/pew-pew-lei.wav new file mode 100755 index 0000000000..143c127d6e Binary files /dev/null and b/tests/cpp-tests/Resources/pew-pew-lei.wav differ diff --git a/tests/cpp-tests/Resources/spine/goblins.atlas b/tests/cpp-tests/Resources/spine/goblins.atlas new file mode 100755 index 0000000000..ce74602e5c --- /dev/null +++ b/tests/cpp-tests/Resources/spine/goblins.atlas @@ -0,0 +1,285 @@ + +goblins.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 23 + size: 103, 79 + orig: 103, 81 + offset: 0, 2 + index: -1 +goblin/head + rotate: false + xy: 107, 38 + size: 103, 64 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 107, 2 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 172, 2 + size: 30, 70 + orig: 33, 70 + offset: 2, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 244, 2 + size: 30, 70 + orig: 33, 70 + offset: 2, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 2, 2 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 156, 238 + offset: 100, 30 + index: -1 +goblingirl/torso + rotate: true + xy: 482, 60 + size: 66, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 580, 91 + size: 35, 76 + orig: 36, 76 + offset: 1, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 658, 91 + size: 35, 76 + orig: 36, 76 + offset: 1, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 736, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: true + xy: 310, 40 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: true + xy: 316, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 811, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 883, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 950, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 580, 56 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 645, 56 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 355, 55 + size: 59, 43 + orig: 62, 43 + offset: 1, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 416, 64 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: false + xy: 359, 11 + size: 39, 42 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 416, 43 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: true + xy: 400, 2 + size: 39, 42 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: true + xy: 444, 4 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 481, 17 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 519, 18 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 556, 8 + size: 22, 50 + orig: 28, 50 + offset: 3, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 580, 13 + size: 33, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: true + xy: 615, 25 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 661, 26 + size: 28, 45 + orig: 28, 46 + offset: 0, 1 + index: -1 +goblingirl/left-arm + rotate: false + xy: 710, 54 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: false + xy: 708, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 749, 54 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: false + xy: 733, 15 + size: 35, 37 + orig: 36, 37 + offset: 1, 0 + index: -1 +goblin/undies + rotate: false + xy: 787, 62 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 825, 62 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 59, 6 + size: 37, 15 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: true + xy: 770, 18 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 diff --git a/tests/cpp-tests/Resources/spine/goblins.json b/tests/cpp-tests/Resources/spine/goblins.json new file mode 100755 index 0000000000..95313ebe61 --- /dev/null +++ b/tests/cpp-tests/Resources/spine/goblins.json @@ -0,0 +1,499 @@ +{ +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, + { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, + { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, + { "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 }, + { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 }, + { "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 }, + { "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 }, + { "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 }, + { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 }, + { "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 }, + { "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 }, + { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 }, + { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 }, + { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 }, + { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, + { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, + { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 } +], +"slots": [ + { "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" }, + { "name": "left arm", "bone": "left arm", "attachment": "left arm" }, + { "name": "left hand item", "bone": "left hand", "attachment": "dagger" }, + { "name": "left hand", "bone": "left hand", "attachment": "left hand" }, + { "name": "left foot", "bone": "left foot", "attachment": "left foot" }, + { "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" }, + { "name": "left upper leg", "bone": "left upper leg", "attachment": "left upper leg" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, + { "name": "right foot", "bone": "right foot", "attachment": "right foot" }, + { "name": "right lower leg", "bone": "right lower leg", "attachment": "right lower leg" }, + { "name": "undie straps", "bone": "pelvis", "attachment": "undie straps" }, + { "name": "undies", "bone": "pelvis", "attachment": "undies" }, + { "name": "right upper leg", "bone": "right upper leg", "attachment": "right upper leg" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eyes", "bone": "head" }, + { "name": "right shoulder", "bone": "right shoulder", "attachment": "right shoulder" }, + { "name": "right arm", "bone": "right arm", "attachment": "right arm" }, + { "name": "right hand item", "bone": "right hand", "attachment": "dagger" }, + { "name": "right hand", "bone": "right hand", "attachment": "right hand" } +], +"skins": { + "default": { + "left hand item": { + "dagger": { "x": -35.5, "y": 3.85, "rotation": 10.47, "width": 156, "height": 238 }, + "spear": { "x": -4.55, "y": 39.2, "rotation": 13.04, "width": 22, "height": 368 } + }, + "right hand item": { + "dagger": { "x": -21.57, "y": 15.8, "rotation": -8.06, "width": 156, "height": 238 } + } + }, + "goblin": { + "neck": { + "neck": { "name": "goblin/neck", "x": 10.1, "y": 0.42, "rotation": -93.69, "width": 36, "height": 41 } + }, + "undies": { + "undies": { "name": "goblin/undies", "x": 6.3, "y": 0.12, "rotation": 0.91, "width": 36, "height": 29 } + }, + "right hand": { + "right hand": { "name": "goblin/right-hand", "x": 7.88, "y": 2.78, "rotation": 91.96, "width": 36, "height": 37 } + }, + "right arm": { + "right arm": { "name": "goblin/right-arm", "x": 16.44, "y": -1.04, "rotation": 94.32, "width": 23, "height": 50 } + }, + "head": { + "head": { "name": "goblin/head", "x": 25.73, "y": 2.33, "rotation": -92.29, "width": 103, "height": 66 } + }, + "left shoulder": { + "left shoulder": { "name": "goblin/left-shoulder", "x": 15.56, "y": -2.26, "rotation": 62.01, "width": 29, "height": 44 } + }, + "left arm": { + "left arm": { + "name": "goblin/left-arm", + "x": 16.7, + "y": -1.69, + "scaleX": 1.057, + "scaleY": 1.057, + "rotation": 33.84, + "width": 37, + "height": 35 + } + }, + "left hand": { + "left hand": { + "name": "goblin/left-hand", + "x": 3.47, + "y": 3.41, + "scaleX": 0.892, + "scaleY": 0.892, + "rotation": 31.14, + "width": 36, + "height": 41 + } + }, + "right lower leg": { + "right lower leg": { "name": "goblin/right-lower-leg", "x": 25.68, "y": -3.15, "rotation": 111.83, "width": 36, "height": 76 } + }, + "right upper leg": { + "right upper leg": { "name": "goblin/right-upper-leg", "x": 20.35, "y": 1.47, "rotation": 97.49, "width": 34, "height": 63 } + }, + "pelvis": { + "pelvis": { "name": "goblin/pelvis", "x": -5.61, "y": 0.76, "width": 62, "height": 43 } + }, + "left lower leg": { + "left lower leg": { "name": "goblin/left-lower-leg", "x": 23.58, "y": -2.06, "rotation": 105.75, "width": 33, "height": 70 } + }, + "left upper leg": { + "left upper leg": { "name": "goblin/left-upper-leg", "x": 29.68, "y": -3.87, "rotation": 89.09, "width": 33, "height": 73 } + }, + "torso": { + "torso": { "name": "goblin/torso", "x": 38.09, "y": -3.87, "rotation": -94.95, "width": 68, "height": 96 } + }, + "right shoulder": { + "right shoulder": { "name": "goblin/right-shoulder", "x": 15.68, "y": -1.03, "rotation": 130.65, "width": 39, "height": 45 } + }, + "right foot": { + "right foot": { "name": "goblin/right-foot", "x": 23.56, "y": 9.8, "rotation": 1.52, "width": 63, "height": 33 } + }, + "left foot": { + "left foot": { "name": "goblin/left-foot", "x": 24.85, "y": 8.74, "rotation": 3.32, "width": 65, "height": 31 } + }, + "undie straps": { + "undie straps": { "name": "goblin/undie-straps", "x": -3.87, "y": 13.1, "scaleX": 1.089, "width": 55, "height": 19 } + }, + "eyes": { + "eyes closed": { "name": "goblin/eyes-closed", "x": 32.21, "y": -21.27, "rotation": -88.92, "width": 34, "height": 12 } + } + }, + "goblingirl": { + "left upper leg": { + "left upper leg": { "name": "goblingirl/left-upper-leg", "x": 30.21, "y": -2.95, "rotation": 89.09, "width": 33, "height": 70 } + }, + "left lower leg": { + "left lower leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.6, "rotation": 105.75, "width": 33, "height": 70 } + }, + "left foot": { + "left foot": { "name": "goblingirl/left-foot", "x": 25.17, "y": 7.92, "rotation": 3.32, "width": 65, "height": 31 } + }, + "right upper leg": { + "right upper leg": { "name": "goblingirl/right-upper-leg", "x": 19.69, "y": 2.13, "rotation": 97.49, "width": 34, "height": 63 } + }, + "right lower leg": { + "right lower leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.27, "rotation": 111.83, "width": 36, "height": 76 } + }, + "right foot": { + "right foot": { "name": "goblingirl/right-foot", "x": 23.46, "y": 9.66, "rotation": 1.52, "width": 63, "height": 33 } + }, + "torso": { + "torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.74, "width": 68, "height": 96 } + }, + "left shoulder": { + "left shoulder": { "name": "goblingirl/left-shoulder", "x": 19.8, "y": -0.42, "rotation": 61.21, "width": 28, "height": 46 } + }, + "left arm": { + "left arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.42, "rotation": 33.05, "width": 37, "height": 35 } + }, + "left hand": { + "left hand": { + "name": "goblingirl/left-hand", + "x": 4.34, + "y": 2.39, + "scaleX": 0.896, + "scaleY": 0.896, + "rotation": 30.34, + "width": 35, + "height": 40 + } + }, + "neck": { + "neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.14, "rotation": -98.86, "width": 35, "height": 41 } + }, + "head": { + "head": { "name": "goblingirl/head", "x": 27.71, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 } + }, + "right shoulder": { + "right shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.45, "rotation": 129.85, "width": 39, "height": 45 } + }, + "right arm": { + "right arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.52, "width": 28, "height": 50 } + }, + "right hand": { + "right hand": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } + }, + "pelvis": { + "pelvis": { "name": "goblingirl/pelvis", "x": -3.87, "y": 3.18, "width": 62, "height": 43 } + }, + "undie straps": { + "undie straps": { "name": "goblingirl/undie-straps", "x": -1.51, "y": 14.18, "width": 55, "height": 19 } + }, + "undies": { + "undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.7, "width": 36, "height": 29 } + }, + "eyes": { + "eyes closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.54, "rotation": -87.04, "width": 37, "height": 21 } + } + } +}, +"animations": { + "walk": { + "bones": { + "left upper leg": { + "rotate": [ + { "time": 0, "angle": -26.55 }, + { "time": 0.1333, "angle": -8.78 }, + { "time": 0.2333, "angle": 9.51 }, + { "time": 0.3666, "angle": 30.74 }, + { "time": 0.5, "angle": 25.33 }, + { "time": 0.6333, "angle": 26.11 }, + { "time": 0.7333, "angle": -7.7 }, + { "time": 0.8666, "angle": -21.19 }, + { "time": 1, "angle": -26.55 } + ], + "translate": [ + { "time": 0, "x": -1.32, "y": 1.7 }, + { "time": 0.3666, "x": -0.06, "y": 2.42 }, + { "time": 1, "x": -1.32, "y": 1.7 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 42.45 }, + { "time": 0.1333, "angle": 52.1 }, + { "time": 0.2333, "angle": 8.53 }, + { "time": 0.5, "angle": -16.93 }, + { "time": 0.6333, "angle": 1.89 }, + { + "time": 0.7333, + "angle": 28.06, + "curve": [ 0.462, 0.11, 1, 1 ] + }, + { + "time": 0.8666, + "angle": 58.68, + "curve": [ 0.5, 0.02, 1, 1 ] + }, + { "time": 1, "angle": 42.45 } + ], + "translate": [ + { "time": 0, "x": 6.23, "y": 0 }, + { "time": 0.2333, "x": 2.14, "y": 2.4 }, + { "time": 0.5, "x": 2.44, "y": 4.8 }, + { "time": 1, "x": 6.23, "y": 0 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -22.98 }, + { "time": 0.1333, "angle": -63.5 }, + { "time": 0.2333, "angle": -73.76 }, + { "time": 0.5, "angle": 5.11 }, + { "time": 0.6333, "angle": -28.29 }, + { "time": 0.7333, "angle": 4.08 }, + { "time": 0.8666, "angle": 3.53 }, + { "time": 1, "angle": -22.98 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2333, "x": 2.55, "y": -0.47 }, + { "time": 0.5, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": -3.69 }, + { "time": 0.1333, "angle": -10.42 }, + { "time": 0.2333, "angle": -5.01 }, + { "time": 0.3666, "angle": 3.87 }, + { "time": 0.5, "angle": -3.87 }, + { "time": 0.6333, "angle": 2.78 }, + { "time": 0.7333, "angle": 1.68 }, + { "time": 0.8666, "angle": -8.54 }, + { "time": 1, "angle": -3.69 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 5.29, + "curve": [ 0.264, 0, 0.75, 1 ] + }, + { "time": 0.6333, "angle": 6.65 }, + { "time": 1, "angle": 5.29 } + ] + }, + "right arm": { + "rotate": [ + { + "time": 0, + "angle": -4.02, + "curve": [ 0.267, 0, 0.804, 0.99 ] + }, + { + "time": 0.6333, + "angle": 19.78, + "curve": [ 0.307, 0, 0.787, 0.99 ] + }, + { "time": 1, "angle": -4.02 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 8.98 }, + { "time": 0.6333, "angle": 0.51 }, + { "time": 1, "angle": 8.98 } + ] + }, + "left shoulder": { + "rotate": [ + { + "time": 0, + "angle": 6.25, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": -11.78, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 6.25 } + ], + "translate": [ + { "time": 0, "x": 1.15, "y": 0.23 } + ] + }, + "left hand": { + "rotate": [ + { + "time": 0, + "angle": -21.23, + "curve": [ 0.295, 0, 0.755, 0.98 ] + }, + { + "time": 0.5, + "angle": -27.28, + "curve": [ 0.241, 0, 0.75, 0.97 ] + }, + { "time": 1, "angle": -21.23 } + ] + }, + "left arm": { + "rotate": [ + { + "time": 0, + "angle": 28.37, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": 60.09, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 28.37 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -10.28 }, + { + "time": 0.1333, + "angle": -15.38, + "curve": [ 0.545, 0, 0.818, 1 ] + }, + { + "time": 0.3666, + "angle": -9.78, + "curve": [ 0.58, 0.17, 0.669, 0.99 ] + }, + { + "time": 0.6333, + "angle": -15.75, + "curve": [ 0.235, 0.01, 0.795, 1 ] + }, + { + "time": 0.8666, + "angle": -7.06, + "curve": [ 0.209, 0, 0.816, 0.98 ] + }, + { "time": 1, "angle": -10.28 } + ], + "translate": [ + { "time": 0, "x": -1.29, "y": 1.68 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": -5.25 }, + { "time": 0.2333, "angle": -1.91 }, + { "time": 0.3666, "angle": -6.45 }, + { "time": 0.5, "angle": -5.39 }, + { "time": 0.7333, "angle": -11.68 }, + { "time": 0.8666, "angle": 0.46 }, + { "time": 1, "angle": -5.25 } + ] + }, + "right lower leg": { + "rotate": [ + { + "time": 0, + "angle": -3.39, + "curve": [ 0.316, 0.01, 0.741, 0.98 ] + }, + { + "time": 0.1333, + "angle": -45.53, + "curve": [ 0.229, 0, 0.738, 0.97 ] + }, + { "time": 0.2333, "angle": -4.83 }, + { "time": 0.5, "angle": -19.53 }, + { "time": 0.6333, "angle": -64.8 }, + { + "time": 0.7333, + "angle": -82.56, + "curve": [ 0.557, 0.18, 1, 1 ] + }, + { "time": 1, "angle": -3.39 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5, "x": 0, "y": 0 }, + { "time": 0.6333, "x": 2.18, "y": 0.21 }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -4.16 }, + { + "time": 0.1333, + "x": 0, + "y": -7.05, + "curve": [ 0.359, 0.47, 0.646, 0.74 ] + }, + { "time": 0.3666, "x": 0, "y": 6.78 }, + { "time": 0.5, "x": 0, "y": -6.13 }, + { + "time": 0.6333, + "x": 0, + "y": -7.05, + "curve": [ 0.359, 0.47, 0.646, 0.74 ] + }, + { "time": 0.8666, "x": 0, "y": 6.78 }, + { "time": 1, "x": 0, "y": -4.16 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 3.6 }, + { "time": 0.1333, "angle": 17.49 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { "time": 0.5, "angle": 5.17 }, + { "time": 0.6333, "angle": 18.36 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 3.6, + "curve": [ 0, 0, 0.704, 1.17 ] + }, + { "time": 0.1333, "angle": -0.2 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { + "time": 0.5, + "angle": 5.17, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.6666, "angle": 1.1 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + } + }, + "slots": { + "eyes": { + "attachment": [ + { "time": 0.7, "name": "eyes closed" }, + { "time": 0.8, "name": null } + ] + } + } + } +} +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/spine/goblins.png b/tests/cpp-tests/Resources/spine/goblins.png new file mode 100755 index 0000000000..1d6f59e373 Binary files /dev/null and b/tests/cpp-tests/Resources/spine/goblins.png differ diff --git a/tests/cpp-tests/Resources/spine/spineboy.atlas b/tests/cpp-tests/Resources/spine/spineboy.atlas new file mode 100755 index 0000000000..1f482c0a1d --- /dev/null +++ b/tests/cpp-tests/Resources/spine/spineboy.atlas @@ -0,0 +1,166 @@ + +spineboy.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +head + rotate: false + xy: 1, 122 + size: 121, 132 + orig: 121, 132 + offset: 0, 0 + index: -1 +torso + rotate: false + xy: 1, 28 + size: 68, 92 + orig: 68, 92 + offset: 0, 0 + index: -1 +left-pant-bottom + rotate: false + xy: 1, 4 + size: 44, 22 + orig: 44, 22 + offset: 0, 0 + index: -1 +right-pant-bottom + rotate: false + xy: 47, 8 + size: 46, 18 + orig: 46, 18 + offset: 0, 0 + index: -1 +right-upper-leg + rotate: false + xy: 71, 50 + size: 44, 70 + orig: 44, 70 + offset: 0, 0 + index: -1 +pelvis + rotate: false + xy: 95, 1 + size: 63, 47 + orig: 63, 47 + offset: 0, 0 + index: -1 +left-upper-leg + rotate: false + xy: 117, 53 + size: 33, 67 + orig: 33, 67 + offset: 0, 0 + index: -1 +right-foot + rotate: false + xy: 160, 224 + size: 67, 30 + orig: 67, 30 + offset: 0, 0 + index: -1 +left-shoulder + rotate: false + xy: 124, 201 + size: 34, 53 + orig: 34, 53 + offset: 0, 0 + index: -1 +left-ankle + rotate: false + xy: 229, 222 + size: 25, 32 + orig: 25, 32 + offset: 0, 0 + index: -1 +left-foot + rotate: false + xy: 160, 192 + size: 65, 30 + orig: 65, 30 + offset: 0, 0 + index: -1 +neck + rotate: false + xy: 124, 171 + size: 34, 28 + orig: 34, 28 + offset: 0, 0 + index: -1 +right-arm + rotate: false + xy: 124, 124 + size: 21, 45 + orig: 21, 45 + offset: 0, 0 + index: -1 +right-ankle + rotate: false + xy: 227, 190 + size: 25, 30 + orig: 25, 30 + offset: 0, 0 + index: -1 +left-hand + rotate: false + xy: 147, 131 + size: 35, 38 + orig: 35, 38 + offset: 0, 0 + index: -1 +left-arm + rotate: false + xy: 184, 161 + size: 35, 29 + orig: 35, 29 + offset: 0, 0 + index: -1 +eyes-closed + rotate: false + xy: 221, 161 + size: 34, 27 + orig: 34, 27 + offset: 0, 0 + index: -1 +right-lower-leg + rotate: false + xy: 152, 65 + size: 51, 64 + orig: 51, 64 + offset: 0, 0 + index: -1 +right-foot-idle + rotate: false + xy: 184, 131 + size: 53, 28 + orig: 53, 28 + offset: 0, 0 + index: -1 +left-lower-leg + rotate: false + xy: 205, 65 + size: 49, 64 + orig: 49, 64 + offset: 0, 0 + index: -1 +right-shoulder + rotate: false + xy: 160, 12 + size: 52, 51 + orig: 52, 51 + offset: 0, 0 + index: -1 +eyes + rotate: false + xy: 214, 36 + size: 34, 27 + orig: 34, 27 + offset: 0, 0 + index: -1 +right-hand + rotate: false + xy: 214, 2 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 diff --git a/tests/cpp-tests/Resources/spine/spineboy.json b/tests/cpp-tests/Resources/spine/spineboy.json new file mode 100755 index 0000000000..113e72c335 --- /dev/null +++ b/tests/cpp-tests/Resources/spine/spineboy.json @@ -0,0 +1,1002 @@ +{ +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, + { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, + { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, + { "name": "right upper leg", "parent": "hip", "length": 45.76, "x": -18.27, "rotation": -101.13 }, + { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 94.95 }, + { "name": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 }, + { "name": "left shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 }, + { "name": "neck", "parent": "torso", "length": 18.38, "x": 83.64, "y": -1.78, "rotation": 0.9 }, + { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 50.21, "y": 0.6, "rotation": -10.7 }, + { "name": "right shoulder", "parent": "torso", "length": 49.95, "x": 81.9, "y": 6.79, "rotation": 130.6 }, + { "name": "head", "parent": "neck", "length": 68.28, "x": 19.09, "y": 6.97, "rotation": -8.94 }, + { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 }, + { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 }, + { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 }, + { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, + { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, + { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 } +], +"slots": [ + { "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" }, + { "name": "left arm", "bone": "left arm", "attachment": "left-arm" }, + { "name": "left hand", "bone": "left hand", "attachment": "left-hand" }, + { "name": "left foot", "bone": "left foot", "attachment": "left-foot" }, + { "name": "left lower leg", "bone": "left lower leg", "attachment": "left-lower-leg" }, + { "name": "left upper leg", "bone": "left upper leg", "attachment": "left-upper-leg" }, + { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, + { "name": "right foot", "bone": "right foot", "attachment": "right-foot" }, + { "name": "right lower leg", "bone": "right lower leg", "attachment": "right-lower-leg" }, + { "name": "right upper leg", "bone": "right upper leg", "attachment": "right-upper-leg" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eyes", "bone": "head", "attachment": "eyes" }, + { "name": "right shoulder", "bone": "right shoulder", "attachment": "right-shoulder", "additive": true }, + { "name": "right arm", "bone": "right arm", "attachment": "right-arm" }, + { "name": "right hand", "bone": "right hand", "attachment": "right-hand" }, + { "name": "bb-head", "bone": "head", "attachment": "bb-head" } +], +"skins": { + "default": { + "bb-head": { + "bb-head": { + "type": "boundingbox", + "vertices": [ + 55.69696, + -44.60648, + 8.2226715, + -47.609646, + -11.244263, + -32.942703, + -0.05206299, + 35.835804, + 61.018433, + 43.227512, + 90.35846, + -16.054127, + 115.41275, + -32.817406, + 78.29431, + -56.05409 + ] + } + }, + "eyes": { + "eyes": { "x": 28.94, "y": -32.92, "rotation": -86.9, "width": 34, "height": 27 }, + "eyes-closed": { "x": 28.77, "y": -32.86, "rotation": -86.9, "width": 34, "height": 27 } + }, + "head": { + "head": { "x": 53.94, "y": -5.75, "rotation": -86.9, "width": 121, "height": 132 } + }, + "left arm": { + "left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 } + }, + "left foot": { + "left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 } + }, + "left hand": { + "left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 } + }, + "left lower leg": { + "left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 } + }, + "left shoulder": { + "left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 } + }, + "left upper leg": { + "left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 } + }, + "neck": { + "neck": { "x": 9.42, "y": -3.66, "rotation": -100.15, "width": 34, "height": 28 } + }, + "pelvis": { + "pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 } + }, + "right arm": { + "right-arm": { "x": 18.34, "y": -2.64, "rotation": 94.32, "width": 21, "height": 45 } + }, + "right foot": { + "right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 } + }, + "right hand": { + "right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 } + }, + "right lower leg": { + "right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 } + }, + "right shoulder": { + "right-shoulder": { "x": 25.86, "y": 0.03, "rotation": 134.44, "width": 52, "height": 51 } + }, + "right upper leg": { + "right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 } + }, + "torso": { + "torso": { "x": 44.57, "y": -7.08, "rotation": -94.95, "width": 68, "height": 92 } + } + } +}, +"events": { + "behind": {}, + "headAttach": {}, + "headPop": {} +}, +"animations": { + "drawOrder": { + "bones": { + "head": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4827, "angle": -23.11 }, + { "time": 0.8965, "angle": -56.45 }, + { "time": 1.3103, "angle": 1.38 }, + { "time": 1.7931, "angle": 36.12 }, + { "time": 2.1379, "angle": 1.24 }, + { "time": 2.6206, "angle": -37.12 }, + { "time": 2.9666, "angle": 2.07 }, + { "time": 3.4666, "angle": 34.72 }, + { "time": 3.9, "angle": 359.99 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.19, 0.4, 0.586, 0.75 ] + }, + { + "time": 0.2758, + "x": 57.88, + "y": -35.72, + "curve": [ 0.39, 0.54, 0.632, 0.72 ] + }, + { + "time": 0.4827, + "x": 87.26, + "y": -87.89, + "curve": [ 0.325, 0.23, 0.587, 0.36 ] + }, + { + "time": 0.6896, + "x": 28.89, + "y": -114.62, + "curve": [ 0.383, 0.23, 0.736, 0.55 ] + }, + { + "time": 0.8965, + "x": -76.58, + "y": -124.98, + "curve": [ 0.129, 0.21, 0.547, 0.64 ] + }, + { + "time": 1.1034, + "x": -154.37, + "y": -77.13, + "curve": [ 0.354, 0.48, 0.729, 0.9 ] + }, + { + "time": 1.3103, + "x": -181.02, + "y": 18.56, + "curve": [ 0.063, 0.15, 0.52, 0.62 ] + }, + { + "time": 1.5862, + "x": -150.38, + "y": 128.67, + "curve": [ 0.381, 0.54, 0.778, 1 ] + }, + { + "time": 1.7931, + "x": -112.08, + "y": 146.28, + "curve": [ 0.242, 0, 0.626, 0.45 ] + }, + { + "time": 1.931, + "x": -63.7, + "y": 111.22, + "curve": [ 0.398, 0.35, 0.786, 0.76 ] + }, + { + "time": 2.1379, + "x": -48.94, + "y": -1.55, + "curve": [ 0.188, 0.21, 0.575, 0.61 ] + }, + { + "time": 2.3448, + "x": -91.69, + "y": -91.93, + "curve": [ 0.362, 0.51, 0.766, 1 ] + }, + { + "time": 2.6206, + "x": -142.79, + "y": -126.83, + "curve": [ 0.227, 0.34, 0.593, 0.75 ] + }, + { + "time": 2.7586, + "x": -176.7, + "y": -98.32, + "curve": [ 0.26, 0.4, 0.612, 0.71 ] + }, + { + "time": 2.8965, + "x": -163.95, + "y": -24.04, + "curve": [ 0.338, 0.37, 0.676, 0.71 ] + }, + { + "time": 2.9655, + "x": -150.17, + "y": 10.71, + "curve": [ 0.387, 0.61, 0.741, 1 ] + }, + { + "time": 3.1034, + "x": -102.44, + "y": 45.92, + "curve": [ 0.31, 0.24, 0.648, 0.58 ] + }, + { + "time": 3.2413, + "x": -53.99, + "y": 70.39, + "curve": [ 0.325, 0.29, 0.663, 0.63 ] + }, + { + "time": 3.3793, + "x": 1.88, + "y": 55.54, + "curve": [ 0.387, 0.33, 0.769, 0.73 ] + }, + { + "time": 3.5862, + "x": 34.26, + "y": 36.13, + "curve": [ 0.206, 0.28, 0.596, 0.67 ] + }, + { + "time": 3.7931, + "x": 23.94, + "y": 1.01, + "curve": [ 0.373, 0.56, 0.759, 1 ] + }, + { "time": 4, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0.8275, "x": 1, "y": 1 }, + { "time": 1.3103, "x": 0.742, "y": 0.742 }, + { "time": 1.7931, "x": 1, "y": 1 }, + { "time": 2.1379, "x": 1.502, "y": 1.502 }, + { "time": 2.6206, "x": 1, "y": 1 }, + { "time": 2.9655, "x": 0.707, "y": 0.707 }, + { "time": 3.3793, "x": 1, "y": 1 } + ] + } + }, + "events": [ + { "time": 0, "name": "headPop", "string": "pop.wav" }, + { "time": 1.3103, "name": "behind" }, + { "time": 2.9655, "name": "behind" }, + { "time": 4, "name": "headAttach", "string": "attach.wav" } + ], + "draworder": [ + { + "time": 0.6206, + "offsets": [ + { "slot": "head", "offset": -12 }, + { "slot": "eyes", "offset": -12 } + ] + }, + { + "time": 1.7931, + "offsets": [ + { "slot": "head", "offset": 3 }, + { "slot": "eyes", "offset": 3 } + ] + }, + { + "time": 2.6206, + "offsets": [ + { "slot": "head", "offset": -12 }, + { "slot": "eyes", "offset": -12 } + ] + }, + { "time": 3.5862 } + ] + }, + "jump": { + "bones": { + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 1.3666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -11.57, "y": -3 }, + { "time": 0.2333, "x": -16.2, "y": -19.43 }, + { + "time": 0.3333, + "x": 7.66, + "y": -8.48, + "curve": [ 0.057, 0.06, 0.712, 1 ] + }, + { "time": 0.3666, "x": 15.38, "y": 5.01 }, + { "time": 0.4666, "x": -7.84, "y": 57.22 }, + { + "time": 0.6, + "x": -10.81, + "y": 96.34, + "curve": [ 0.241, 0, 1, 1 ] + }, + { "time": 0.7333, "x": -7.01, "y": 54.7 }, + { "time": 0.8, "x": -10.58, "y": 32.2 }, + { "time": 0.9333, "x": -31.99, "y": 0.45 }, + { "time": 1.0666, "x": -12.48, "y": -29.47 }, + { "time": 1.3666, "x": -11.57, "y": -3 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left upper leg": { + "rotate": [ + { "time": 0, "angle": 17.13 }, + { "time": 0.2333, "angle": 44.35 }, + { "time": 0.3333, "angle": 16.46 }, + { "time": 0.4, "angle": -9.88 }, + { "time": 0.4666, "angle": -11.42 }, + { "time": 0.5666, "angle": 23.46 }, + { "time": 0.7666, "angle": 71.82 }, + { "time": 0.9333, "angle": 65.53 }, + { "time": 1.0666, "angle": 51.01 }, + { "time": 1.3666, "angle": 17.13 } + ], + "translate": [ + { "time": 0, "x": -3, "y": -2.25, "curve": "stepped" }, + { "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" }, + { "time": 1.3666, "x": -3, "y": -2.25 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -16.25 }, + { "time": 0.2333, "angle": -52.21 }, + { "time": 0.4, "angle": 15.04 }, + { "time": 0.4666, "angle": -8.95 }, + { "time": 0.5666, "angle": -39.53 }, + { "time": 0.7666, "angle": -27.27 }, + { "time": 0.9333, "angle": -3.52 }, + { "time": 1.0666, "angle": -61.92 }, + { "time": 1.3666, "angle": -16.25 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": 0.33 }, + { "time": 0.2333, "angle": 6.2 }, + { "time": 0.3333, "angle": 14.73 }, + { "time": 0.4, "angle": -15.54 }, + { "time": 0.4333, "angle": -21.2 }, + { "time": 0.5666, "angle": -7.55 }, + { "time": 0.7666, "angle": -0.67 }, + { "time": 0.9333, "angle": -0.58 }, + { "time": 1.0666, "angle": 14.64 }, + { "time": 1.3666, "angle": 0.33 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 25.97 }, + { "time": 0.2333, "angle": 46.43 }, + { "time": 0.3333, "angle": 22.61 }, + { "time": 0.4, "angle": 2.13 }, + { + "time": 0.4666, + "angle": 0.04, + "curve": [ 0, 0, 0.637, 0.98 ] + }, + { "time": 0.6, "angle": 65.55 }, + { "time": 0.7666, "angle": 64.93 }, + { "time": 0.9333, "angle": 41.08 }, + { "time": 1.0666, "angle": 66.25 }, + { "time": 1.3666, "angle": 25.97 } + ], + "translate": [ + { "time": 0, "x": 5.74, "y": 0.61 }, + { "time": 0.2333, "x": 4.79, "y": 1.79 }, + { "time": 0.3333, "x": 6.05, "y": -4.55 }, + { "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" }, + { "time": 1.0666, "x": 4.79, "y": 1.79 }, + { "time": 1.3666, "x": 5.74, "y": 0.61 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right lower leg": { + "rotate": [ + { "time": 0, "angle": -27.46 }, + { "time": 0.2333, "angle": -64.03 }, + { "time": 0.4, "angle": -48.36 }, + { "time": 0.5666, "angle": -76.86 }, + { "time": 0.7666, "angle": -26.89 }, + { "time": 0.9, "angle": -18.97 }, + { "time": 0.9333, "angle": -14.18 }, + { "time": 1.0666, "angle": -80.45 }, + { "time": 1.3666, "angle": -27.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": 1.08 }, + { "time": 0.2333, "angle": 16.02 }, + { "time": 0.3, "angle": 12.94 }, + { "time": 0.3333, "angle": 15.16 }, + { "time": 0.4, "angle": -14.7 }, + { "time": 0.4333, "angle": -12.85 }, + { "time": 0.4666, "angle": -19.18 }, + { "time": 0.5666, "angle": -15.82 }, + { "time": 0.6, "angle": -3.59 }, + { "time": 0.7666, "angle": -3.56 }, + { "time": 0.9333, "angle": 1.86 }, + { "time": 1.0666, "angle": 16.02 }, + { "time": 1.3666, "angle": 1.08 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -13.35 }, + { "time": 0.2333, "angle": -48.95 }, + { "time": 0.4333, "angle": -35.77 }, + { "time": 0.6, "angle": -4.59 }, + { "time": 0.7666, "angle": 14.61 }, + { "time": 0.9333, "angle": 15.74 }, + { "time": 1.0666, "angle": -32.44 }, + { "time": 1.3666, "angle": -13.35 } + ], + "translate": [ + { "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" }, + { "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" }, + { "time": 1.3666, "x": -3.67, "y": 1.68 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 12.78 }, + { "time": 0.2333, "angle": 16.46 }, + { "time": 0.4, "angle": 26.49 }, + { "time": 0.6, "angle": 15.51 }, + { "time": 0.7666, "angle": 1.34 }, + { "time": 0.9333, "angle": 2.35 }, + { "time": 1.0666, "angle": 6.08 }, + { "time": 1.3, "angle": 21.23 }, + { "time": 1.3666, "angle": 12.78 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 5.19 }, + { "time": 0.2333, "angle": 20.27 }, + { "time": 0.4, "angle": 15.27 }, + { "time": 0.6, "angle": -24.69 }, + { "time": 0.7666, "angle": -11.02 }, + { "time": 0.9333, "angle": -24.38 }, + { "time": 1.0666, "angle": 11.99 }, + { "time": 1.3, "angle": 4.86 }, + { "time": 1.3666, "angle": 5.19 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left shoulder": { + "rotate": [ + { + "time": 0, + "angle": 0.05, + "curve": [ 0, 0, 0.62, 1 ] + }, + { + "time": 0.2333, + "angle": 279.66, + "curve": [ 0.218, 0.67, 0.66, 0.99 ] + }, + { + "time": 0.5, + "angle": 62.27, + "curve": [ 0.462, 0, 0.764, 0.58 ] + }, + { "time": 0.9333, "angle": 28.91 }, + { "time": 1.0666, "angle": -8.62 }, + { "time": 1.1666, "angle": -18.43 }, + { "time": 1.3666, "angle": 0.05 } + ], + "translate": [ + { "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" }, + { "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" }, + { "time": 1.3666, "x": -1.76, "y": 0.56 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left hand": { + "rotate": [ + { "time": 0, "angle": 11.58, "curve": "stepped" }, + { "time": 0.9333, "angle": 11.58, "curve": "stepped" }, + { "time": 1.3666, "angle": 11.58 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "left arm": { + "rotate": [ + { "time": 0, "angle": 0.51 }, + { "time": 0.4333, "angle": 12.82 }, + { "time": 0.6, "angle": 47.55 }, + { "time": 0.9333, "angle": 12.82 }, + { "time": 1.1666, "angle": -6.5 }, + { "time": 1.3666, "angle": 0.51 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 43.82, + "curve": [ 0, 0, 0.62, 1 ] + }, + { + "time": 0.2333, + "angle": -8.74, + "curve": [ 0.304, 0.58, 0.709, 0.97 ] + }, + { + "time": 0.5333, + "angle": -208.02, + "curve": [ 0.462, 0, 0.764, 0.58 ] + }, + { "time": 0.9333, "angle": -246.72 }, + { "time": 1.0666, "angle": -307.13 }, + { "time": 1.1666, "angle": 37.15 }, + { "time": 1.3666, "angle": 43.82 } + ], + "translate": [ + { "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" }, + { "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" }, + { "time": 1.3666, "x": -7.84, "y": 7.19 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right arm": { + "rotate": [ + { "time": 0, "angle": -4.02 }, + { "time": 0.6, "angle": 17.5 }, + { "time": 0.9333, "angle": -4.02 }, + { "time": 1.1666, "angle": -16.72 }, + { "time": 1.3666, "angle": -4.02 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 22.92, "curve": "stepped" }, + { "time": 0.9333, "angle": 22.92, "curve": "stepped" }, + { "time": 1.3666, "angle": 22.92 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.3666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4333, "angle": -14.52 }, + { "time": 0.8, "angle": 9.86 }, + { "time": 1.3666, "angle": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.3666, "x": 1, "y": 1 } + ] + } + } + }, + "walk": { + "bones": { + "left upper leg": { + "rotate": [ + { "time": 0, "angle": -26.55 }, + { "time": 0.1333, "angle": -8.78 }, + { "time": 0.2666, "angle": 9.51 }, + { "time": 0.4, "angle": 30.74 }, + { "time": 0.5333, "angle": 25.33 }, + { "time": 0.6666, "angle": 26.11 }, + { "time": 0.8, "angle": -7.7 }, + { "time": 0.9333, "angle": -21.19 }, + { "time": 1.0666, "angle": -26.55 } + ], + "translate": [ + { "time": 0, "x": -3, "y": -2.25 }, + { "time": 0.4, "x": -2.18, "y": -2.25 }, + { "time": 1.0666, "x": -3, "y": -2.25 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 42.45 }, + { "time": 0.1333, "angle": 52.1 }, + { "time": 0.2666, "angle": 5.96 }, + { "time": 0.5333, "angle": -16.93 }, + { "time": 0.6666, "angle": 1.89 }, + { + "time": 0.8, + "angle": 28.06, + "curve": [ 0.462, 0.11, 1, 1 ] + }, + { + "time": 0.9333, + "angle": 58.68, + "curve": [ 0.5, 0.02, 1, 1 ] + }, + { "time": 1.0666, "angle": 42.45 } + ], + "translate": [ + { "time": 0, "x": 8.11, "y": -2.36 }, + { "time": 0.1333, "x": 10.03, "y": -2.56 }, + { "time": 0.4, "x": 2.76, "y": -2.97 }, + { "time": 0.5333, "x": 2.76, "y": -2.81 }, + { "time": 0.9333, "x": 8.67, "y": -2.54 }, + { "time": 1.0666, "x": 8.11, "y": -2.36 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -10.21 }, + { "time": 0.1333, "angle": -55.64 }, + { "time": 0.2666, "angle": -68.12 }, + { "time": 0.5333, "angle": 5.11 }, + { "time": 0.6666, "angle": -28.29 }, + { "time": 0.8, "angle": 4.08 }, + { "time": 0.9333, "angle": 3.53 }, + { "time": 1.0666, "angle": -10.21 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": -3.69 }, + { "time": 0.1333, "angle": -10.42 }, + { "time": 0.2666, "angle": -17.14 }, + { "time": 0.4, "angle": -2.83 }, + { "time": 0.5333, "angle": -3.87 }, + { "time": 0.6666, "angle": 2.78 }, + { "time": 0.8, "angle": 1.68 }, + { "time": 0.9333, "angle": -8.54 }, + { "time": 1.0666, "angle": -3.69 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 20.89, + "curve": [ 0.264, 0, 0.75, 1 ] + }, + { + "time": 0.1333, + "angle": 3.72, + "curve": [ 0.272, 0, 0.841, 1 ] + }, + { "time": 0.6666, "angle": -278.28 }, + { "time": 1.0666, "angle": 20.89 } + ], + "translate": [ + { "time": 0, "x": -7.84, "y": 7.19 }, + { "time": 0.1333, "x": -6.36, "y": 6.42 }, + { "time": 0.6666, "x": -11.07, "y": 5.25 }, + { "time": 1.0666, "x": -7.84, "y": 7.19 } + ] + }, + "right arm": { + "rotate": [ + { + "time": 0, + "angle": -4.02, + "curve": [ 0.267, 0, 0.804, 0.99 ] + }, + { + "time": 0.1333, + "angle": -13.99, + "curve": [ 0.341, 0, 1, 1 ] + }, + { + "time": 0.6666, + "angle": 36.54, + "curve": [ 0.307, 0, 0.787, 0.99 ] + }, + { "time": 1.0666, "angle": -4.02 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 22.92 }, + { "time": 0.4, "angle": -8.97 }, + { "time": 0.6666, "angle": 0.51 }, + { "time": 1.0666, "angle": 22.92 } + ] + }, + "left shoulder": { + "rotate": [ + { "time": 0, "angle": -1.47 }, + { "time": 0.1333, "angle": 13.6 }, + { "time": 0.6666, "angle": 280.74 }, + { "time": 1.0666, "angle": -1.47 } + ], + "translate": [ + { "time": 0, "x": -1.76, "y": 0.56 }, + { "time": 0.6666, "x": -2.47, "y": 8.14 }, + { "time": 1.0666, "x": -1.76, "y": 0.56 } + ] + }, + "left hand": { + "rotate": [ + { + "time": 0, + "angle": 11.58, + "curve": [ 0.169, 0.37, 0.632, 1.55 ] + }, + { + "time": 0.1333, + "angle": 28.13, + "curve": [ 0.692, 0, 0.692, 0.99 ] + }, + { + "time": 0.6666, + "angle": -27.42, + "curve": [ 0.117, 0.41, 0.738, 1.76 ] + }, + { "time": 0.8, "angle": -36.32 }, + { "time": 1.0666, "angle": 11.58 } + ] + }, + "left arm": { + "rotate": [ + { "time": 0, "angle": -8.27 }, + { "time": 0.1333, "angle": 18.43 }, + { "time": 0.6666, "angle": 0.88 }, + { "time": 1.0666, "angle": -8.27 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -10.28 }, + { + "time": 0.1333, + "angle": -15.38, + "curve": [ 0.545, 0, 1, 1 ] + }, + { + "time": 0.4, + "angle": -9.78, + "curve": [ 0.58, 0.17, 1, 1 ] + }, + { "time": 0.6666, "angle": -15.75 }, + { "time": 0.9333, "angle": -7.06 }, + { "time": 1.0666, "angle": -10.28 } + ], + "translate": [ + { "time": 0, "x": -3.67, "y": 1.68 }, + { "time": 0.1333, "x": -3.67, "y": 0.68 }, + { "time": 0.4, "x": -3.67, "y": 1.97 }, + { "time": 0.6666, "x": -3.67, "y": -0.14 }, + { "time": 1.0666, "x": -3.67, "y": 1.68 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": -5.25 }, + { "time": 0.2666, "angle": -4.08 }, + { "time": 0.4, "angle": -6.45 }, + { "time": 0.5333, "angle": -5.39 }, + { "time": 0.8, "angle": -11.68 }, + { "time": 0.9333, "angle": 0.46 }, + { "time": 1.0666, "angle": -5.25 } + ] + }, + "right lower leg": { + "rotate": [ + { "time": 0, "angle": -3.39 }, + { "time": 0.1333, "angle": -45.53 }, + { "time": 0.2666, "angle": -2.59 }, + { "time": 0.5333, "angle": -19.53 }, + { "time": 0.6666, "angle": -64.8 }, + { + "time": 0.8, + "angle": -82.56, + "curve": [ 0.557, 0.18, 1, 1 ] + }, + { "time": 1.0666, "angle": -3.39 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { + "time": 0.1333, + "x": 0, + "y": -7.61, + "curve": [ 0.272, 0.86, 1, 1 ] + }, + { "time": 0.4, "x": 0, "y": 8.7 }, + { "time": 0.5333, "x": 0, "y": -0.41 }, + { + "time": 0.6666, + "x": 0, + "y": -7.05, + "curve": [ 0.235, 0.89, 1, 1 ] + }, + { "time": 0.8, "x": 0, "y": 2.92 }, + { "time": 0.9333, "x": 0, "y": 6.78 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 3.6 }, + { "time": 0.1333, "angle": 17.49 }, + { "time": 0.2666, "angle": 6.1 }, + { "time": 0.4, "angle": 3.45 }, + { "time": 0.5333, "angle": 5.17 }, + { "time": 0.6666, "angle": 18.36 }, + { "time": 0.8, "angle": 6.09 }, + { "time": 0.9333, "angle": 2.28 }, + { "time": 1.0666, "angle": 3.6 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 3.6, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.1666, "angle": -0.2 }, + { "time": 0.2666, "angle": 6.1 }, + { "time": 0.4, "angle": 3.45 }, + { + "time": 0.5333, + "angle": 5.17, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.7, "angle": 1.1 }, + { "time": 0.8, "angle": 6.09 }, + { "time": 0.9333, "angle": 2.28 }, + { "time": 1.0666, "angle": 3.6 } + ] + } + } + } +} +} \ No newline at end of file diff --git a/tests/cpp-tests/Resources/spine/spineboy.png b/tests/cpp-tests/Resources/spine/spineboy.png new file mode 100755 index 0000000000..b8b493dfd1 Binary files /dev/null and b/tests/cpp-tests/Resources/spine/spineboy.png differ diff --git a/tests/cpp-tests/Resources/spine/sprite.png b/tests/cpp-tests/Resources/spine/sprite.png new file mode 100755 index 0000000000..91dd465337 Binary files /dev/null and b/tests/cpp-tests/Resources/spine/sprite.png differ diff --git a/tests/cpp-tests/Resources/zwoptex/grossini-generic.plist b/tests/cpp-tests/Resources/zwoptex/grossini-generic.plist new file mode 100755 index 0000000000..ca256a58cc --- /dev/null +++ b/tests/cpp-tests/Resources/zwoptex/grossini-generic.plist @@ -0,0 +1,282 @@ + + + + + frames + + grossini_dance_generic_01.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 125}, {121, 85}} + textureRotated + + + grossini_dance_generic_02.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{299, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_03.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_04.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{202, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_05.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{125, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_06.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{212, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_07.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{279, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_08.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{409, 125}, {51, 109}} + textureRotated + + + grossini_dance_generic_09.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{224, 236}, {109, 51}} + textureRotated + + + grossini_dance_generic_10.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{344, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_11.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{113, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_12.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_13.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{386, 2}, {121, 85}} + textureRotated + + + grossini_dance_generic_14.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{89, 2}, {121, 85}} + textureRotated + + + + metadata + + format + 3 + size + {512, 512} + + + diff --git a/tests/cpp-tests/Resources/zwoptex/grossini-generic.png b/tests/cpp-tests/Resources/zwoptex/grossini-generic.png new file mode 100755 index 0000000000..5c0bbc67c8 Binary files /dev/null and b/tests/cpp-tests/Resources/zwoptex/grossini-generic.png differ diff --git a/tests/cpp-tests/Resources/zwoptex/grossini.plist b/tests/cpp-tests/Resources/zwoptex/grossini.plist new file mode 100755 index 0000000000..d782ca3c8d --- /dev/null +++ b/tests/cpp-tests/Resources/zwoptex/grossini.plist @@ -0,0 +1,198 @@ + + + + + frames + + grossini_dance_01.png + + frame + {{2, 125}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_02.png + + frame + {{299, 2}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_03.png + + frame + {{2, 236}, {63, 109}} + offset + {-6, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_04.png + + frame + {{202, 125}, {75, 109}} + offset + {0, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_05.png + + frame + {{125, 125}, {75, 109}} + offset + {0, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_06.png + + frame + {{212, 2}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_07.png + + frame + {{279, 125}, {63, 109}} + offset + {-6, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_08.png + + frame + {{409, 125}, {51, 109}} + offset + {0, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_09.png + + frame + {{224, 236}, {51, 109}} + offset + {0, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_10.png + + frame + {{344, 125}, {63, 109}} + offset + {6, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_11.png + + frame + {{113, 236}, {63, 109}} + offset + {6, -1} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_12.png + + frame + {{2, 2}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_13.png + + frame + {{386, 2}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + grossini_dance_14.png + + frame + {{89, 2}, {85, 121}} + offset + {0, 0} + rotated + + sourceColorRect + {85, 121} + sourceSize + {85, 121} + + + metadata + + format + 2 + size + {512, 512} + + + diff --git a/tests/cpp-tests/Resources/zwoptex/grossini.png b/tests/cpp-tests/Resources/zwoptex/grossini.png new file mode 100755 index 0000000000..5c0bbc67c8 Binary files /dev/null and b/tests/cpp-tests/Resources/zwoptex/grossini.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/CocosBuilderExample.ccbproj b/tests/lua-tests/res/cocosbuilderRes/CocosBuilderExample.ccbproj new file mode 100755 index 0000000000..aeaf3ad7e5 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/CocosBuilderExample.ccbproj @@ -0,0 +1,72 @@ + + + + + deviceOrientationLandscapeLeft + + deviceOrientationLandscapeRight + + deviceOrientationPortrait + + deviceOrientationUpsideDown + + exporter + ccbi + fileType + CocosBuilderProject + fileVersion + 1 + flattenPaths + + generatedSpriteSheets + + javascriptBased + + javascriptMainCCB + + onlyPublishCCBs + + publishDirectory + . + publishDirectoryAndroid + . + publishDirectoryHTML5 + + publishEnabledAndroid + + publishEnabledHTML5 + + publishEnablediPhone + + publishResolutionHTML5_height + 640 + publishResolutionHTML5_scale + 2 + publishResolutionHTML5_width + 960 + publishResolution_ + + publishResolution_hd + + publishResolution_ipad + + publishResolution_ipadhd + + publishResolution_large + + publishResolution_medium + + publishResolution_small + + publishResolution_xlarge + + publishResolution_xsmall + + publishToZipFile + + resourceAutoScaleFactor + 4 + resourcePaths + + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccb new file mode 100755 index 0000000000..13f3d4b5fb --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccb @@ -0,0 +1,4197 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + HelloCocosBuilder.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + animatedProperties + + 0 + + 1 + + + baseClass + CCLayer + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + mBurstSprite + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 2.5 + 2.5 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/burst.png + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 0 + + + name + posVar + type + Point + value + + 275 + 0.0 + + + + name + emissionRate + type + Float + value + 20 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 1000 + + + name + life + type + FloatVar + value + + 4.5 + 0.0 + + + + name + startSize + type + FloatVar + value + + 32 + 32 + + + + name + endSize + type + FloatVar + value + + 4 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 360 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 360 + + + + name + angle + type + FloatVar + value + + 90 + 5 + + + + name + startColor + type + Color4FVar + value + + + 0.10550821572542191 + 0.12098496407270432 + 0.15217390656471252 + 0.10000000149011612 + + + 0.0 + 0.0 + 0.0 + 1 + + + + + name + endColor + type + Color4FVar + value + + + 0.24492979049682617 + 0.28085795044898987 + 0.35326087474822998 + 1 + + + 0.16847826540470123 + 0.16847826540470123 + 0.16847826540470123 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + gravity + type + Point + value + + -3 + -10 + + + + name + speed + type + FloatVar + value + + 80 + 30 + + + + name + tangentialAccel + type + FloatVar + value + + 0.0 + 1 + + + + name + radialAccel + type + FloatVar + value + + 0.0 + 1 + + + + name + texture + type + Texture + value + ccb/particle-snow.png + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 1.3666666746139526 + type + 4 + value + + 0.0 + 0.0 + + + + easing + + type + 1 + + name + scale + time + 2.4000000953674316 + type + 4 + value + + 0.5 + 0.5 + + + + name + scale + type + 4 + + + 1 + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 13.75 + 79.375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 0.5 + 0.5 + + name + scale + type + ScaleLock + value + + 0.5 + 0.5 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + seqExpanded + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + type + 9 + + time + 0.40000000596046448 + type + 3 + value + + 82.5 + 137.5 + + + + easing + + type + 1 + + name + position + time + 1.9666666984558105 + type + 3 + value + + 60.416667938232422 + 83.75 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.40000000596046448 + type + 2 + value + 38.5 + + + easing + + type + 1 + + name + rotation + time + 1.9666666984558105 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 60.416667938232422 + 83.75 + + name + position + type + Position + value + + 60.416667938232422 + 83.75 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo.png + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2666666507720947 + type + 3 + value + + 130.625 + 69.0625 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 60.520832061767578 + 69.0625 + + + + name + position + type + 3 + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 60.520832061767578 + 69.0625 + + name + position + type + Position + value + + 60.520832061767578 + 69.0625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + color + type + Color3 + value + + 124 + 18 + 86 + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + Graphical editor for cocos2d + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.30000001192092896 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 0.60000002384185791 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.3333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.0999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 2.9000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 57.1875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onMenuTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Menus & Items + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 254 + 255 + 254 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.46666666865348816 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.1333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 4.4666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 5.1999998092651367 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 5.9666666984558105 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 6.7666668891906738 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 57.1875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onSpriteTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Sprites & 9 Slice + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.63333332538604736 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.2666666507720947 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 5.7666668891906738 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 6.5 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 7.2666668891906738 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 8.0333337783813477 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 41.5625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onButtonTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Buttons & Labels + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.80000001192092896 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.4666666984558105 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 2.5 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 3.2333333492279053 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 4 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 4.8000001907348633 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 7.1666665077209473 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 7.9000000953674316 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 8.6666669845581055 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 9.4666662216186523 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 41.5625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onAnimationsTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Animations + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.6333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 1.1000000238418579 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.8333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.5999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 3.4000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.125 + 25.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onParticleSystemTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Particle Systems + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 1.1333333253860474 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.7999999523162842 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 5.9333333969116211 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 6.6666665077209473 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 7.4333333969116211 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 8.2333335876464844 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.875 + 25.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onScrollViewTestClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Scroll Views + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + animatedProperties + + 0 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 1.7000000476837158 + type + 5 + value + 255 + + + name + opacity + type + 5 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2333333492279053 + type + 3 + value + + -35 + -69 + + + + easing + + type + 1 + + name + position + time + 1.8666666746139526 + type + 3 + value + + 0.0 + 0.0 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + opt + 2 + type + 3 + + time + 1.2333333492279053 + type + 2 + value + 21.5 + + + easing + + type + 1 + + name + rotation + time + 1.8666666746139526 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 0.0 + 0.0 + + name + position + type + Position + value + + 0.0 + 0.0 + 3 + + + + name + anchorPoint + type + Point + value + + 1 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/jungle-right.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 0 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 1.7000000476837158 + type + 5 + value + 255 + + + name + opacity + type + 5 + + position + + keyframes + + + easing + + opt + 2 + type + 3 + + name + position + time + 1.3999999761581421 + type + 3 + value + + -85 + -118 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 0.0 + 0.0 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + opt + 2 + type + 3 + + name + rotation + time + 1.3999999761581421 + type + 2 + value + -34 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 0.0 + 0.0 + + name + position + type + Position + value + + 0.0 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/jungle-left.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 0 + + scale + + keyframes + + + easing + + type + 9 + + name + scale + time + 0.96666663885116577 + type + 4 + value + + 0.0 + 0.30000001192092896 + + + + easing + + type + 1 + + name + scale + time + 1.6333333253860474 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + 1 + + rotation + + keyframes + + + easing + + type + 10 + + name + rotation + time + 1.1000000238418579 + type + 2 + value + 0.0 + + + easing + + type + 10 + + name + rotation + time + 1.8333333730697632 + type + 2 + value + -3 + + + easing + + type + 10 + + name + rotation + time + 2.5999999046325684 + type + 2 + value + 3 + + + easing + + type + 1 + + name + rotation + time + 3.4000000953674316 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 28.100000381469727 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onTimelineCallbackSoundClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Timeline Callback&sound + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 1 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 40 + 14 + 1 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + customClass + HelloCocosBuilderLayer + customProperties + + + name + mCustomPropertyInt + optimized + + type + 0 + value + 123 + + + name + mCustomPropertyFloat + optimized + + type + 1 + value + 123.440002 + + + name + mCustomPropertyBoolean + optimized + + type + 2 + value + 1 + + + name + mCustomPropertyString + optimized + + type + 3 + value + Hello Custom Property. + + + displayName + HelloCocosBuilder + jsController + HelloCocosBuilderLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + + height + 131 + text + Welcome to CocosBuilder! + +Check out the Example Xcode project to understand how to connect objects with your code. + width + 191 + xPos + 28 + yPos + 26 + + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 3 + name + Default Timeline + offset + 0.0 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Wiggly buttons + offset + 0.0 + position + 10 + resolution + 30 + scale + 128 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccbi new file mode 100755 index 0000000000..cb5c1488aa Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/HelloCocosBuilder.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.plist b/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.plist new file mode 100755 index 0000000000..2319e72b12 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.plist @@ -0,0 +1,139 @@ + + + + + frames + + grossini-arm-l.png + + frame + {{2,64},{28,26}} + offset + {2,-2} + rotated + + sourceColorRect + {{4,5},{28,26}} + sourceSize + {32,32} + + grossini-arm-r.png + + frame + {{32,78},{28,26}} + offset + {-2,-2} + rotated + + sourceColorRect + {{0,5},{28,26}} + sourceSize + {32,32} + + grossini-body.png + + frame + {{2,2},{23,43}} + offset + {0,0} + rotated + + sourceColorRect + {{2,1},{23,43}} + sourceSize + {27,45} + + grossini-eyes-0.png + + frame + {{2,92},{23,4}} + offset + {0,0} + rotated + + sourceColorRect + {{1,1},{23,4}} + sourceSize + {25,6} + + grossini-eyes-1.png + + frame + {{2,98},{23,4}} + offset + {0,0} + rotated + + sourceColorRect + {{1,1},{23,4}} + sourceSize + {25,6} + + grossini-eyes-2.png + + frame + {{60,40},{23,2}} + offset + {0,-1} + rotated + + sourceColorRect + {{1,3},{23,2}} + sourceSize + {25,6} + + grossini-head.png + + frame + {{2,27},{35,40}} + offset + {0,2} + rotated + + sourceColorRect + {{0,0},{35,40}} + sourceSize + {35,44} + + grossini-leg-l.png + + frame + {{44,40},{14,36}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{14,36}} + sourceSize + {14,36} + + grossini-leg-r.png + + frame + {{47,2},{14,36}} + offset + {0,0} + rotated + + sourceColorRect + {{0,0},{14,36}} + sourceSize + {14,36} + + + metadata + + format + 2 + realTextureFileName + animated-grossini.png + size + {64,128} + smartupdate + $TexturePacker:SmartUpdate:f64bf1dbb50597d8a1599f1b397b6fdd$ + textureFileName + animated-grossini.png + + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.png b/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.png new file mode 100755 index 0000000000..89736acdab Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/animated-grossini.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-0.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-0.png new file mode 100755 index 0000000000..66a5d3df71 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-0.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-1.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-1.png new file mode 100755 index 0000000000..33f8a0c3f0 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-1.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-2.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-2.png new file mode 100755 index 0000000000..c8532b3e23 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-a-2.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-0.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-0.png new file mode 100755 index 0000000000..abd7d9a00b Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-0.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-1.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-1.png new file mode 100755 index 0000000000..b55f91e77c Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-1.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-2.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-2.png new file mode 100755 index 0000000000..d47c7b6283 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-b-2.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-0.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-0.png new file mode 100755 index 0000000000..9caae52746 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-0.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-1.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-1.png new file mode 100755 index 0000000000..6c7cf5f97a Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-back-1.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-0.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-0.png new file mode 100755 index 0000000000..2777fd1d5e Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-0.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-1.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-1.png new file mode 100755 index 0000000000..b3be2a8616 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-1.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-2.png b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-2.png new file mode 100755 index 0000000000..eab72947de Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/btn-test-2.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/burst.png b/tests/lua-tests/res/cocosbuilderRes/ccb/burst.png new file mode 100755 index 0000000000..8681474538 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/burst.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccb new file mode 100755 index 0000000000..798f1fc8ac --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccb @@ -0,0 +1,3578 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 1 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCBFile + children + + customClass + + displayName + Background animation + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestAnimationsSub.ccb + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + baseClass + CCNode + children + + + baseClass + CCControlButton + children + + customClass + + displayName + Idle Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -150 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonIdleClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Idle + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Wave Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonWaveClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Wave + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Jump Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonJumpClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Jump + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCControlButton + children + + customClass + + displayName + Funky Button + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 150 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonFunkyClicked + 1 + 32 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + Funky + + + name + titleTTF|1 + type + FontTTF + value + MarkerFelt-Thin + + + name + titleTTFSize|1 + type + FloatScale + value + + 18 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.40000000596046448 + + + + name + preferedSize + type + Size + value + + 100 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + customClass + + displayName + Buttons + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 15 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + opt + 2 + type + 9 + + name + position + time + 0.0 + type + 3 + value + + 24.375 + 120 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 50 + 50 + + + + name + position + type + 3 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.0 + type + 2 + value + -46.75 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCNode + children + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 9 + + time + 0.53333336114883423 + type + 2 + value + 40.25 + + + easing + + type + 1 + + name + rotation + time + 1.9666666984558105 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + 77.25 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Leg right + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -6 + -18 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.89999997615814209 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-leg-r.png + + + + seqExpanded + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 9 + + time + 0.53333336114883423 + type + 2 + value + -47.5 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 9 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + -86.25 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Leg left + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 6 + -18 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.89999997615814209 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-leg-l.png + + + + seqExpanded + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.89999997615814209 + type + 2 + value + 86 + + + easing + + type + 1 + + time + 1.4333332777023315 + type + 2 + value + -30.446964263916016 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 7.9666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 8.8666667938232422 + type + 2 + value + -20.5 + + + easing + + type + 1 + + name + rotation + time + 9.8666667938232422 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 2 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + time + 0.96666663885116577 + type + 2 + value + 109.5 + + + easing + + type + 1 + + time + 1.2666666507720947 + type + 2 + value + 72.599998474121094 + + + easing + + type + 1 + + time + 1.5333333015441895 + type + 2 + value + 93.699996948242188 + + + easing + + type + 1 + + time + 1.8333333730697632 + type + 2 + value + 64.966659545898438 + + + easing + + type + 1 + + name + rotation + time + 2.2333333492279053 + type + 2 + value + 90.25 + + + easing + + type + 1 + + name + rotation + time + 3 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + 89.75 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Arm right + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -9 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.80000001192092896 + 0.80000001192092896 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-arm-r.png + + + + + + animatedProperties + + 0 + + rotation + + keyframes + + + easing + + type + 1 + + time + 0.89999997615814209 + type + 2 + value + -95.25 + + + easing + + type + 1 + + time + 1.4333332777023315 + type + 2 + value + 28.431812286376953 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 7.9666666984558105 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 8.8666667938232422 + type + 2 + value + 20.75 + + + easing + + type + 1 + + name + rotation + time + 9.8666667938232422 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 2 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 0.5 + type + 2 + value + 18.75 + + + easing + + type + 1 + + name + rotation + time + 2.2999999523162842 + type + 2 + value + 18.75 + + + easing + + type + 1 + + name + rotation + time + 3 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + 3 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 1 + type + 2 + value + -96.5 + + + easing + + type + 1 + + name + rotation + time + 2 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + Arm left + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 9 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.20000000298023224 + 0.80000001192092896 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-arm-l.png + + + + + + animatedProperties + + 4 + + opacity + + keyframes + + + easing + + type + 1 + + name + opacity + time + 1 + type + 5 + value + 255 + + + easing + + type + 1 + + name + opacity + time + 2.2333333492279053 + type + 5 + value + 0 + + + easing + + type + 1 + + name + opacity + time + 4.0333333015441895 + type + 5 + value + 255 + + + easing + + type + 1 + + name + opacity + time + 4.5 + type + 5 + value + 127 + + + easing + + type + 1 + + name + opacity + time + 4.8666667938232422 + type + 5 + value + 255 + + + name + opacity + type + 5 + + scale + + keyframes + + + easing + + type + 1 + + name + scale + time + 1.7333333492279053 + type + 4 + value + + 1 + 1 + + + + easing + + type + 10 + + name + scale + time + 2.4000000953674316 + type + 4 + value + + 2 + 0.5 + + + + easing + + type + 1 + + name + scale + time + 3.4333333969116211 + type + 4 + value + + 1 + 1 + + + + name + scale + type + 4 + + + + baseClass + CCSprite + children + + customClass + + displayName + Body + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + baseValue + + 1 + 1 + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-body.png + + + + baseValue + 255 + name + opacity + type + Byte + value + 255 + + + + + animatedProperties + + 4 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 2.4000000953674316 + type + 2 + value + 720 + + + easing + + type + 1 + + name + rotation + time + 5 + type + 2 + value + 0.0 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + + animatedProperties + + 1 + + displayFrame + + keyframes + + + easing + + type + 0 + + name + displayFrame + time + 3.6333334445953369 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 3.8333332538604736 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.0333333015441895 + type + 7 + value + + grossini-eyes-2.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.2333331108093262 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 4.4333333969116211 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.0999999046325684 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.3000001907348633 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.5 + type + 7 + value + + grossini-eyes-2.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.6999998092651367 + type + 7 + value + + grossini-eyes-1.png + ccb/animated-grossini.plist + + + + easing + + type + 0 + + name + displayFrame + time + 6.9000000953674316 + type + 7 + value + + grossini-eyes-0.png + ccb/animated-grossini.plist + + + + name + displayFrame + type + 7 + + position + + keyframes + + + easing + + type + 1 + + name + position + time + 0.60000002384185791 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 1 + type + 3 + value + + 16 + 23 + + + + easing + + type + 1 + + name + position + time + 1.3333333730697632 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 2.2666666507720947 + type + 3 + value + + 17.5 + 23 + + + + easing + + type + 1 + + name + position + time + 2.5 + type + 3 + value + + 19 + 23 + + + + easing + + type + 1 + + name + position + time + 2.9666666984558105 + type + 3 + value + + 17.5 + 23 + + + + name + position + type + 3 + + + 4 + + color + + keyframes + + + easing + + type + 1 + + name + color + time + 0.86666667461395264 + type + 6 + value + + 255 + 255 + 255 + + + + easing + + type + 1 + + name + color + time + 1.3333333730697632 + type + 6 + value + + 143 + 243 + 40 + + + + easing + + type + 1 + + name + color + time + 1.8333333730697632 + type + 6 + value + + 223 + 80 + 22 + + + + easing + + type + 1 + + name + color + time + 2.4666666984558105 + type + 6 + value + + 33 + 79 + 251 + + + + easing + + type + 1 + + name + color + time + 3.0333333015441895 + type + 6 + value + + 223 + 88 + 233 + + + + easing + + type + 1 + + name + color + time + 3.3666665554046631 + type + 6 + value + + 255 + 255 + 255 + + + + name + color + type + 6 + + + + baseClass + CCSprite + children + + customClass + + displayName + Eyes + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 17.5 + 23 + + name + position + type + Position + value + + 17.5 + 23 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + baseValue + + grossini-eyes-0.png + ccb/animated-grossini.plist + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-eyes-0.png + + + + baseValue + + 255 + 255 + 255 + + name + color + type + Color3 + value + + 255 + 255 + 255 + + + + seqExpanded + + + + customClass + + displayName + Head + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 34 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/animated-grossini.plist + grossini-head.png + + + + + + customClass + + displayName + Grossini + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + + 50 + 50 + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 0.0 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + seqExpanded + + + + customClass + TestAnimationsLayer + displayName + TestAnimations + jsController + TestAnimationsLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 2 + name + Intro + offset + 0.0 + position + 1.7000000476837158 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Idle + offset + 5.734375 + position + 6.9000000953674316 + resolution + 30 + scale + 128 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 3 + name + Wave + offset + 0.0 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 2 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 2 + name + Jump + offset + 0.0 + position + 2 + resolution + 30 + scale + 128 + sequenceId + 3 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 5 + name + Funky + offset + 0.0 + position + 5 + resolution + 30 + scale + 128 + sequenceId + 4 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccbi new file mode 100755 index 0000000000..78bb159ae6 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimations.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccb new file mode 100755 index 0000000000..701d00c261 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccb @@ -0,0 +1,443 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + animatedProperties + + 0 + + color + + keyframes + + + easing + + type + 1 + + name + color + time + 0.0 + type + 6 + value + + 0 + 0 + 0 + + + + easing + + type + 1 + + name + color + time + 4.8333334922790527 + type + 6 + value + + 255 + 254 + 255 + + + + name + color + type + 6 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 10 + type + 2 + value + 360 + + + name + rotation + type + 2 + + + 1 + + rotation + + keyframes + + + easing + + type + 1 + + name + rotation + time + 0.0 + type + 2 + value + 0.0 + + + easing + + type + 1 + + name + rotation + time + 10 + type + 2 + value + 360 + + + name + rotation + type + 2 + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 2.5 + 2.5 + + 1 + + + + baseValue + 0.0 + name + rotation + type + Degrees + value + 360 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/burst.png + + + + name + opacity + type + Byte + value + 100 + + + baseValue + + 255 + 254 + 255 + + name + color + type + Color3 + value + + 255 + 254 + 255 + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + seqExpanded + + + + customClass + + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 1024 + name + iPhone Landscape + scale + 1 + width + 1024 + + + centeredOrigin + + ext + ipad hd + height + 2048 + name + iPad Landscape + scale + 2 + width + 2048 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Intro + offset + 0.0 + position + 10 + resolution + 30 + scale + 32 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + 1 + length + 10 + name + Loop + offset + 0.0 + position + 2.7999999523162842 + resolution + 30 + scale + 32 + sequenceId + 1 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccbi new file mode 100755 index 0000000000..a76b3ad225 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestAnimationsSub.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccb new file mode 100755 index 0000000000..599d4e5ae3 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccb @@ -0,0 +1,927 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestButtons.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCNode + children + + + baseClass + CCControlButton + children + + customClass + + displayName + CCControlButton + memberVarAssignmentName + + memberVarAssignmentType + 1 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + ccControl + type + BlockCCControl + value + + onCCControlButtonClicked + 1 + 511 + + + + name + enabled + type + Check + value + + + + name + title|1 + type + String + value + CCControlButton + + + name + titleTTF|1 + type + FontTTF + value + Helvetica-Bold + + + name + titleTTFSize|1 + type + FloatScale + value + + 12 + 0 + + + + name + labelAnchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + preferedSize + type + Size + value + + 200 + 48 + 0 + + + + name + zoomOnTouchDown + type + Check + value + + + + name + backgroundSpriteFrame|1 + type + SpriteFrame + value + + + ccb/btn-test-0.png + + + + name + titleColor|1 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|2 + type + SpriteFrame + value + + + ccb/btn-test-1.png + + + + name + titleColor|2 + type + Color3 + value + + 255 + 255 + 255 + + + + name + backgroundSpriteFrame|3 + type + SpriteFrame + value + + + + + + + name + titleColor|3 + type + Color3 + value + + 255 + 255 + 255 + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + mCCControlEventLabel + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 0.0 + -50 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + No event received yet + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 25 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 1 + -2 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 78.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + comic andy.ttf + + + name + fontSize + type + FloatScale + value + + 50 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Custom TTF + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Center aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + customClass + TestButtonsLayer + displayName + TestButtons + jsController + TestButtonsLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccbi new file mode 100755 index 0000000000..ab4b3f6092 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestButtons.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccb new file mode 100755 index 0000000000..0f4bbf1444 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccb @@ -0,0 +1,621 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestHeader.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerColor + children + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + mTestTitleLabelTTF + memberVarAssignmentType + 2 + properties + + + name + position + type + Position + value + + 50 + 57.5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + MarkerFelt-Wide + + + name + fontSize + type + FloatScale + value + + 24 + 0 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 2 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Title will be replaced in code + + + + + baseClass + CCMenu + children + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -2 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onBackClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-back-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-back-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + + + + + + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 30 + 19 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + customClass + + displayName + CCLayerColor + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 4 + + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + color + type + Color3 + value + + 0 + 0 + 0 + + + + name + opacity + type + Byte + value + 127 + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + customClass + TestHeaderLayer + displayName + TestHeader + jsController + TestHeaderLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 40 + 3 + + + + name + anchorPoint + type + Point + value + + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 40 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + + height + 40 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccbi new file mode 100755 index 0000000000..11b4da5db5 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestHeader.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccb new file mode 100755 index 0000000000..8373201904 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccb @@ -0,0 +1,899 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestLabels.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 71.666664123535156 + 73.75 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + Bitmap font + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 55.625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Left aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 36.875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Center aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 18.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 80 + 15 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 2 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Right aligned: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 32.5 + 76.25 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + comic andy.ttf + + + name + fontSize + type + FloatScale + value + + 50 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Custom TTF + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + customClass + TestLabelsLayer + displayName + CCLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccbi new file mode 100755 index 0000000000..202234d2a6 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestLabels.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccb new file mode 100755 index 0000000000..297d4961e1 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccb @@ -0,0 +1,1139 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestMenus.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCMenu + children + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.833333969116211 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onMenuItemAClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-2.png + + + + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + onMenuItemBClicked + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-b-2.png + + + + + + baseClass + CCMenuItemImage + children + + customClass + + displayName + CCMenuItemImage + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 79.166664123535156 + 5 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + block + type + Block + value + + pressedC: + 1 + + + + name + isEnabled + type + Check + value + + + + name + normalSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-0.png + + + + name + selectedSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-1.png + + + + name + disabledSpriteFrame + type + SpriteFrame + value + + + ccb/btn-a-2.png + + + + + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 3.125 + 4 + + + + name + contentSize + type + Size + value + + 100 + 1000 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.416666030883789 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + A + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 49.583332061767578 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + B + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 78.75 + 53.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + C + + + + + + baseClass + CCLabelBMFont + children + + customClass + + displayName + CCLabelBMFont + memberVarAssignmentName + mMenuItemStatusLabelBMFont + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 20.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fntFile + type + FntFile + value + ccb/markerfelt24shadow.fnt + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + name + string + type + Text + value + No button pressed yet + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + customClass + TestMenusLayer + displayName + TestMenus + jsController + TestMenusLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccbi new file mode 100755 index 0000000000..b46cd53c75 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestMenus.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccb new file mode 100755 index 0000000000..66da822173 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccb @@ -0,0 +1,1122 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestParticleSystems.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.166666030883789 + 30.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 0 + + + name + posVar + type + Point + value + + 40 + 20 + + + + name + emissionRate + type + Float + value + 80 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 250 + + + name + life + type + FloatVar + value + + 3 + 0.25 + + + + name + startSize + type + FloatVar + value + + 54 + 10 + + + + name + endSize + type + FloatVar + value + + 0.0 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 0.0 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 0.0 + + + + name + angle + type + FloatVar + value + + 90 + 10 + + + + name + startColor + type + Color4FVar + value + + + 0.75999999046325684 + 0.25 + 0.11999999731779099 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + endColor + type + Color4FVar + value + + + 0.0 + 0.0 + 0.0 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + gravity + type + Point + value + + 0.0 + 0.0 + + + + name + speed + type + FloatVar + value + + 60 + 20 + + + + name + tangentialAccel + type + FloatVar + value + + 0.0 + 0.0 + + + + name + radialAccel + type + FloatVar + value + + 0.0 + 0.0 + + + + name + texture + type + Texture + value + ccb/particle-fire.png + + + + + baseClass + CCParticleSystemQuad + children + + customClass + + displayName + CCParticleSystemQuad + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 70.833335876464844 + 48.125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + emitterMode + type + IntegerLabeled + value + 1 + + + name + posVar + type + Point + value + + 40 + 20 + + + + name + emissionRate + type + Float + value + 40 + + + name + duration + type + Float + value + -1 + + + name + totalParticles + type + Integer + value + 100 + + + name + life + type + FloatVar + value + + 3 + 0.25 + + + + name + startSize + type + FloatVar + value + + 54 + 10 + + + + name + endSize + type + FloatVar + value + + 0.0 + 0.0 + + + + name + startSpin + type + FloatVar + value + + 0.0 + 320 + + + + name + endSpin + type + FloatVar + value + + 0.0 + 320 + + + + name + angle + type + FloatVar + value + + 0.0 + 360 + + + + name + startColor + type + Color4FVar + value + + + 0.33126017451286316 + 0.75999999046325684 + 0.59423065185546875 + 1 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + endColor + type + Color4FVar + value + + + 0.0 + 0.0 + 0.0 + 255 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + + + name + blendFunc + type + Blendmode + value + + 1 + 1 + + + + name + startRadius + type + FloatVar + value + + 70 + 0.0 + + + + name + endRadius + type + FloatVar + value + + 0.0 + 0.0 + + + + name + rotatePerSecond + type + FloatVar + value + + 60 + 20 + + + + name + texture + type + Texture + value + ccb/particle-snow.png + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.166666030883789 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Gravity mode + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 70.833335876464844 + 10.3125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Radius mode + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + customClass + TestParticleSystemsLayer + displayName + CCLayer + jsController + TestParticleSystemsLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccbi new file mode 100755 index 0000000000..6917215c04 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestParticleSystems.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccb new file mode 100755 index 0000000000..337adccf29 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccb @@ -0,0 +1,535 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestScrollViews.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerColor + children + + customClass + + displayName + CCLayerColor + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + color + type + Color3 + value + + 106 + 90 + 84 + + + + name + opacity + type + Byte + value + 255 + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + baseClass + CCScrollView + children + + customClass + + displayName + CCScrollView + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 50 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + Float + value + 1 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + container + type + CCBFile + value + ccb/ccb/TestScrollViewsContentA.ccb + + + name + direction + type + IntegerLabeled + value + 2 + + + name + clipsToBounds + type + Check + value + + + + name + bounces + type + Check + value + + + + + + baseClass + CCScrollView + children + + customClass + + displayName + CCScrollView + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 4 + + + + name + contentSize + type + Size + value + + 50 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + Float + value + 1 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + container + type + CCBFile + value + ccb/ccb/TestScrollViewsContentA.ccb + + + name + direction + type + IntegerLabeled + value + 2 + + + name + clipsToBounds + type + Check + value + + + + name + bounces + type + Check + value + + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + customClass + TestScrollViewsLayer + displayName + TestScrollViews + jsController + TestScrollViewsLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccbi new file mode 100755 index 0000000000..96741d8bf3 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViews.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccb new file mode 100755 index 0000000000..f6b2d1cc04 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccb @@ -0,0 +1,212 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/flower.jpg + + + + name + blendFunc + type + Blendmode + value + + 770 + 771 + + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 1024 + 1024 + 0 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 1024 + name + Custom + scale + 1 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccbi new file mode 100755 index 0000000000..e40d878a19 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestScrollViewsContentA.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccb new file mode 100755 index 0000000000..03f1ae9fd4 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccb @@ -0,0 +1,1639 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + exportFlattenPaths + + exportPath + TestSprites.ccbi + exportPlugIn + ccbi + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 52 + 84 + 236 + + + + name + endColor + type + Color3 + value + + 149 + 0 + 202 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -60 + 10 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.40000000596046448 + 0.40000000596046448 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + name + opacity + type + Byte + value + 127 + + + name + color + type + Color3 + value + + 90 + 90 + 90 + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 5 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.5 + 0.5 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + name + color + type + Color3 + value + + 63 + 255 + 39 + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 60 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 0.60000002384185791 + 0.60000002384185791 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/logo-icon.png + + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 26.666666030883789 + 67.1875 + 4 + + + + name + contentSize + type + Size + value + + 0.0 + 0.0 + 1 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCNode + children + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + -50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_05.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_06.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 0.0 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_13.png + + + + + + baseClass + CCSprite + children + + customClass + + displayName + CCSprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 352.15463256835938 + 60.877250671386719 + 0 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + ccb/grossini-generic.plist + grossini_dance_generic_13.png + + + + + + customClass + + displayName + CCNode + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 20.208333969116211 + 20.9375 + 4 + + + + name + anchorPoint + type + Point + value + + 0.0 + 0.0 + + + + name + scale + type + ScaleLock + value + + 0.75999999046325684 + 0.75999999046325684 + + 1 + + + + name + rotation + type + Degrees + value + -12 + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + + + baseClass + CCScale9Sprite + children + + customClass + + displayName + CCScale9Sprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 74.166664123535156 + 65.625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + spriteFrame + type + SpriteFrame + value + + + ccb/scale-9-demo.png + + + + name + preferedSize + type + Size + value + + 150 + 120 + 0 + + + + name + opacity + type + Byte + value + 200 + + + name + color + type + Color3 + value + + 255 + 158 + 47 + + + + name + insetLeft + type + Float + value + 0.0 + + + name + insetTop + type + Float + value + 0.0 + + + name + insetRight + type + Float + value + 0.0 + + + name + insetBottom + type + Float + value + 0.0 + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 29.375 + 47.8125 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Opacity, color & blend mode + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 74.375 + 79.0625 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + CCScale9Sprite + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50.416667938232422 + 19.6875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 12 + 1 + + + + name + dimensions + type + Size + value + + 0.0 + 0.0 + 0 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 0 + + + name + verticalAlignment + type + IntegerLabeled + value + 0 + + + name + string + type + Text + value + Sprite sheet & transformation + + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + baseClass + CCScale9Sprite + children + + customClass + + displayName + CCScale9Sprite + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 82.083328247070312 + 29.6875 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 1 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + spriteFrame + type + SpriteFrame + value + + + ccb/scale-9-demo.png + + + + name + preferedSize + type + Size + value + + 150 + 120 + 0 + + + + name + opacity + type + Byte + value + 255 + + + name + color + type + Color3 + value + + 254 + 255 + 254 + + + + name + insetLeft + type + Float + value + 0.0 + + + name + insetTop + type + Float + value + 0.0 + + + name + insetRight + type + Float + value + 0.0 + + + name + insetBottom + type + Float + value + 0.0 + + + + + customClass + TestSpritesLayer + displayName + CCLayer + jsController + TestSpritesLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad hd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + type + 10 + + chainedSequenceId + -1 + length + 10 + name + Default Timeline + offset + 0.0 + position + 0.0 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccbi new file mode 100755 index 0000000000..9d0fabf4c1 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestSprites.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccb b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccb new file mode 100755 index 0000000000..46abd370d9 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccb @@ -0,0 +1,839 @@ + + + + + centeredOrigin + + currentResolution + 0 + currentSequenceId + 0 + fileType + CocosBuilder + fileVersion + 4 + guides + + jsControlled + + nodeGraph + + baseClass + CCLayer + children + + + animatedProperties + + 0 + + visible + + keyframes + + + easing + + type + 0 + + name + visible + time + 0.0 + type + 1 + value + + + + name + visible + type + 1 + + + + baseClass + CCLayerGradient + children + + customClass + + displayName + CCLayerGradient + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + baseValue + 1 + name + visible + type + Check + value + + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + name + startColor + type + Color3 + value + + 19 + 0 + 255 + + + + name + endColor + type + Color3 + value + + 255 + 33 + 249 + + + + name + vector + type + Point + value + + 0.0 + -1 + + + + + + baseClass + CCMenu + children + + customClass + + displayName + CCMenu + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 50 + 30 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + + + baseClass + CCLabelTTF + children + + customClass + + displayName + CCLabelTTF + memberVarAssignmentName + helloLabel + memberVarAssignmentType + 1 + properties + + + name + position + type + Position + value + + 50 + 50 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + fontName + type + FontTTF + value + Helvetica + + + name + fontSize + type + FloatScale + value + + 20 + 1 + + + + name + dimensions + type + Size + value + + 40 + 20 + 1 + + + + name + horizontalAlignment + type + IntegerLabeled + value + 1 + + + name + verticalAlignment + type + IntegerLabeled + value + 1 + + + name + string + type + Text + value + Test Callbacks + + + + + + animatedProperties + + 0 + + position + + keyframes + + + easing + + type + 1 + + name + position + time + 0.0 + type + 3 + value + + 10 + 10 + + + + easing + + type + 1 + + name + position + time + 1 + type + 3 + value + + 10 + 90 + + + + easing + + type + 1 + + name + position + time + 2 + type + 3 + value + + 90 + 90 + + + + easing + + type + 1 + + name + position + time + 3 + type + 3 + value + + 90 + 10 + + + + easing + + type + 1 + + name + position + time + 4 + type + 3 + value + + 10 + 10 + + + + name + position + type + 3 + + + + baseClass + CCSprite + children + + customClass + + displayName + ccbParticleStars + memberVarAssignmentName + + memberVarAssignmentType + 1 + properties + + + baseValue + + 10 + 10 + + name + position + type + Position + value + + 90 + 10 + 4 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + displayFrame + type + SpriteFrame + value + + + ccb/ccbParticleStars.png + + + + seqExpanded + + + + baseClass + CCBFile + children + + customClass + + displayName + CCBFile + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + position + type + Position + value + + 0.0 + 0.0 + 1 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ccbFile + type + CCBFile + value + ccb/ccb/TestHeader.ccb + + + + + customClass + TimelineCallbackTestLayer + displayName + CCLayer + jsController + TestTimelineLayer + memberVarAssignmentName + + memberVarAssignmentType + 0 + properties + + + name + contentSize + type + Size + value + + 100 + 100 + 1 + + + + name + anchorPoint + type + Point + value + + 0.5 + 0.5 + + + + name + scale + type + ScaleLock + value + + 1 + 1 + + 0 + + + + name + ignoreAnchorPointForPosition + type + Check + value + + + + name + touchEnabled + platform + iOS + type + Check + value + + + + name + mouseEnabled + platform + Mac + type + Check + value + + + + selected + + + notes + + resolutions + + + centeredOrigin + + ext + iphone + height + 320 + name + iPhone Landscape + scale + 1 + width + 480 + + + centeredOrigin + + ext + ipad iphonehd + height + 768 + name + iPad Landscape + scale + 2 + width + 1024 + + + sequences + + + autoPlay + + callbackChannel + + keyframes + + + easing + + type + 0 + + time + 1 + type + 10 + value + + onCallback1 + 1 + + + + easing + + type + 0 + + time + 3 + type + 10 + value + + onCallback2 + 1 + + + + type + 10 + + chainedSequenceId + 0 + length + 4 + name + Default Timeline + offset + 0.85765171051025391 + position + 3 + resolution + 30 + scale + 128 + sequenceId + 0 + soundChannel + + keyframes + + + easing + + type + 0 + + time + 1 + type + 9 + value + + ccb/gem-0.wav + 1 + 0.0 + 1 + + + + easing + + type + 0 + + time + 3 + type + 9 + value + + ccb/gem-1.wav + 1 + 0.0 + 1 + + + + type + 9 + + + + stageBorder + 0 + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccbi b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccbi new file mode 100755 index 0000000000..d27a66662d Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccb/TestTimelineCallback.ccbi differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/ccbParticleStars.png b/tests/lua-tests/res/cocosbuilderRes/ccb/ccbParticleStars.png new file mode 100755 index 0000000000..f493dcc334 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/ccbParticleStars.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/comic andy.ttf b/tests/lua-tests/res/cocosbuilderRes/ccb/comic andy.ttf new file mode 100755 index 0000000000..a68e94d66d Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/comic andy.ttf differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/fileLookup.plist b/tests/lua-tests/res/cocosbuilderRes/ccb/fileLookup.plist new file mode 100755 index 0000000000..7a04cd9ea7 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/fileLookup.plist @@ -0,0 +1,13 @@ + + + + + filenames + + metadata + + version + 1 + + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/flower.jpg b/tests/lua-tests/res/cocosbuilderRes/ccb/flower.jpg new file mode 100755 index 0000000000..38e3a5faba Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/flower.jpg differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/gem-0.wav b/tests/lua-tests/res/cocosbuilderRes/ccb/gem-0.wav new file mode 100755 index 0000000000..13382b4a2f Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/gem-0.wav differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/gem-1.wav b/tests/lua-tests/res/cocosbuilderRes/ccb/gem-1.wav new file mode 100755 index 0000000000..5a60849ce6 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/gem-1.wav differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.plist b/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.plist new file mode 100755 index 0000000000..ca256a58cc --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.plist @@ -0,0 +1,282 @@ + + + + + frames + + grossini_dance_generic_01.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 125}, {121, 85}} + textureRotated + + + grossini_dance_generic_02.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{299, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_03.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_04.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{202, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_05.png + + aliases + + spriteColorRect + {{5, 7}, {75, 109}} + spriteOffset + {0, -1} + spriteSize + {75, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{125, 125}, {75, 109}} + textureRotated + + + grossini_dance_generic_06.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{212, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_07.png + + aliases + + spriteColorRect + {{5, 7}, {63, 109}} + spriteOffset + {-6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{279, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_08.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{409, 125}, {51, 109}} + textureRotated + + + grossini_dance_generic_09.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, -1} + spriteSize + {51, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{224, 236}, {109, 51}} + textureRotated + + + grossini_dance_generic_10.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{344, 125}, {63, 109}} + textureRotated + + + grossini_dance_generic_11.png + + aliases + + spriteColorRect + {{17, 7}, {63, 109}} + spriteOffset + {6, -1} + spriteSize + {63, 109} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{113, 236}, {109, 63}} + textureRotated + + + grossini_dance_generic_12.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{2, 2}, {85, 121}} + textureRotated + + + grossini_dance_generic_13.png + + aliases + + spriteColorRect + {{17, 7}, {51, 109}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{386, 2}, {121, 85}} + textureRotated + + + grossini_dance_generic_14.png + + aliases + + spriteColorRect + {{17, 10}, {51, 107}} + spriteOffset + {0, 0} + spriteSize + {85, 121} + spriteSourceSize + {85, 121} + spriteTrimmed + + textureRect + {{89, 2}, {121, 85}} + textureRotated + + + + metadata + + format + 3 + size + {512, 512} + + + diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.png b/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.png new file mode 100755 index 0000000000..5c0bbc67c8 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/grossini-generic.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-left.png b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-left.png new file mode 100755 index 0000000000..79bbf20334 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-left.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-right.png b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-right.png new file mode 100755 index 0000000000..8da61b9f58 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle-right.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/jungle.png b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle.png new file mode 100755 index 0000000000..b3ddd92d2b Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/jungle.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/logo-icon.png b/tests/lua-tests/res/cocosbuilderRes/ccb/logo-icon.png new file mode 100755 index 0000000000..c668736dc7 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/logo-icon.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/logo.png b/tests/lua-tests/res/cocosbuilderRes/ccb/logo.png new file mode 100755 index 0000000000..a4cd20c20e Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/logo.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.fnt b/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.fnt new file mode 100755 index 0000000000..2685fbcab6 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.fnt @@ -0,0 +1,3732 @@ +info face="MarkerFelt-Thin" size=24 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 +common lineHeight=26 base=21 scaleW=256 scaleH=256 pages=1 packed=0 +page id=0 file="markerfelt24shadow.png" +chars count=95 +char id=106 x=2 y=2 width=10 height=27 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=0 letter="j" +char id=87 x=14 y=2 width=27 height=26 xoffset=0 yoffset=-1 xadvance=23 page=0 chnl=0 letter="W" +char id=81 x=43 y=2 width=18 height=26 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="Q" +char id=72 x=63 y=2 width=15 height=26 xoffset=1 yoffset=-1 xadvance=12 page=0 chnl=0 letter="H" +char id=77 x=80 y=2 width=25 height=25 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="M" +char id=37 x=107 y=2 width=20 height=25 xoffset=1 yoffset=-0 xadvance=17 page=0 chnl=0 letter="%" +char id=88 x=129 y=2 width=19 height=25 xoffset=0 yoffset=-0 xadvance=15 page=0 chnl=0 letter="X" +char id=89 x=150 y=2 width=19 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="Y" +char id=90 x=171 y=2 width=19 height=25 xoffset=0 yoffset=-1 xadvance=14 page=0 chnl=0 letter="Z" +char id=65 x=192 y=2 width=18 height=25 xoffset=1 yoffset=-0 xadvance=15 page=0 chnl=0 letter="A" +char id=75 x=212 y=2 width=18 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="K" +char id=52 x=232 y=2 width=18 height=25 xoffset=0 yoffset=-0 xadvance=14 page=0 chnl=0 letter="4" +char id=78 x=2 y=31 width=17 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="N" +char id=86 x=21 y=31 width=17 height=25 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="V" +char id=53 x=40 y=31 width=17 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="5" +char id=71 x=59 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="G" +char id=79 x=77 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="O" +char id=83 x=95 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="S" +char id=84 x=113 y=31 width=16 height=25 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="T" +char id=85 x=131 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=13 page=0 chnl=0 letter="U" +char id=51 x=149 y=31 width=16 height=25 xoffset=1 yoffset=-1 xadvance=14 page=0 chnl=0 letter="3" +char id=55 x=167 y=31 width=16 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="7" +char id=66 x=185 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="B" +char id=67 x=202 y=31 width=15 height=25 xoffset=0 yoffset=-0 xadvance=11 page=0 chnl=0 letter="C" +char id=68 x=219 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=12 page=0 chnl=0 letter="D" +char id=80 x=236 y=31 width=15 height=25 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="P" +char id=104 x=2 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=11 page=0 chnl=0 letter="h" +char id=54 x=19 y=58 width=15 height=25 xoffset=2 yoffset=-0 xadvance=14 page=0 chnl=0 letter="6" +char id=57 x=36 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="9" +char id=48 x=53 y=58 width=15 height=25 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="0" +char id=74 x=70 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="J" +char id=76 x=86 y=58 width=14 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="L" +char id=102 x=102 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="f" +char id=56 x=118 y=58 width=14 height=25 xoffset=2 yoffset=-0 xadvance=14 page=0 chnl=0 letter="8" +char id=63 x=134 y=58 width=14 height=25 xoffset=0 yoffset=-0 xadvance=10 page=0 chnl=0 letter="?" +char id=69 x=150 y=58 width=13 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="E" +char id=70 x=165 y=58 width=13 height=25 xoffset=1 yoffset=-0 xadvance=10 page=0 chnl=0 letter="F" +char id=91 x=180 y=58 width=13 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="[" +char id=93 x=195 y=58 width=13 height=25 xoffset=0 yoffset=-0 xadvance=9 page=0 chnl=0 letter="]" +char id=123 x=210 y=58 width=13 height=25 xoffset=0 yoffset=-1 xadvance=9 page=0 chnl=0 letter="{" +char id=125 x=225 y=58 width=13 height=25 xoffset=0 yoffset=-1 xadvance=9 page=0 chnl=0 letter="}" +char id=49 x=240 y=58 width=11 height=25 xoffset=3 yoffset=-0 xadvance=14 page=0 chnl=0 letter="1" +char id=40 x=2 y=85 width=10 height=25 xoffset=1 yoffset=-1 xadvance=6 page=0 chnl=0 letter="(" +char id=41 x=14 y=85 width=10 height=25 xoffset=1 yoffset=-1 xadvance=6 page=0 chnl=0 letter=")" +char id=108 x=26 y=85 width=8 height=25 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="l" +char id=124 x=36 y=85 width=8 height=25 xoffset=1 yoffset=-0 xadvance=5 page=0 chnl=0 letter="|" +char id=64 x=46 y=85 width=25 height=24 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="@" +char id=82 x=73 y=85 width=18 height=24 xoffset=1 yoffset=1 xadvance=14 page=0 chnl=0 letter="R" +char id=38 x=93 y=85 width=18 height=24 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="&" +char id=50 x=113 y=85 width=17 height=24 xoffset=1 yoffset=-0 xadvance=14 page=0 chnl=0 letter="2" +char id=47 x=132 y=85 width=17 height=24 xoffset=0 yoffset=-0 xadvance=12 page=0 chnl=0 letter="/" +char id=92 x=151 y=85 width=17 height=24 xoffset=0 yoffset=-0 xadvance=13 page=0 chnl=0 letter="\" +char id=107 x=170 y=85 width=16 height=24 xoffset=1 yoffset=1 xadvance=12 page=0 chnl=0 letter="k" +char id=36 x=188 y=85 width=16 height=24 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="$" +char id=73 x=206 y=85 width=9 height=24 xoffset=1 yoffset=-0 xadvance=6 page=0 chnl=0 letter="I" +char id=105 x=217 y=85 width=8 height=24 xoffset=1 yoffset=1 xadvance=5 page=0 chnl=0 letter="i" +char id=33 x=227 y=85 width=8 height=24 xoffset=1 yoffset=1 xadvance=5 page=0 chnl=0 letter="!" +char id=121 x=237 y=85 width=16 height=23 xoffset=-0 yoffset=6 xadvance=11 page=0 chnl=0 letter="y" +char id=98 x=2 y=112 width=14 height=23 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 letter="b" +char id=100 x=18 y=112 width=14 height=23 xoffset=0 yoffset=2 xadvance=10 page=0 chnl=0 letter="d" +char id=112 x=34 y=112 width=14 height=23 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="p" +char id=113 x=50 y=112 width=14 height=23 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="q" +char id=103 x=66 y=112 width=13 height=23 xoffset=1 yoffset=5 xadvance=10 page=0 chnl=0 letter="g" +char id=116 x=81 y=112 width=14 height=22 xoffset=-1 yoffset=3 xadvance=9 page=0 chnl=0 letter="t" +char id=59 x=97 y=112 width=10 height=20 xoffset=-1 yoffset=7 xadvance=5 page=0 chnl=0 letter=";" +char id=119 x=109 y=112 width=23 height=19 xoffset=-1 yoffset=6 xadvance=17 page=0 chnl=0 letter="w" +char id=109 x=134 y=112 width=21 height=19 xoffset=1 yoffset=6 xadvance=17 page=0 chnl=0 letter="m" +char id=118 x=157 y=112 width=16 height=19 xoffset=-1 yoffset=6 xadvance=11 page=0 chnl=0 letter="v" +char id=122 x=175 y=112 width=16 height=19 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0 letter="z" +char id=97 x=193 y=112 width=15 height=19 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0 letter="a" +char id=110 x=210 y=112 width=15 height=19 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0 letter="n" +char id=111 x=227 y=112 width=14 height=19 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0 letter="o" +char id=114 x=2 y=137 width=14 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="r" +char id=120 x=18 y=137 width=14 height=19 xoffset=-0 yoffset=6 xadvance=10 page=0 chnl=0 letter="x" +char id=99 x=34 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="c" +char id=101 x=49 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="e" +char id=115 x=64 y=137 width=13 height=19 xoffset=0 yoffset=6 xadvance=9 page=0 chnl=0 letter="s" +char id=117 x=79 y=137 width=13 height=19 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 letter="u" +char id=60 x=94 y=137 width=12 height=18 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="<" +char id=62 x=108 y=137 width=12 height=18 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter=">" +char id=58 x=122 y=137 width=8 height=18 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=0 letter=":" +char id=35 x=132 y=137 width=17 height=17 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=0 letter="#" +char id=43 x=151 y=137 width=14 height=15 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0 letter="+" +char id=42 x=167 y=137 width=15 height=13 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 letter="*" +char id=61 x=184 y=137 width=12 height=12 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0 letter="=" +char id=34 x=198 y=137 width=11 height=12 xoffset=0 yoffset=-0 xadvance=7 page=0 chnl=0 letter=""" +char id=39 x=211 y=137 width=7 height=11 xoffset=0 yoffset=-0 xadvance=4 page=0 chnl=0 letter="'" +char id=96 x=220 y=137 width=9 height=10 xoffset=0 yoffset=-0 xadvance=5 page=0 chnl=0 letter="`" +char id=44 x=231 y=137 width=9 height=10 xoffset=-1 yoffset=17 xadvance=5 page=0 chnl=0 letter="," +char id=94 x=242 y=137 width=11 height=9 xoffset=0 yoffset=-0 xadvance=7 page=0 chnl=0 letter="^" +char id=46 x=2 y=158 width=8 height=9 xoffset=1 yoffset=15 xadvance=5 page=0 chnl=0 letter="." +char id=95 x=12 y=158 width=15 height=8 xoffset=0 yoffset=21 xadvance=12 page=0 chnl=0 letter="_" +char id=45 x=29 y=158 width=12 height=8 xoffset=1 yoffset=10 xadvance=9 page=0 chnl=0 letter="-" +char id=126 x=43 y=158 width=12 height=8 xoffset=0 yoffset=-0 xadvance=8 page=0 chnl=0 letter="~" +char id=32 x=57 y=158 width=0 height=0 xoffset=6 yoffset=41 xadvance=6 page=0 chnl=0 letter="space" +kernings count=3632 +kerning first=106 second=106 amount=2 +kerning first=106 second=102 amount=1 +kerning first=106 second=56 amount=-1 +kerning first=106 second=63 amount=1 +kerning first=106 second=49 amount=-2 +kerning first=106 second=40 amount=1 +kerning first=106 second=108 amount=1 +kerning first=106 second=107 amount=1 +kerning first=106 second=105 amount=1 +kerning first=106 second=33 amount=1 +kerning first=106 second=121 amount=1 +kerning first=106 second=98 amount=1 +kerning first=106 second=100 amount=1 +kerning first=106 second=112 amount=1 +kerning first=106 second=103 amount=1 +kerning first=106 second=116 amount=1 +kerning first=106 second=59 amount=2 +kerning first=106 second=119 amount=2 +kerning first=106 second=118 amount=2 +kerning first=106 second=122 amount=1 +kerning first=106 second=97 amount=1 +kerning first=106 second=110 amount=1 +kerning first=106 second=111 amount=1 +kerning first=106 second=114 amount=1 +kerning first=106 second=120 amount=1 +kerning first=106 second=99 amount=1 +kerning first=106 second=101 amount=1 +kerning first=106 second=115 amount=1 +kerning first=106 second=117 amount=1 +kerning first=106 second=34 amount=1 +kerning first=106 second=39 amount=1 +kerning first=106 second=44 amount=1 +kerning first=106 second=46 amount=1 +kerning first=87 second=87 amount=1 +kerning first=87 second=81 amount=-1 +kerning first=87 second=88 amount=1 +kerning first=87 second=89 amount=1 +kerning first=87 second=90 amount=-1 +kerning first=87 second=65 amount=-3 +kerning first=87 second=75 amount=1 +kerning first=87 second=52 amount=-2 +kerning first=87 second=86 amount=1 +kerning first=87 second=53 amount=-1 +kerning first=87 second=71 amount=-1 +kerning first=87 second=79 amount=-1 +kerning first=87 second=83 amount=-1 +kerning first=87 second=85 amount=1 +kerning first=87 second=51 amount=-2 +kerning first=87 second=55 amount=-1 +kerning first=87 second=66 amount=1 +kerning first=87 second=67 amount=-1 +kerning first=87 second=80 amount=1 +kerning first=87 second=54 amount=-2 +kerning first=87 second=57 amount=-2 +kerning first=87 second=48 amount=-2 +kerning first=87 second=74 amount=-2 +kerning first=87 second=76 amount=1 +kerning first=87 second=102 amount=-1 +kerning first=87 second=56 amount=-2 +kerning first=87 second=93 amount=1 +kerning first=87 second=49 amount=-2 +kerning first=87 second=41 amount=1 +kerning first=87 second=108 amount=1 +kerning first=87 second=64 amount=-3 +kerning first=87 second=82 amount=1 +kerning first=87 second=50 amount=-2 +kerning first=87 second=47 amount=-3 +kerning first=87 second=92 amount=1 +kerning first=87 second=107 amount=1 +kerning first=87 second=73 amount=1 +kerning first=87 second=33 amount=1 +kerning first=87 second=100 amount=-2 +kerning first=87 second=112 amount=-1 +kerning first=87 second=113 amount=-2 +kerning first=87 second=103 amount=-2 +kerning first=87 second=116 amount=-1 +kerning first=87 second=59 amount=-2 +kerning first=87 second=109 amount=-1 +kerning first=87 second=122 amount=-2 +kerning first=87 second=97 amount=-1 +kerning first=87 second=110 amount=-1 +kerning first=87 second=111 amount=-2 +kerning first=87 second=114 amount=-1 +kerning first=87 second=120 amount=-1 +kerning first=87 second=99 amount=-2 +kerning first=87 second=101 amount=-2 +kerning first=87 second=115 amount=-2 +kerning first=87 second=117 amount=-1 +kerning first=87 second=58 amount=-2 +kerning first=87 second=35 amount=-1 +kerning first=87 second=34 amount=1 +kerning first=87 second=39 amount=2 +kerning first=87 second=44 amount=-4 +kerning first=87 second=46 amount=-3 +kerning first=87 second=45 amount=-2 +kerning first=81 second=106 amount=3 +kerning first=81 second=72 amount=1 +kerning first=81 second=77 amount=1 +kerning first=81 second=88 amount=2 +kerning first=81 second=89 amount=-1 +kerning first=81 second=90 amount=1 +kerning first=81 second=65 amount=1 +kerning first=81 second=75 amount=1 +kerning first=81 second=78 amount=1 +kerning first=81 second=86 amount=-1 +kerning first=81 second=51 amount=-1 +kerning first=81 second=55 amount=1 +kerning first=81 second=66 amount=1 +kerning first=81 second=67 amount=1 +kerning first=81 second=68 amount=1 +kerning first=81 second=80 amount=1 +kerning first=81 second=104 amount=1 +kerning first=81 second=54 amount=-1 +kerning first=81 second=57 amount=-1 +kerning first=81 second=76 amount=1 +kerning first=81 second=102 amount=1 +kerning first=81 second=56 amount=-1 +kerning first=81 second=69 amount=1 +kerning first=81 second=70 amount=1 +kerning first=81 second=93 amount=1 +kerning first=81 second=49 amount=-2 +kerning first=81 second=40 amount=1 +kerning first=81 second=41 amount=1 +kerning first=81 second=108 amount=2 +kerning first=81 second=82 amount=1 +kerning first=81 second=50 amount=1 +kerning first=81 second=47 amount=1 +kerning first=81 second=92 amount=-1 +kerning first=81 second=107 amount=2 +kerning first=81 second=73 amount=1 +kerning first=81 second=105 amount=2 +kerning first=81 second=33 amount=2 +kerning first=81 second=121 amount=1 +kerning first=81 second=98 amount=2 +kerning first=81 second=112 amount=2 +kerning first=81 second=103 amount=1 +kerning first=81 second=116 amount=1 +kerning first=81 second=59 amount=3 +kerning first=81 second=119 amount=1 +kerning first=81 second=118 amount=1 +kerning first=81 second=122 amount=2 +kerning first=81 second=97 amount=2 +kerning first=81 second=110 amount=2 +kerning first=81 second=111 amount=1 +kerning first=81 second=114 amount=2 +kerning first=81 second=120 amount=2 +kerning first=81 second=99 amount=1 +kerning first=81 second=115 amount=1 +kerning first=81 second=117 amount=1 +kerning first=81 second=58 amount=2 +kerning first=81 second=44 amount=3 +kerning first=81 second=46 amount=2 +kerning first=72 second=106 amount=1 +kerning first=72 second=87 amount=1 +kerning first=72 second=81 amount=1 +kerning first=72 second=72 amount=1 +kerning first=72 second=88 amount=1 +kerning first=72 second=75 amount=1 +kerning first=72 second=52 amount=1 +kerning first=72 second=86 amount=1 +kerning first=72 second=71 amount=1 +kerning first=72 second=79 amount=1 +kerning first=72 second=85 amount=1 +kerning first=72 second=51 amount=-1 +kerning first=72 second=66 amount=1 +kerning first=72 second=67 amount=1 +kerning first=72 second=80 amount=1 +kerning first=72 second=104 amount=1 +kerning first=72 second=57 amount=-1 +kerning first=72 second=76 amount=1 +kerning first=72 second=102 amount=1 +kerning first=72 second=56 amount=-1 +kerning first=72 second=69 amount=1 +kerning first=72 second=93 amount=1 +kerning first=72 second=49 amount=-2 +kerning first=72 second=40 amount=1 +kerning first=72 second=41 amount=1 +kerning first=72 second=108 amount=1 +kerning first=72 second=82 amount=1 +kerning first=72 second=92 amount=1 +kerning first=72 second=107 amount=1 +kerning first=72 second=73 amount=1 +kerning first=72 second=105 amount=1 +kerning first=72 second=33 amount=1 +kerning first=72 second=121 amount=1 +kerning first=72 second=98 amount=1 +kerning first=72 second=100 amount=1 +kerning first=72 second=112 amount=1 +kerning first=72 second=113 amount=1 +kerning first=72 second=103 amount=1 +kerning first=72 second=116 amount=2 +kerning first=72 second=59 amount=1 +kerning first=72 second=119 amount=1 +kerning first=72 second=118 amount=1 +kerning first=72 second=97 amount=1 +kerning first=72 second=110 amount=1 +kerning first=72 second=111 amount=1 +kerning first=72 second=114 amount=1 +kerning first=72 second=120 amount=1 +kerning first=72 second=99 amount=1 +kerning first=72 second=101 amount=1 +kerning first=72 second=115 amount=1 +kerning first=72 second=117 amount=1 +kerning first=72 second=35 amount=1 +kerning first=72 second=34 amount=1 +kerning first=72 second=39 amount=1 +kerning first=72 second=46 amount=1 +kerning first=72 second=45 amount=1 +kerning first=77 second=106 amount=1 +kerning first=77 second=88 amount=1 +kerning first=77 second=90 amount=1 +kerning first=77 second=65 amount=1 +kerning first=77 second=51 amount=-1 +kerning first=77 second=66 amount=1 +kerning first=77 second=80 amount=1 +kerning first=77 second=104 amount=1 +kerning first=77 second=54 amount=-1 +kerning first=77 second=57 amount=-1 +kerning first=77 second=48 amount=-1 +kerning first=77 second=56 amount=-1 +kerning first=77 second=69 amount=1 +kerning first=77 second=70 amount=1 +kerning first=77 second=49 amount=-3 +kerning first=77 second=41 amount=1 +kerning first=77 second=108 amount=1 +kerning first=77 second=47 amount=1 +kerning first=77 second=107 amount=1 +kerning first=77 second=73 amount=1 +kerning first=77 second=105 amount=1 +kerning first=77 second=33 amount=1 +kerning first=77 second=98 amount=1 +kerning first=77 second=112 amount=1 +kerning first=77 second=116 amount=1 +kerning first=77 second=59 amount=1 +kerning first=77 second=119 amount=1 +kerning first=77 second=118 amount=1 +kerning first=77 second=122 amount=1 +kerning first=77 second=97 amount=1 +kerning first=77 second=110 amount=1 +kerning first=77 second=114 amount=1 +kerning first=77 second=120 amount=1 +kerning first=77 second=115 amount=1 +kerning first=77 second=58 amount=1 +kerning first=77 second=44 amount=1 +kerning first=77 second=46 amount=1 +kerning first=88 second=106 amount=1 +kerning first=88 second=81 amount=-1 +kerning first=88 second=88 amount=1 +kerning first=88 second=90 amount=1 +kerning first=88 second=65 amount=1 +kerning first=88 second=52 amount=-2 +kerning first=88 second=71 amount=-1 +kerning first=88 second=79 amount=-1 +kerning first=88 second=83 amount=-1 +kerning first=88 second=84 amount=-1 +kerning first=88 second=51 amount=-1 +kerning first=88 second=80 amount=1 +kerning first=88 second=54 amount=-1 +kerning first=88 second=57 amount=-1 +kerning first=88 second=48 amount=-1 +kerning first=88 second=74 amount=-2 +kerning first=88 second=102 amount=-1 +kerning first=88 second=56 amount=-1 +kerning first=88 second=63 amount=-2 +kerning first=88 second=69 amount=1 +kerning first=88 second=49 amount=-3 +kerning first=88 second=41 amount=1 +kerning first=88 second=108 amount=1 +kerning first=88 second=64 amount=-1 +kerning first=88 second=47 amount=1 +kerning first=88 second=107 amount=1 +kerning first=88 second=73 amount=1 +kerning first=88 second=105 amount=1 +kerning first=88 second=33 amount=1 +kerning first=88 second=121 amount=-2 +kerning first=88 second=98 amount=1 +kerning first=88 second=112 amount=1 +kerning first=88 second=116 amount=-1 +kerning first=88 second=59 amount=1 +kerning first=88 second=118 amount=-1 +kerning first=88 second=122 amount=1 +kerning first=88 second=97 amount=1 +kerning first=88 second=110 amount=1 +kerning first=88 second=114 amount=1 +kerning first=88 second=120 amount=1 +kerning first=88 second=115 amount=1 +kerning first=88 second=58 amount=1 +kerning first=88 second=35 amount=-3 +kerning first=88 second=44 amount=1 +kerning first=88 second=46 amount=1 +kerning first=88 second=45 amount=-3 +kerning first=89 second=106 amount=1 +kerning first=89 second=87 amount=1 +kerning first=89 second=81 amount=-1 +kerning first=89 second=72 amount=1 +kerning first=89 second=77 amount=1 +kerning first=89 second=88 amount=1 +kerning first=89 second=89 amount=1 +kerning first=89 second=65 amount=-3 +kerning first=89 second=75 amount=1 +kerning first=89 second=52 amount=-3 +kerning first=89 second=78 amount=1 +kerning first=89 second=86 amount=2 +kerning first=89 second=84 amount=1 +kerning first=89 second=85 amount=1 +kerning first=89 second=51 amount=-2 +kerning first=89 second=66 amount=1 +kerning first=89 second=68 amount=1 +kerning first=89 second=80 amount=1 +kerning first=89 second=104 amount=1 +kerning first=89 second=54 amount=-1 +kerning first=89 second=57 amount=-1 +kerning first=89 second=48 amount=-1 +kerning first=89 second=74 amount=-3 +kerning first=89 second=76 amount=1 +kerning first=89 second=102 amount=-1 +kerning first=89 second=56 amount=-1 +kerning first=89 second=69 amount=1 +kerning first=89 second=70 amount=1 +kerning first=89 second=93 amount=1 +kerning first=89 second=49 amount=-2 +kerning first=89 second=41 amount=1 +kerning first=89 second=108 amount=1 +kerning first=89 second=64 amount=-3 +kerning first=89 second=82 amount=1 +kerning first=89 second=50 amount=-2 +kerning first=89 second=47 amount=-1 +kerning first=89 second=92 amount=1 +kerning first=89 second=107 amount=1 +kerning first=89 second=73 amount=1 +kerning first=89 second=105 amount=1 +kerning first=89 second=33 amount=1 +kerning first=89 second=121 amount=-1 +kerning first=89 second=98 amount=1 +kerning first=89 second=100 amount=-2 +kerning first=89 second=112 amount=-1 +kerning first=89 second=113 amount=-2 +kerning first=89 second=103 amount=-2 +kerning first=89 second=116 amount=-1 +kerning first=89 second=59 amount=-2 +kerning first=89 second=109 amount=-1 +kerning first=89 second=122 amount=-2 +kerning first=89 second=97 amount=-2 +kerning first=89 second=110 amount=-1 +kerning first=89 second=111 amount=-2 +kerning first=89 second=114 amount=-1 +kerning first=89 second=120 amount=-1 +kerning first=89 second=99 amount=-2 +kerning first=89 second=101 amount=-3 +kerning first=89 second=115 amount=-2 +kerning first=89 second=117 amount=-1 +kerning first=89 second=58 amount=-2 +kerning first=89 second=35 amount=-1 +kerning first=89 second=34 amount=2 +kerning first=89 second=39 amount=2 +kerning first=89 second=44 amount=-4 +kerning first=89 second=46 amount=-4 +kerning first=89 second=45 amount=-3 +kerning first=90 second=87 amount=1 +kerning first=90 second=81 amount=-1 +kerning first=90 second=88 amount=1 +kerning first=90 second=89 amount=1 +kerning first=90 second=65 amount=-1 +kerning first=90 second=75 amount=1 +kerning first=90 second=52 amount=-4 +kerning first=90 second=78 amount=1 +kerning first=90 second=86 amount=1 +kerning first=90 second=53 amount=-1 +kerning first=90 second=83 amount=-1 +kerning first=90 second=85 amount=1 +kerning first=90 second=51 amount=-2 +kerning first=90 second=66 amount=1 +kerning first=90 second=68 amount=1 +kerning first=90 second=80 amount=1 +kerning first=90 second=104 amount=1 +kerning first=90 second=54 amount=-1 +kerning first=90 second=57 amount=-1 +kerning first=90 second=48 amount=-1 +kerning first=90 second=74 amount=-2 +kerning first=90 second=76 amount=1 +kerning first=90 second=102 amount=-1 +kerning first=90 second=56 amount=-1 +kerning first=90 second=63 amount=-1 +kerning first=90 second=69 amount=1 +kerning first=90 second=93 amount=1 +kerning first=90 second=49 amount=-2 +kerning first=90 second=41 amount=1 +kerning first=90 second=108 amount=1 +kerning first=90 second=64 amount=-2 +kerning first=90 second=82 amount=1 +kerning first=90 second=50 amount=-1 +kerning first=90 second=92 amount=1 +kerning first=90 second=107 amount=1 +kerning first=90 second=73 amount=1 +kerning first=90 second=105 amount=1 +kerning first=90 second=33 amount=1 +kerning first=90 second=121 amount=-2 +kerning first=90 second=98 amount=1 +kerning first=90 second=100 amount=-1 +kerning first=90 second=112 amount=-1 +kerning first=90 second=113 amount=-1 +kerning first=90 second=103 amount=-1 +kerning first=90 second=116 amount=-2 +kerning first=90 second=59 amount=-1 +kerning first=90 second=119 amount=-1 +kerning first=90 second=109 amount=-1 +kerning first=90 second=118 amount=-1 +kerning first=90 second=122 amount=-1 +kerning first=90 second=110 amount=-1 +kerning first=90 second=111 amount=-1 +kerning first=90 second=114 amount=-1 +kerning first=90 second=99 amount=-1 +kerning first=90 second=101 amount=-1 +kerning first=90 second=115 amount=-1 +kerning first=90 second=117 amount=-1 +kerning first=90 second=58 amount=-1 +kerning first=90 second=35 amount=-3 +kerning first=90 second=34 amount=1 +kerning first=90 second=39 amount=2 +kerning first=90 second=45 amount=-5 +kerning first=65 second=87 amount=-2 +kerning first=65 second=88 amount=1 +kerning first=65 second=89 amount=-3 +kerning first=65 second=86 amount=-2 +kerning first=65 second=53 amount=-1 +kerning first=65 second=83 amount=1 +kerning first=65 second=84 amount=-2 +kerning first=65 second=51 amount=-2 +kerning first=65 second=67 amount=1 +kerning first=65 second=54 amount=-1 +kerning first=65 second=57 amount=-1 +kerning first=65 second=102 amount=-1 +kerning first=65 second=56 amount=-1 +kerning first=65 second=63 amount=-1 +kerning first=65 second=93 amount=-1 +kerning first=65 second=49 amount=-3 +kerning first=65 second=108 amount=1 +kerning first=65 second=92 amount=-3 +kerning first=65 second=100 amount=1 +kerning first=65 second=113 amount=1 +kerning first=65 second=103 amount=1 +kerning first=65 second=116 amount=-1 +kerning first=65 second=59 amount=1 +kerning first=65 second=122 amount=1 +kerning first=65 second=97 amount=1 +kerning first=65 second=110 amount=1 +kerning first=65 second=111 amount=1 +kerning first=65 second=120 amount=1 +kerning first=65 second=99 amount=1 +kerning first=65 second=101 amount=1 +kerning first=65 second=117 amount=1 +kerning first=65 second=34 amount=-3 +kerning first=65 second=39 amount=-3 +kerning first=65 second=44 amount=1 +kerning first=65 second=46 amount=1 +kerning first=75 second=106 amount=1 +kerning first=75 second=72 amount=1 +kerning first=75 second=77 amount=1 +kerning first=75 second=88 amount=1 +kerning first=75 second=90 amount=1 +kerning first=75 second=65 amount=1 +kerning first=75 second=75 amount=1 +kerning first=75 second=52 amount=-2 +kerning first=75 second=78 amount=1 +kerning first=75 second=53 amount=1 +kerning first=75 second=84 amount=-1 +kerning first=75 second=55 amount=1 +kerning first=75 second=66 amount=1 +kerning first=75 second=67 amount=1 +kerning first=75 second=80 amount=1 +kerning first=75 second=104 amount=1 +kerning first=75 second=54 amount=-1 +kerning first=75 second=74 amount=-1 +kerning first=75 second=76 amount=1 +kerning first=75 second=102 amount=-1 +kerning first=75 second=63 amount=-1 +kerning first=75 second=69 amount=1 +kerning first=75 second=70 amount=1 +kerning first=75 second=49 amount=-2 +kerning first=75 second=40 amount=1 +kerning first=75 second=41 amount=1 +kerning first=75 second=108 amount=1 +kerning first=75 second=82 amount=1 +kerning first=75 second=50 amount=1 +kerning first=75 second=47 amount=1 +kerning first=75 second=107 amount=1 +kerning first=75 second=73 amount=1 +kerning first=75 second=105 amount=1 +kerning first=75 second=33 amount=1 +kerning first=75 second=121 amount=-1 +kerning first=75 second=98 amount=1 +kerning first=75 second=100 amount=1 +kerning first=75 second=112 amount=1 +kerning first=75 second=113 amount=1 +kerning first=75 second=103 amount=1 +kerning first=75 second=116 amount=-1 +kerning first=75 second=59 amount=1 +kerning first=75 second=122 amount=1 +kerning first=75 second=97 amount=2 +kerning first=75 second=110 amount=1 +kerning first=75 second=111 amount=1 +kerning first=75 second=114 amount=1 +kerning first=75 second=120 amount=2 +kerning first=75 second=99 amount=1 +kerning first=75 second=101 amount=1 +kerning first=75 second=115 amount=1 +kerning first=75 second=117 amount=1 +kerning first=75 second=58 amount=1 +kerning first=75 second=35 amount=-3 +kerning first=75 second=44 amount=1 +kerning first=75 second=46 amount=2 +kerning first=75 second=45 amount=-4 +kerning first=52 second=106 amount=1 +kerning first=52 second=87 amount=-1 +kerning first=52 second=81 amount=1 +kerning first=52 second=72 amount=1 +kerning first=52 second=88 amount=-2 +kerning first=52 second=89 amount=-2 +kerning first=52 second=90 amount=-2 +kerning first=52 second=65 amount=-1 +kerning first=52 second=86 amount=-1 +kerning first=52 second=71 amount=1 +kerning first=52 second=79 amount=1 +kerning first=52 second=83 amount=-1 +kerning first=52 second=84 amount=-2 +kerning first=52 second=85 amount=1 +kerning first=52 second=67 amount=1 +kerning first=52 second=80 amount=1 +kerning first=52 second=104 amount=1 +kerning first=52 second=102 amount=1 +kerning first=52 second=63 amount=-1 +kerning first=52 second=69 amount=1 +kerning first=52 second=93 amount=-2 +kerning first=52 second=40 amount=1 +kerning first=52 second=41 amount=-1 +kerning first=52 second=108 amount=1 +kerning first=52 second=47 amount=-2 +kerning first=52 second=92 amount=-2 +kerning first=52 second=107 amount=1 +kerning first=52 second=73 amount=1 +kerning first=52 second=105 amount=1 +kerning first=52 second=33 amount=1 +kerning first=52 second=98 amount=1 +kerning first=52 second=100 amount=1 +kerning first=52 second=112 amount=1 +kerning first=52 second=113 amount=1 +kerning first=52 second=103 amount=1 +kerning first=52 second=116 amount=1 +kerning first=52 second=119 amount=1 +kerning first=52 second=118 amount=1 +kerning first=52 second=122 amount=-1 +kerning first=52 second=97 amount=1 +kerning first=52 second=110 amount=1 +kerning first=52 second=111 amount=1 +kerning first=52 second=114 amount=1 +kerning first=52 second=99 amount=1 +kerning first=52 second=101 amount=1 +kerning first=52 second=115 amount=1 +kerning first=52 second=117 amount=1 +kerning first=52 second=35 amount=1 +kerning first=52 second=34 amount=-2 +kerning first=52 second=39 amount=-1 +kerning first=52 second=44 amount=-2 +kerning first=52 second=46 amount=-2 +kerning first=52 second=45 amount=1 +kerning first=78 second=106 amount=1 +kerning first=78 second=87 amount=1 +kerning first=78 second=88 amount=1 +kerning first=78 second=90 amount=1 +kerning first=78 second=65 amount=1 +kerning first=78 second=75 amount=1 +kerning first=78 second=86 amount=1 +kerning first=78 second=83 amount=1 +kerning first=78 second=85 amount=1 +kerning first=78 second=66 amount=1 +kerning first=78 second=80 amount=1 +kerning first=78 second=104 amount=1 +kerning first=78 second=54 amount=-1 +kerning first=78 second=48 amount=-1 +kerning first=78 second=76 amount=1 +kerning first=78 second=102 amount=1 +kerning first=78 second=69 amount=1 +kerning first=78 second=93 amount=1 +kerning first=78 second=49 amount=-2 +kerning first=78 second=41 amount=1 +kerning first=78 second=108 amount=1 +kerning first=78 second=82 amount=1 +kerning first=78 second=47 amount=1 +kerning first=78 second=92 amount=1 +kerning first=78 second=107 amount=1 +kerning first=78 second=73 amount=1 +kerning first=78 second=105 amount=1 +kerning first=78 second=33 amount=1 +kerning first=78 second=121 amount=1 +kerning first=78 second=98 amount=1 +kerning first=78 second=112 amount=1 +kerning first=78 second=103 amount=1 +kerning first=78 second=116 amount=1 +kerning first=78 second=59 amount=1 +kerning first=78 second=119 amount=1 +kerning first=78 second=118 amount=1 +kerning first=78 second=122 amount=1 +kerning first=78 second=97 amount=1 +kerning first=78 second=110 amount=1 +kerning first=78 second=111 amount=1 +kerning first=78 second=114 amount=1 +kerning first=78 second=120 amount=1 +kerning first=78 second=99 amount=1 +kerning first=78 second=115 amount=1 +kerning first=78 second=117 amount=1 +kerning first=78 second=58 amount=1 +kerning first=78 second=34 amount=1 +kerning first=78 second=39 amount=1 +kerning first=78 second=46 amount=1 +kerning first=86 second=87 amount=1 +kerning first=86 second=81 amount=-1 +kerning first=86 second=88 amount=1 +kerning first=86 second=89 amount=1 +kerning first=86 second=90 amount=-1 +kerning first=86 second=65 amount=-3 +kerning first=86 second=75 amount=1 +kerning first=86 second=52 amount=-2 +kerning first=86 second=78 amount=1 +kerning first=86 second=86 amount=1 +kerning first=86 second=53 amount=-1 +kerning first=86 second=83 amount=-1 +kerning first=86 second=85 amount=1 +kerning first=86 second=51 amount=-2 +kerning first=86 second=66 amount=1 +kerning first=86 second=68 amount=1 +kerning first=86 second=80 amount=1 +kerning first=86 second=104 amount=1 +kerning first=86 second=54 amount=-2 +kerning first=86 second=57 amount=-1 +kerning first=86 second=48 amount=-1 +kerning first=86 second=74 amount=-2 +kerning first=86 second=76 amount=1 +kerning first=86 second=102 amount=-1 +kerning first=86 second=56 amount=-1 +kerning first=86 second=69 amount=1 +kerning first=86 second=93 amount=1 +kerning first=86 second=49 amount=-2 +kerning first=86 second=41 amount=1 +kerning first=86 second=108 amount=1 +kerning first=86 second=64 amount=-3 +kerning first=86 second=82 amount=1 +kerning first=86 second=50 amount=-2 +kerning first=86 second=47 amount=-3 +kerning first=86 second=92 amount=1 +kerning first=86 second=107 amount=1 +kerning first=86 second=73 amount=1 +kerning first=86 second=105 amount=1 +kerning first=86 second=33 amount=1 +kerning first=86 second=98 amount=1 +kerning first=86 second=100 amount=-2 +kerning first=86 second=112 amount=-1 +kerning first=86 second=113 amount=-2 +kerning first=86 second=103 amount=-2 +kerning first=86 second=59 amount=-1 +kerning first=86 second=109 amount=-1 +kerning first=86 second=122 amount=-2 +kerning first=86 second=97 amount=-1 +kerning first=86 second=110 amount=-1 +kerning first=86 second=111 amount=-2 +kerning first=86 second=114 amount=-1 +kerning first=86 second=120 amount=-1 +kerning first=86 second=99 amount=-2 +kerning first=86 second=101 amount=-2 +kerning first=86 second=115 amount=-2 +kerning first=86 second=117 amount=-1 +kerning first=86 second=58 amount=-2 +kerning first=86 second=35 amount=-1 +kerning first=86 second=34 amount=2 +kerning first=86 second=39 amount=2 +kerning first=86 second=44 amount=-3 +kerning first=86 second=46 amount=-3 +kerning first=86 second=45 amount=-2 +kerning first=53 second=81 amount=-1 +kerning first=53 second=90 amount=-1 +kerning first=53 second=65 amount=-3 +kerning first=53 second=86 amount=1 +kerning first=53 second=71 amount=-1 +kerning first=53 second=79 amount=-1 +kerning first=53 second=83 amount=-1 +kerning first=53 second=74 amount=-1 +kerning first=53 second=63 amount=-1 +kerning first=53 second=64 amount=-2 +kerning first=53 second=47 amount=-3 +kerning first=53 second=100 amount=-1 +kerning first=53 second=112 amount=-1 +kerning first=53 second=113 amount=-1 +kerning first=53 second=103 amount=-1 +kerning first=53 second=59 amount=-1 +kerning first=53 second=109 amount=-1 +kerning first=53 second=122 amount=-1 +kerning first=53 second=97 amount=-1 +kerning first=53 second=110 amount=-1 +kerning first=53 second=111 amount=-1 +kerning first=53 second=114 amount=-1 +kerning first=53 second=120 amount=-1 +kerning first=53 second=99 amount=-1 +kerning first=53 second=101 amount=-1 +kerning first=53 second=115 amount=-1 +kerning first=53 second=117 amount=-1 +kerning first=53 second=58 amount=-1 +kerning first=53 second=35 amount=-1 +kerning first=53 second=34 amount=1 +kerning first=53 second=39 amount=1 +kerning first=53 second=44 amount=-4 +kerning first=53 second=46 amount=-3 +kerning first=53 second=45 amount=-1 +kerning first=71 second=106 amount=1 +kerning first=71 second=81 amount=1 +kerning first=71 second=72 amount=1 +kerning first=71 second=88 amount=-1 +kerning first=71 second=89 amount=-2 +kerning first=71 second=90 amount=-1 +kerning first=71 second=75 amount=1 +kerning first=71 second=52 amount=1 +kerning first=71 second=86 amount=-1 +kerning first=71 second=53 amount=-1 +kerning first=71 second=71 amount=1 +kerning first=71 second=79 amount=1 +kerning first=71 second=83 amount=-1 +kerning first=71 second=84 amount=-1 +kerning first=71 second=85 amount=1 +kerning first=71 second=51 amount=-1 +kerning first=71 second=55 amount=-2 +kerning first=71 second=66 amount=1 +kerning first=71 second=67 amount=1 +kerning first=71 second=68 amount=1 +kerning first=71 second=80 amount=1 +kerning first=71 second=104 amount=1 +kerning first=71 second=57 amount=-1 +kerning first=71 second=48 amount=1 +kerning first=71 second=74 amount=1 +kerning first=71 second=76 amount=1 +kerning first=71 second=102 amount=1 +kerning first=71 second=56 amount=-1 +kerning first=71 second=63 amount=-1 +kerning first=71 second=69 amount=1 +kerning first=71 second=70 amount=1 +kerning first=71 second=93 amount=-2 +kerning first=71 second=49 amount=-3 +kerning first=71 second=40 amount=1 +kerning first=71 second=108 amount=1 +kerning first=71 second=64 amount=1 +kerning first=71 second=82 amount=1 +kerning first=71 second=50 amount=-2 +kerning first=71 second=47 amount=-1 +kerning first=71 second=92 amount=-2 +kerning first=71 second=107 amount=1 +kerning first=71 second=73 amount=1 +kerning first=71 second=105 amount=1 +kerning first=71 second=33 amount=1 +kerning first=71 second=121 amount=1 +kerning first=71 second=98 amount=1 +kerning first=71 second=100 amount=1 +kerning first=71 second=112 amount=1 +kerning first=71 second=113 amount=1 +kerning first=71 second=103 amount=1 +kerning first=71 second=116 amount=1 +kerning first=71 second=119 amount=2 +kerning first=71 second=109 amount=1 +kerning first=71 second=118 amount=1 +kerning first=71 second=122 amount=-1 +kerning first=71 second=97 amount=1 +kerning first=71 second=110 amount=1 +kerning first=71 second=111 amount=2 +kerning first=71 second=114 amount=1 +kerning first=71 second=99 amount=1 +kerning first=71 second=101 amount=1 +kerning first=71 second=115 amount=1 +kerning first=71 second=117 amount=1 +kerning first=71 second=35 amount=1 +kerning first=71 second=34 amount=-1 +kerning first=71 second=39 amount=-1 +kerning first=71 second=44 amount=-3 +kerning first=71 second=46 amount=-2 +kerning first=71 second=45 amount=2 +kerning first=79 second=106 amount=1 +kerning first=79 second=81 amount=1 +kerning first=79 second=72 amount=1 +kerning first=79 second=88 amount=-1 +kerning first=79 second=89 amount=-1 +kerning first=79 second=65 amount=-1 +kerning first=79 second=71 amount=1 +kerning first=79 second=79 amount=1 +kerning first=79 second=51 amount=-1 +kerning first=79 second=55 amount=-1 +kerning first=79 second=67 amount=1 +kerning first=79 second=57 amount=-1 +kerning first=79 second=102 amount=1 +kerning first=79 second=56 amount=-1 +kerning first=79 second=93 amount=-1 +kerning first=79 second=49 amount=-2 +kerning first=79 second=40 amount=1 +kerning first=79 second=41 amount=-1 +kerning first=79 second=108 amount=1 +kerning first=79 second=50 amount=-1 +kerning first=79 second=47 amount=-1 +kerning first=79 second=92 amount=-1 +kerning first=79 second=107 amount=1 +kerning first=79 second=105 amount=1 +kerning first=79 second=33 amount=1 +kerning first=79 second=121 amount=1 +kerning first=79 second=100 amount=1 +kerning first=79 second=112 amount=1 +kerning first=79 second=113 amount=1 +kerning first=79 second=103 amount=1 +kerning first=79 second=116 amount=2 +kerning first=79 second=59 amount=1 +kerning first=79 second=119 amount=2 +kerning first=79 second=118 amount=2 +kerning first=79 second=97 amount=1 +kerning first=79 second=110 amount=1 +kerning first=79 second=111 amount=1 +kerning first=79 second=114 amount=1 +kerning first=79 second=120 amount=1 +kerning first=79 second=99 amount=1 +kerning first=79 second=101 amount=1 +kerning first=79 second=117 amount=1 +kerning first=79 second=35 amount=1 +kerning first=79 second=44 amount=-1 +kerning first=79 second=45 amount=1 +kerning first=83 second=106 amount=1 +kerning first=83 second=88 amount=1 +kerning first=83 second=89 amount=-1 +kerning first=83 second=90 amount=1 +kerning first=83 second=53 amount=1 +kerning first=83 second=71 amount=1 +kerning first=83 second=83 amount=1 +kerning first=83 second=67 amount=1 +kerning first=83 second=104 amount=1 +kerning first=83 second=74 amount=1 +kerning first=83 second=49 amount=-2 +kerning first=83 second=40 amount=1 +kerning first=83 second=41 amount=1 +kerning first=83 second=108 amount=1 +kerning first=83 second=107 amount=1 +kerning first=83 second=105 amount=1 +kerning first=83 second=33 amount=1 +kerning first=83 second=121 amount=1 +kerning first=83 second=98 amount=1 +kerning first=83 second=100 amount=1 +kerning first=83 second=112 amount=1 +kerning first=83 second=113 amount=1 +kerning first=83 second=103 amount=1 +kerning first=83 second=116 amount=-1 +kerning first=83 second=119 amount=1 +kerning first=83 second=118 amount=1 +kerning first=83 second=122 amount=1 +kerning first=83 second=97 amount=1 +kerning first=83 second=110 amount=1 +kerning first=83 second=111 amount=1 +kerning first=83 second=114 amount=1 +kerning first=83 second=120 amount=1 +kerning first=83 second=99 amount=1 +kerning first=83 second=101 amount=1 +kerning first=83 second=115 amount=1 +kerning first=83 second=117 amount=1 +kerning first=83 second=46 amount=1 +kerning first=84 second=87 amount=1 +kerning first=84 second=81 amount=-1 +kerning first=84 second=88 amount=1 +kerning first=84 second=90 amount=-1 +kerning first=84 second=65 amount=-3 +kerning first=84 second=75 amount=1 +kerning first=84 second=52 amount=-3 +kerning first=84 second=86 amount=1 +kerning first=84 second=53 amount=-1 +kerning first=84 second=83 amount=-1 +kerning first=84 second=85 amount=1 +kerning first=84 second=51 amount=-2 +kerning first=84 second=66 amount=1 +kerning first=84 second=80 amount=1 +kerning first=84 second=54 amount=-2 +kerning first=84 second=57 amount=-1 +kerning first=84 second=48 amount=-1 +kerning first=84 second=74 amount=-3 +kerning first=84 second=76 amount=1 +kerning first=84 second=102 amount=-1 +kerning first=84 second=56 amount=-1 +kerning first=84 second=93 amount=1 +kerning first=84 second=49 amount=-2 +kerning first=84 second=108 amount=1 +kerning first=84 second=64 amount=-4 +kerning first=84 second=82 amount=1 +kerning first=84 second=50 amount=-2 +kerning first=84 second=47 amount=-3 +kerning first=84 second=92 amount=1 +kerning first=84 second=107 amount=1 +kerning first=84 second=73 amount=1 +kerning first=84 second=33 amount=1 +kerning first=84 second=121 amount=-3 +kerning first=84 second=98 amount=1 +kerning first=84 second=100 amount=-3 +kerning first=84 second=112 amount=-3 +kerning first=84 second=113 amount=-3 +kerning first=84 second=103 amount=-3 +kerning first=84 second=116 amount=-2 +kerning first=84 second=59 amount=-2 +kerning first=84 second=119 amount=-2 +kerning first=84 second=109 amount=-3 +kerning first=84 second=118 amount=-2 +kerning first=84 second=122 amount=-3 +kerning first=84 second=97 amount=-3 +kerning first=84 second=110 amount=-3 +kerning first=84 second=111 amount=-3 +kerning first=84 second=114 amount=-3 +kerning first=84 second=120 amount=-2 +kerning first=84 second=99 amount=-3 +kerning first=84 second=101 amount=-3 +kerning first=84 second=115 amount=-3 +kerning first=84 second=117 amount=-3 +kerning first=84 second=58 amount=-3 +kerning first=84 second=35 amount=-2 +kerning first=84 second=34 amount=1 +kerning first=84 second=39 amount=1 +kerning first=84 second=44 amount=-2 +kerning first=84 second=46 amount=-2 +kerning first=84 second=45 amount=-3 +kerning first=85 second=106 amount=1 +kerning first=85 second=87 amount=1 +kerning first=85 second=88 amount=1 +kerning first=85 second=89 amount=1 +kerning first=85 second=65 amount=-1 +kerning first=85 second=75 amount=1 +kerning first=85 second=86 amount=1 +kerning first=85 second=71 amount=1 +kerning first=85 second=84 amount=1 +kerning first=85 second=85 amount=1 +kerning first=85 second=51 amount=-1 +kerning first=85 second=66 amount=1 +kerning first=85 second=67 amount=1 +kerning first=85 second=68 amount=1 +kerning first=85 second=80 amount=1 +kerning first=85 second=54 amount=-1 +kerning first=85 second=57 amount=-1 +kerning first=85 second=76 amount=1 +kerning first=85 second=102 amount=1 +kerning first=85 second=56 amount=-1 +kerning first=85 second=63 amount=1 +kerning first=85 second=93 amount=1 +kerning first=85 second=49 amount=-2 +kerning first=85 second=40 amount=1 +kerning first=85 second=41 amount=1 +kerning first=85 second=108 amount=1 +kerning first=85 second=82 amount=1 +kerning first=85 second=50 amount=-1 +kerning first=85 second=47 amount=-1 +kerning first=85 second=92 amount=1 +kerning first=85 second=107 amount=1 +kerning first=85 second=73 amount=1 +kerning first=85 second=105 amount=1 +kerning first=85 second=33 amount=1 +kerning first=85 second=121 amount=1 +kerning first=85 second=98 amount=1 +kerning first=85 second=112 amount=1 +kerning first=85 second=116 amount=1 +kerning first=85 second=119 amount=2 +kerning first=85 second=118 amount=1 +kerning first=85 second=97 amount=1 +kerning first=85 second=110 amount=1 +kerning first=85 second=114 amount=1 +kerning first=85 second=120 amount=1 +kerning first=85 second=117 amount=1 +kerning first=85 second=34 amount=1 +kerning first=85 second=39 amount=1 +kerning first=85 second=44 amount=-2 +kerning first=85 second=46 amount=-1 +kerning first=51 second=77 amount=-1 +kerning first=51 second=89 amount=-1 +kerning first=51 second=90 amount=-2 +kerning first=51 second=65 amount=-2 +kerning first=51 second=75 amount=-1 +kerning first=51 second=78 amount=-1 +kerning first=51 second=83 amount=-1 +kerning first=51 second=84 amount=-1 +kerning first=51 second=68 amount=-1 +kerning first=51 second=74 amount=-1 +kerning first=51 second=76 amount=-1 +kerning first=51 second=63 amount=-1 +kerning first=51 second=70 amount=-1 +kerning first=51 second=93 amount=-1 +kerning first=51 second=41 amount=-1 +kerning first=51 second=64 amount=-1 +kerning first=51 second=47 amount=-3 +kerning first=51 second=92 amount=-1 +kerning first=51 second=59 amount=-1 +kerning first=51 second=109 amount=-1 +kerning first=51 second=122 amount=-2 +kerning first=51 second=120 amount=-1 +kerning first=51 second=58 amount=-1 +kerning first=51 second=44 amount=-4 +kerning first=51 second=46 amount=-3 +kerning first=55 second=106 amount=-1 +kerning first=55 second=81 amount=-2 +kerning first=55 second=72 amount=-1 +kerning first=55 second=77 amount=-1 +kerning first=55 second=89 amount=-1 +kerning first=55 second=90 amount=-2 +kerning first=55 second=65 amount=-4 +kerning first=55 second=78 amount=-1 +kerning first=55 second=71 amount=-1 +kerning first=55 second=79 amount=-1 +kerning first=55 second=83 amount=-2 +kerning first=55 second=67 amount=-1 +kerning first=55 second=68 amount=-1 +kerning first=55 second=104 amount=-1 +kerning first=55 second=74 amount=-3 +kerning first=55 second=102 amount=-2 +kerning first=55 second=63 amount=-1 +kerning first=55 second=69 amount=-1 +kerning first=55 second=70 amount=-1 +kerning first=55 second=40 amount=-1 +kerning first=55 second=64 amount=-5 +kerning first=55 second=47 amount=-5 +kerning first=55 second=105 amount=-1 +kerning first=55 second=121 amount=-2 +kerning first=55 second=100 amount=-4 +kerning first=55 second=112 amount=-3 +kerning first=55 second=113 amount=-4 +kerning first=55 second=103 amount=-4 +kerning first=55 second=116 amount=-2 +kerning first=55 second=59 amount=-3 +kerning first=55 second=119 amount=-2 +kerning first=55 second=109 amount=-3 +kerning first=55 second=118 amount=-2 +kerning first=55 second=122 amount=-4 +kerning first=55 second=97 amount=-3 +kerning first=55 second=110 amount=-3 +kerning first=55 second=111 amount=-4 +kerning first=55 second=114 amount=-3 +kerning first=55 second=120 amount=-3 +kerning first=55 second=99 amount=-4 +kerning first=55 second=101 amount=-4 +kerning first=55 second=115 amount=-4 +kerning first=55 second=117 amount=-3 +kerning first=55 second=58 amount=-4 +kerning first=55 second=35 amount=-3 +kerning first=55 second=39 amount=1 +kerning first=55 second=44 amount=-5 +kerning first=55 second=46 amount=-6 +kerning first=55 second=45 amount=-4 +kerning first=66 second=72 amount=1 +kerning first=66 second=89 amount=-1 +kerning first=66 second=90 amount=-1 +kerning first=66 second=65 amount=-1 +kerning first=66 second=53 amount=-1 +kerning first=66 second=71 amount=1 +kerning first=66 second=51 amount=-2 +kerning first=66 second=55 amount=-1 +kerning first=66 second=67 amount=1 +kerning first=66 second=57 amount=-1 +kerning first=66 second=56 amount=-1 +kerning first=66 second=49 amount=-3 +kerning first=66 second=40 amount=1 +kerning first=66 second=41 amount=-1 +kerning first=66 second=108 amount=1 +kerning first=66 second=50 amount=-2 +kerning first=66 second=47 amount=-2 +kerning first=66 second=107 amount=1 +kerning first=66 second=105 amount=1 +kerning first=66 second=33 amount=1 +kerning first=66 second=100 amount=1 +kerning first=66 second=113 amount=1 +kerning first=66 second=103 amount=1 +kerning first=66 second=116 amount=1 +kerning first=66 second=119 amount=1 +kerning first=66 second=122 amount=-1 +kerning first=66 second=110 amount=1 +kerning first=66 second=111 amount=1 +kerning first=66 second=114 amount=1 +kerning first=66 second=99 amount=1 +kerning first=66 second=101 amount=1 +kerning first=66 second=117 amount=1 +kerning first=66 second=35 amount=1 +kerning first=66 second=44 amount=-3 +kerning first=66 second=46 amount=-2 +kerning first=66 second=45 amount=1 +kerning first=67 second=106 amount=1 +kerning first=67 second=81 amount=1 +kerning first=67 second=88 amount=-1 +kerning first=67 second=89 amount=-1 +kerning first=67 second=52 amount=1 +kerning first=67 second=71 amount=1 +kerning first=67 second=79 amount=1 +kerning first=67 second=83 amount=1 +kerning first=67 second=85 amount=1 +kerning first=67 second=51 amount=-1 +kerning first=67 second=55 amount=-1 +kerning first=67 second=66 amount=1 +kerning first=67 second=67 amount=1 +kerning first=67 second=80 amount=1 +kerning first=67 second=104 amount=1 +kerning first=67 second=74 amount=1 +kerning first=67 second=102 amount=1 +kerning first=67 second=56 amount=-1 +kerning first=67 second=69 amount=1 +kerning first=67 second=93 amount=-1 +kerning first=67 second=49 amount=-2 +kerning first=67 second=40 amount=1 +kerning first=67 second=108 amount=1 +kerning first=67 second=64 amount=1 +kerning first=67 second=50 amount=-1 +kerning first=67 second=47 amount=-1 +kerning first=67 second=92 amount=-1 +kerning first=67 second=107 amount=1 +kerning first=67 second=73 amount=1 +kerning first=67 second=105 amount=1 +kerning first=67 second=33 amount=1 +kerning first=67 second=121 amount=1 +kerning first=67 second=98 amount=1 +kerning first=67 second=100 amount=1 +kerning first=67 second=112 amount=1 +kerning first=67 second=113 amount=1 +kerning first=67 second=103 amount=1 +kerning first=67 second=116 amount=1 +kerning first=67 second=119 amount=2 +kerning first=67 second=109 amount=1 +kerning first=67 second=118 amount=2 +kerning first=67 second=97 amount=1 +kerning first=67 second=110 amount=1 +kerning first=67 second=111 amount=1 +kerning first=67 second=114 amount=1 +kerning first=67 second=120 amount=1 +kerning first=67 second=99 amount=1 +kerning first=67 second=101 amount=1 +kerning first=67 second=117 amount=1 +kerning first=67 second=35 amount=1 +kerning first=67 second=34 amount=1 +kerning first=67 second=39 amount=1 +kerning first=67 second=44 amount=-1 +kerning first=68 second=106 amount=1 +kerning first=68 second=87 amount=1 +kerning first=68 second=90 amount=-1 +kerning first=68 second=65 amount=-2 +kerning first=68 second=75 amount=1 +kerning first=68 second=52 amount=-1 +kerning first=68 second=86 amount=1 +kerning first=68 second=53 amount=-1 +kerning first=68 second=84 amount=1 +kerning first=68 second=85 amount=1 +kerning first=68 second=66 amount=1 +kerning first=68 second=67 amount=1 +kerning first=68 second=80 amount=1 +kerning first=68 second=104 amount=1 +kerning first=68 second=54 amount=-1 +kerning first=68 second=74 amount=-1 +kerning first=68 second=102 amount=1 +kerning first=68 second=63 amount=1 +kerning first=68 second=49 amount=-2 +kerning first=68 second=40 amount=1 +kerning first=68 second=108 amount=1 +kerning first=68 second=64 amount=-1 +kerning first=68 second=82 amount=1 +kerning first=68 second=50 amount=-1 +kerning first=68 second=47 amount=-3 +kerning first=68 second=107 amount=1 +kerning first=68 second=73 amount=1 +kerning first=68 second=105 amount=1 +kerning first=68 second=33 amount=1 +kerning first=68 second=121 amount=1 +kerning first=68 second=98 amount=1 +kerning first=68 second=112 amount=1 +kerning first=68 second=116 amount=1 +kerning first=68 second=119 amount=1 +kerning first=68 second=118 amount=1 +kerning first=68 second=110 amount=1 +kerning first=68 second=114 amount=1 +kerning first=68 second=120 amount=1 +kerning first=68 second=101 amount=-1 +kerning first=68 second=117 amount=1 +kerning first=68 second=34 amount=1 +kerning first=68 second=39 amount=1 +kerning first=68 second=44 amount=-4 +kerning first=68 second=46 amount=-3 +kerning first=80 second=106 amount=1 +kerning first=80 second=87 amount=1 +kerning first=80 second=72 amount=1 +kerning first=80 second=77 amount=1 +kerning first=80 second=88 amount=1 +kerning first=80 second=89 amount=1 +kerning first=80 second=65 amount=-2 +kerning first=80 second=75 amount=1 +kerning first=80 second=52 amount=-2 +kerning first=80 second=78 amount=1 +kerning first=80 second=86 amount=1 +kerning first=80 second=71 amount=1 +kerning first=80 second=79 amount=1 +kerning first=80 second=84 amount=1 +kerning first=80 second=85 amount=1 +kerning first=80 second=66 amount=1 +kerning first=80 second=67 amount=1 +kerning first=80 second=68 amount=1 +kerning first=80 second=80 amount=1 +kerning first=80 second=104 amount=1 +kerning first=80 second=54 amount=-1 +kerning first=80 second=74 amount=-3 +kerning first=80 second=76 amount=1 +kerning first=80 second=63 amount=1 +kerning first=80 second=69 amount=1 +kerning first=80 second=70 amount=1 +kerning first=80 second=93 amount=1 +kerning first=80 second=49 amount=-1 +kerning first=80 second=40 amount=1 +kerning first=80 second=41 amount=1 +kerning first=80 second=108 amount=1 +kerning first=80 second=64 amount=-2 +kerning first=80 second=82 amount=1 +kerning first=80 second=50 amount=-1 +kerning first=80 second=47 amount=-4 +kerning first=80 second=92 amount=1 +kerning first=80 second=107 amount=1 +kerning first=80 second=73 amount=1 +kerning first=80 second=105 amount=1 +kerning first=80 second=33 amount=1 +kerning first=80 second=121 amount=1 +kerning first=80 second=98 amount=1 +kerning first=80 second=100 amount=-1 +kerning first=80 second=113 amount=-1 +kerning first=80 second=103 amount=-1 +kerning first=80 second=116 amount=1 +kerning first=80 second=119 amount=1 +kerning first=80 second=118 amount=1 +kerning first=80 second=122 amount=-1 +kerning first=80 second=111 amount=-1 +kerning first=80 second=99 amount=-1 +kerning first=80 second=101 amount=-1 +kerning first=80 second=115 amount=-1 +kerning first=80 second=58 amount=-1 +kerning first=80 second=34 amount=2 +kerning first=80 second=39 amount=2 +kerning first=80 second=44 amount=-4 +kerning first=80 second=46 amount=-4 +kerning first=80 second=45 amount=-2 +kerning first=104 second=106 amount=1 +kerning first=104 second=52 amount=1 +kerning first=104 second=102 amount=1 +kerning first=104 second=63 amount=-1 +kerning first=104 second=49 amount=-3 +kerning first=104 second=40 amount=1 +kerning first=104 second=108 amount=1 +kerning first=104 second=64 amount=1 +kerning first=104 second=92 amount=-3 +kerning first=104 second=107 amount=1 +kerning first=104 second=105 amount=1 +kerning first=104 second=33 amount=1 +kerning first=104 second=121 amount=1 +kerning first=104 second=98 amount=1 +kerning first=104 second=100 amount=1 +kerning first=104 second=112 amount=1 +kerning first=104 second=113 amount=1 +kerning first=104 second=103 amount=1 +kerning first=104 second=116 amount=1 +kerning first=104 second=59 amount=1 +kerning first=104 second=119 amount=1 +kerning first=104 second=109 amount=1 +kerning first=104 second=118 amount=1 +kerning first=104 second=122 amount=1 +kerning first=104 second=97 amount=1 +kerning first=104 second=110 amount=1 +kerning first=104 second=111 amount=1 +kerning first=104 second=114 amount=1 +kerning first=104 second=120 amount=1 +kerning first=104 second=99 amount=1 +kerning first=104 second=101 amount=1 +kerning first=104 second=115 amount=1 +kerning first=104 second=117 amount=1 +kerning first=104 second=58 amount=1 +kerning first=104 second=35 amount=1 +kerning first=104 second=34 amount=-2 +kerning first=104 second=39 amount=-2 +kerning first=104 second=46 amount=1 +kerning first=104 second=45 amount=1 +kerning first=54 second=106 amount=-1 +kerning first=54 second=87 amount=-1 +kerning first=54 second=81 amount=-1 +kerning first=54 second=72 amount=-1 +kerning first=54 second=77 amount=-1 +kerning first=54 second=88 amount=-2 +kerning first=54 second=89 amount=-2 +kerning first=54 second=90 amount=-1 +kerning first=54 second=65 amount=-2 +kerning first=54 second=75 amount=-1 +kerning first=54 second=78 amount=-1 +kerning first=54 second=86 amount=-1 +kerning first=54 second=79 amount=-1 +kerning first=54 second=83 amount=-1 +kerning first=54 second=66 amount=-1 +kerning first=54 second=68 amount=-1 +kerning first=54 second=80 amount=-1 +kerning first=54 second=104 amount=-1 +kerning first=54 second=74 amount=-1 +kerning first=54 second=76 amount=-1 +kerning first=54 second=102 amount=-1 +kerning first=54 second=69 amount=-1 +kerning first=54 second=70 amount=-1 +kerning first=54 second=93 amount=-1 +kerning first=54 second=40 amount=-1 +kerning first=54 second=41 amount=-1 +kerning first=54 second=64 amount=-1 +kerning first=54 second=82 amount=-1 +kerning first=54 second=47 amount=-2 +kerning first=54 second=92 amount=-2 +kerning first=54 second=73 amount=-1 +kerning first=54 second=121 amount=-1 +kerning first=54 second=98 amount=-1 +kerning first=54 second=100 amount=-1 +kerning first=54 second=112 amount=-1 +kerning first=54 second=113 amount=-1 +kerning first=54 second=59 amount=-1 +kerning first=54 second=109 amount=-1 +kerning first=54 second=118 amount=-1 +kerning first=54 second=122 amount=-2 +kerning first=54 second=97 amount=-1 +kerning first=54 second=110 amount=-1 +kerning first=54 second=114 amount=-1 +kerning first=54 second=120 amount=-1 +kerning first=54 second=101 amount=-1 +kerning first=54 second=115 amount=-1 +kerning first=54 second=58 amount=-2 +kerning first=54 second=35 amount=-1 +kerning first=54 second=44 amount=-2 +kerning first=54 second=46 amount=-1 +kerning first=54 second=45 amount=-1 +kerning first=57 second=87 amount=-1 +kerning first=57 second=81 amount=-1 +kerning first=57 second=77 amount=-1 +kerning first=57 second=88 amount=-2 +kerning first=57 second=89 amount=-2 +kerning first=57 second=90 amount=-1 +kerning first=57 second=65 amount=-2 +kerning first=57 second=75 amount=-1 +kerning first=57 second=78 amount=-1 +kerning first=57 second=86 amount=-2 +kerning first=57 second=79 amount=-1 +kerning first=57 second=83 amount=-1 +kerning first=57 second=84 amount=-1 +kerning first=57 second=85 amount=-1 +kerning first=57 second=66 amount=-1 +kerning first=57 second=68 amount=-1 +kerning first=57 second=80 amount=-1 +kerning first=57 second=104 amount=-1 +kerning first=57 second=74 amount=-1 +kerning first=57 second=76 amount=-1 +kerning first=57 second=63 amount=-1 +kerning first=57 second=69 amount=-1 +kerning first=57 second=70 amount=-1 +kerning first=57 second=93 amount=-2 +kerning first=57 second=41 amount=-2 +kerning first=57 second=64 amount=-1 +kerning first=57 second=82 amount=-1 +kerning first=57 second=47 amount=-2 +kerning first=57 second=92 amount=-2 +kerning first=57 second=73 amount=-1 +kerning first=57 second=98 amount=-1 +kerning first=57 second=100 amount=-1 +kerning first=57 second=116 amount=1 +kerning first=57 second=59 amount=-1 +kerning first=57 second=119 amount=1 +kerning first=57 second=109 amount=-1 +kerning first=57 second=118 amount=1 +kerning first=57 second=122 amount=-1 +kerning first=57 second=101 amount=-1 +kerning first=57 second=115 amount=-1 +kerning first=57 second=58 amount=-1 +kerning first=57 second=34 amount=-1 +kerning first=57 second=44 amount=-3 +kerning first=57 second=46 amount=-2 +kerning first=48 second=87 amount=-1 +kerning first=48 second=77 amount=-1 +kerning first=48 second=88 amount=-1 +kerning first=48 second=89 amount=-2 +kerning first=48 second=90 amount=-1 +kerning first=48 second=65 amount=-2 +kerning first=48 second=75 amount=-1 +kerning first=48 second=78 amount=-1 +kerning first=48 second=86 amount=-1 +kerning first=48 second=84 amount=-1 +kerning first=48 second=85 amount=-1 +kerning first=48 second=66 amount=-1 +kerning first=48 second=68 amount=-1 +kerning first=48 second=80 amount=-1 +kerning first=48 second=104 amount=-1 +kerning first=48 second=74 amount=-1 +kerning first=48 second=76 amount=-1 +kerning first=48 second=63 amount=-1 +kerning first=48 second=69 amount=-1 +kerning first=48 second=70 amount=-1 +kerning first=48 second=93 amount=-2 +kerning first=48 second=41 amount=-1 +kerning first=48 second=64 amount=-1 +kerning first=48 second=82 amount=-1 +kerning first=48 second=47 amount=-1 +kerning first=48 second=92 amount=-2 +kerning first=48 second=73 amount=-1 +kerning first=48 second=116 amount=1 +kerning first=48 second=119 amount=1 +kerning first=48 second=109 amount=-1 +kerning first=48 second=118 amount=1 +kerning first=48 second=122 amount=-1 +kerning first=48 second=115 amount=-1 +kerning first=48 second=58 amount=-1 +kerning first=48 second=34 amount=-1 +kerning first=48 second=39 amount=-1 +kerning first=48 second=44 amount=-2 +kerning first=48 second=46 amount=-1 +kerning first=74 second=106 amount=1 +kerning first=74 second=87 amount=1 +kerning first=74 second=72 amount=1 +kerning first=74 second=77 amount=1 +kerning first=74 second=88 amount=1 +kerning first=74 second=89 amount=1 +kerning first=74 second=75 amount=1 +kerning first=74 second=78 amount=1 +kerning first=74 second=86 amount=1 +kerning first=74 second=71 amount=1 +kerning first=74 second=84 amount=1 +kerning first=74 second=85 amount=1 +kerning first=74 second=51 amount=-1 +kerning first=74 second=66 amount=1 +kerning first=74 second=67 amount=1 +kerning first=74 second=68 amount=1 +kerning first=74 second=80 amount=1 +kerning first=74 second=104 amount=1 +kerning first=74 second=54 amount=-1 +kerning first=74 second=57 amount=-1 +kerning first=74 second=76 amount=1 +kerning first=74 second=102 amount=1 +kerning first=74 second=56 amount=-1 +kerning first=74 second=63 amount=1 +kerning first=74 second=69 amount=1 +kerning first=74 second=93 amount=1 +kerning first=74 second=49 amount=-2 +kerning first=74 second=41 amount=1 +kerning first=74 second=108 amount=1 +kerning first=74 second=82 amount=1 +kerning first=74 second=92 amount=1 +kerning first=74 second=107 amount=1 +kerning first=74 second=73 amount=1 +kerning first=74 second=105 amount=1 +kerning first=74 second=33 amount=1 +kerning first=74 second=121 amount=1 +kerning first=74 second=98 amount=1 +kerning first=74 second=116 amount=1 +kerning first=74 second=119 amount=1 +kerning first=74 second=118 amount=1 +kerning first=74 second=97 amount=1 +kerning first=74 second=111 amount=1 +kerning first=74 second=114 amount=1 +kerning first=74 second=120 amount=1 +kerning first=74 second=115 amount=1 +kerning first=74 second=34 amount=1 +kerning first=74 second=39 amount=1 +kerning first=76 second=106 amount=1 +kerning first=76 second=87 amount=-2 +kerning first=76 second=88 amount=1 +kerning first=76 second=89 amount=-3 +kerning first=76 second=90 amount=1 +kerning first=76 second=52 amount=-1 +kerning first=76 second=86 amount=-2 +kerning first=76 second=53 amount=1 +kerning first=76 second=83 amount=1 +kerning first=76 second=84 amount=-2 +kerning first=76 second=67 amount=1 +kerning first=76 second=104 amount=1 +kerning first=76 second=54 amount=-1 +kerning first=76 second=102 amount=-1 +kerning first=76 second=63 amount=-2 +kerning first=76 second=49 amount=-3 +kerning first=76 second=41 amount=1 +kerning first=76 second=108 amount=1 +kerning first=76 second=47 amount=1 +kerning first=76 second=92 amount=-4 +kerning first=76 second=107 amount=1 +kerning first=76 second=105 amount=1 +kerning first=76 second=33 amount=1 +kerning first=76 second=121 amount=-1 +kerning first=76 second=98 amount=1 +kerning first=76 second=100 amount=1 +kerning first=76 second=112 amount=1 +kerning first=76 second=113 amount=1 +kerning first=76 second=103 amount=1 +kerning first=76 second=116 amount=-1 +kerning first=76 second=59 amount=1 +kerning first=76 second=122 amount=1 +kerning first=76 second=97 amount=1 +kerning first=76 second=110 amount=1 +kerning first=76 second=111 amount=1 +kerning first=76 second=114 amount=1 +kerning first=76 second=120 amount=1 +kerning first=76 second=99 amount=1 +kerning first=76 second=101 amount=1 +kerning first=76 second=115 amount=1 +kerning first=76 second=117 amount=1 +kerning first=76 second=58 amount=1 +kerning first=76 second=35 amount=-4 +kerning first=76 second=34 amount=-3 +kerning first=76 second=39 amount=-3 +kerning first=76 second=44 amount=1 +kerning first=76 second=46 amount=1 +kerning first=76 second=45 amount=-4 +kerning first=102 second=106 amount=2 +kerning first=102 second=53 amount=1 +kerning first=102 second=55 amount=-1 +kerning first=102 second=104 amount=1 +kerning first=102 second=54 amount=1 +kerning first=102 second=57 amount=1 +kerning first=102 second=48 amount=1 +kerning first=102 second=102 amount=2 +kerning first=102 second=93 amount=1 +kerning first=102 second=49 amount=-2 +kerning first=102 second=40 amount=2 +kerning first=102 second=41 amount=1 +kerning first=102 second=108 amount=2 +kerning first=102 second=50 amount=-1 +kerning first=102 second=47 amount=-1 +kerning first=102 second=92 amount=1 +kerning first=102 second=107 amount=2 +kerning first=102 second=105 amount=2 +kerning first=102 second=33 amount=2 +kerning first=102 second=121 amount=2 +kerning first=102 second=98 amount=1 +kerning first=102 second=100 amount=1 +kerning first=102 second=112 amount=2 +kerning first=102 second=113 amount=1 +kerning first=102 second=103 amount=1 +kerning first=102 second=116 amount=2 +kerning first=102 second=59 amount=1 +kerning first=102 second=119 amount=3 +kerning first=102 second=109 amount=1 +kerning first=102 second=118 amount=3 +kerning first=102 second=122 amount=1 +kerning first=102 second=97 amount=2 +kerning first=102 second=110 amount=2 +kerning first=102 second=111 amount=1 +kerning first=102 second=114 amount=2 +kerning first=102 second=120 amount=2 +kerning first=102 second=99 amount=1 +kerning first=102 second=101 amount=1 +kerning first=102 second=115 amount=1 +kerning first=102 second=117 amount=2 +kerning first=102 second=58 amount=1 +kerning first=102 second=35 amount=2 +kerning first=102 second=34 amount=2 +kerning first=102 second=39 amount=2 +kerning first=102 second=46 amount=-1 +kerning first=102 second=45 amount=-2 +kerning first=56 second=106 amount=-1 +kerning first=56 second=87 amount=-1 +kerning first=56 second=81 amount=-1 +kerning first=56 second=72 amount=-2 +kerning first=56 second=77 amount=-2 +kerning first=56 second=88 amount=-1 +kerning first=56 second=89 amount=-2 +kerning first=56 second=90 amount=-1 +kerning first=56 second=65 amount=-2 +kerning first=56 second=75 amount=-1 +kerning first=56 second=78 amount=-2 +kerning first=56 second=86 amount=-1 +kerning first=56 second=71 amount=-1 +kerning first=56 second=79 amount=-1 +kerning first=56 second=83 amount=-1 +kerning first=56 second=84 amount=-1 +kerning first=56 second=85 amount=-1 +kerning first=56 second=66 amount=-1 +kerning first=56 second=67 amount=-1 +kerning first=56 second=68 amount=-2 +kerning first=56 second=80 amount=-1 +kerning first=56 second=104 amount=-1 +kerning first=56 second=74 amount=-1 +kerning first=56 second=76 amount=-2 +kerning first=56 second=102 amount=-2 +kerning first=56 second=63 amount=-1 +kerning first=56 second=69 amount=-1 +kerning first=56 second=70 amount=-2 +kerning first=56 second=93 amount=-1 +kerning first=56 second=40 amount=-1 +kerning first=56 second=41 amount=-2 +kerning first=56 second=108 amount=-1 +kerning first=56 second=64 amount=-1 +kerning first=56 second=82 amount=-1 +kerning first=56 second=47 amount=-2 +kerning first=56 second=92 amount=-1 +kerning first=56 second=107 amount=-1 +kerning first=56 second=73 amount=-1 +kerning first=56 second=105 amount=-1 +kerning first=56 second=33 amount=-1 +kerning first=56 second=121 amount=-1 +kerning first=56 second=98 amount=-1 +kerning first=56 second=100 amount=-1 +kerning first=56 second=112 amount=-1 +kerning first=56 second=113 amount=-1 +kerning first=56 second=103 amount=-1 +kerning first=56 second=116 amount=-2 +kerning first=56 second=59 amount=-2 +kerning first=56 second=119 amount=-1 +kerning first=56 second=109 amount=-1 +kerning first=56 second=118 amount=-1 +kerning first=56 second=122 amount=-2 +kerning first=56 second=97 amount=-1 +kerning first=56 second=110 amount=-1 +kerning first=56 second=111 amount=-1 +kerning first=56 second=114 amount=-1 +kerning first=56 second=120 amount=-2 +kerning first=56 second=99 amount=-1 +kerning first=56 second=101 amount=-1 +kerning first=56 second=115 amount=-1 +kerning first=56 second=117 amount=-1 +kerning first=56 second=58 amount=-2 +kerning first=56 second=35 amount=-2 +kerning first=56 second=34 amount=-1 +kerning first=56 second=39 amount=-1 +kerning first=56 second=44 amount=-3 +kerning first=56 second=46 amount=-2 +kerning first=56 second=45 amount=-1 +kerning first=63 second=87 amount=1 +kerning first=63 second=88 amount=1 +kerning first=63 second=90 amount=-1 +kerning first=63 second=65 amount=-2 +kerning first=63 second=75 amount=1 +kerning first=63 second=52 amount=-2 +kerning first=63 second=86 amount=1 +kerning first=63 second=53 amount=-1 +kerning first=63 second=84 amount=1 +kerning first=63 second=85 amount=1 +kerning first=63 second=51 amount=-1 +kerning first=63 second=66 amount=1 +kerning first=63 second=80 amount=1 +kerning first=63 second=54 amount=-1 +kerning first=63 second=57 amount=-1 +kerning first=63 second=48 amount=-1 +kerning first=63 second=74 amount=-2 +kerning first=63 second=102 amount=-1 +kerning first=63 second=56 amount=-1 +kerning first=63 second=63 amount=1 +kerning first=63 second=49 amount=-2 +kerning first=63 second=108 amount=1 +kerning first=63 second=64 amount=-3 +kerning first=63 second=82 amount=1 +kerning first=63 second=50 amount=-1 +kerning first=63 second=47 amount=-2 +kerning first=63 second=107 amount=1 +kerning first=63 second=73 amount=1 +kerning first=63 second=105 amount=1 +kerning first=63 second=33 amount=1 +kerning first=63 second=98 amount=1 +kerning first=63 second=100 amount=-2 +kerning first=63 second=113 amount=-1 +kerning first=63 second=103 amount=-1 +kerning first=63 second=59 amount=-1 +kerning first=63 second=119 amount=1 +kerning first=63 second=118 amount=1 +kerning first=63 second=122 amount=-1 +kerning first=63 second=97 amount=-1 +kerning first=63 second=111 amount=-1 +kerning first=63 second=99 amount=-2 +kerning first=63 second=101 amount=-2 +kerning first=63 second=115 amount=-2 +kerning first=63 second=58 amount=-1 +kerning first=63 second=35 amount=-1 +kerning first=63 second=34 amount=1 +kerning first=63 second=39 amount=1 +kerning first=63 second=44 amount=-1 +kerning first=63 second=46 amount=-1 +kerning first=63 second=45 amount=-2 +kerning first=69 second=87 amount=1 +kerning first=69 second=81 amount=-1 +kerning first=69 second=88 amount=1 +kerning first=69 second=90 amount=1 +kerning first=69 second=75 amount=1 +kerning first=69 second=52 amount=-1 +kerning first=69 second=86 amount=1 +kerning first=69 second=85 amount=1 +kerning first=69 second=51 amount=-1 +kerning first=69 second=66 amount=1 +kerning first=69 second=80 amount=1 +kerning first=69 second=54 amount=-1 +kerning first=69 second=57 amount=-1 +kerning first=69 second=48 amount=-1 +kerning first=69 second=74 amount=-1 +kerning first=69 second=76 amount=1 +kerning first=69 second=102 amount=-1 +kerning first=69 second=56 amount=-1 +kerning first=69 second=63 amount=-1 +kerning first=69 second=93 amount=1 +kerning first=69 second=49 amount=-2 +kerning first=69 second=41 amount=1 +kerning first=69 second=108 amount=1 +kerning first=69 second=64 amount=-1 +kerning first=69 second=82 amount=1 +kerning first=69 second=92 amount=1 +kerning first=69 second=107 amount=1 +kerning first=69 second=73 amount=1 +kerning first=69 second=105 amount=1 +kerning first=69 second=33 amount=1 +kerning first=69 second=121 amount=-1 +kerning first=69 second=98 amount=1 +kerning first=69 second=118 amount=-1 +kerning first=69 second=97 amount=1 +kerning first=69 second=120 amount=1 +kerning first=69 second=35 amount=-1 +kerning first=69 second=34 amount=1 +kerning first=69 second=39 amount=1 +kerning first=69 second=46 amount=1 +kerning first=70 second=87 amount=1 +kerning first=70 second=88 amount=1 +kerning first=70 second=90 amount=-1 +kerning first=70 second=65 amount=-2 +kerning first=70 second=75 amount=1 +kerning first=70 second=86 amount=1 +kerning first=70 second=53 amount=-1 +kerning first=70 second=83 amount=-1 +kerning first=70 second=85 amount=1 +kerning first=70 second=51 amount=-2 +kerning first=70 second=66 amount=1 +kerning first=70 second=80 amount=1 +kerning first=70 second=54 amount=-1 +kerning first=70 second=57 amount=-1 +kerning first=70 second=48 amount=-1 +kerning first=70 second=74 amount=-2 +kerning first=70 second=76 amount=1 +kerning first=70 second=56 amount=-1 +kerning first=70 second=63 amount=-1 +kerning first=70 second=93 amount=1 +kerning first=70 second=49 amount=-2 +kerning first=70 second=41 amount=1 +kerning first=70 second=108 amount=1 +kerning first=70 second=64 amount=-1 +kerning first=70 second=82 amount=1 +kerning first=70 second=50 amount=-3 +kerning first=70 second=47 amount=-3 +kerning first=70 second=92 amount=1 +kerning first=70 second=107 amount=1 +kerning first=70 second=73 amount=1 +kerning first=70 second=105 amount=1 +kerning first=70 second=33 amount=1 +kerning first=70 second=98 amount=1 +kerning first=70 second=59 amount=-1 +kerning first=70 second=109 amount=-1 +kerning first=70 second=122 amount=-2 +kerning first=70 second=120 amount=-1 +kerning first=70 second=58 amount=-1 +kerning first=70 second=34 amount=1 +kerning first=70 second=39 amount=1 +kerning first=70 second=44 amount=-3 +kerning first=70 second=46 amount=-3 +kerning first=93 second=106 amount=1 +kerning first=93 second=88 amount=1 +kerning first=93 second=90 amount=1 +kerning first=93 second=65 amount=1 +kerning first=93 second=75 amount=1 +kerning first=93 second=78 amount=1 +kerning first=93 second=86 amount=1 +kerning first=93 second=83 amount=1 +kerning first=93 second=55 amount=1 +kerning first=93 second=66 amount=1 +kerning first=93 second=67 amount=1 +kerning first=93 second=80 amount=1 +kerning first=93 second=104 amount=1 +kerning first=93 second=54 amount=-1 +kerning first=93 second=56 amount=-1 +kerning first=93 second=69 amount=1 +kerning first=93 second=70 amount=1 +kerning first=93 second=49 amount=-3 +kerning first=93 second=41 amount=1 +kerning first=93 second=108 amount=1 +kerning first=93 second=82 amount=1 +kerning first=93 second=50 amount=1 +kerning first=93 second=47 amount=1 +kerning first=93 second=107 amount=1 +kerning first=93 second=73 amount=1 +kerning first=93 second=105 amount=1 +kerning first=93 second=33 amount=1 +kerning first=93 second=121 amount=1 +kerning first=93 second=98 amount=1 +kerning first=93 second=112 amount=1 +kerning first=93 second=103 amount=1 +kerning first=93 second=116 amount=1 +kerning first=93 second=59 amount=1 +kerning first=93 second=119 amount=1 +kerning first=93 second=118 amount=1 +kerning first=93 second=122 amount=1 +kerning first=93 second=97 amount=1 +kerning first=93 second=110 amount=1 +kerning first=93 second=111 amount=1 +kerning first=93 second=114 amount=1 +kerning first=93 second=120 amount=2 +kerning first=93 second=99 amount=1 +kerning first=93 second=115 amount=1 +kerning first=93 second=117 amount=1 +kerning first=93 second=58 amount=1 +kerning first=93 second=34 amount=1 +kerning first=93 second=39 amount=1 +kerning first=93 second=44 amount=1 +kerning first=93 second=46 amount=1 +kerning first=123 second=32 amount=1 +kerning first=125 second=112 amount=1 +kerning first=125 second=109 amount=1 +kerning first=125 second=110 amount=1 +kerning first=125 second=111 amount=1 +kerning first=49 second=106 amount=-3 +kerning first=49 second=87 amount=-3 +kerning first=49 second=81 amount=-4 +kerning first=49 second=72 amount=-4 +kerning first=49 second=77 amount=-4 +kerning first=49 second=88 amount=-3 +kerning first=49 second=89 amount=-4 +kerning first=49 second=90 amount=-3 +kerning first=49 second=65 amount=-3 +kerning first=49 second=75 amount=-3 +kerning first=49 second=78 amount=-3 +kerning first=49 second=86 amount=-3 +kerning first=49 second=71 amount=-4 +kerning first=49 second=79 amount=-4 +kerning first=49 second=83 amount=-3 +kerning first=49 second=84 amount=-4 +kerning first=49 second=85 amount=-4 +kerning first=49 second=66 amount=-3 +kerning first=49 second=67 amount=-4 +kerning first=49 second=68 amount=-4 +kerning first=49 second=80 amount=-3 +kerning first=49 second=104 amount=-3 +kerning first=49 second=74 amount=-4 +kerning first=49 second=76 amount=-3 +kerning first=49 second=102 amount=-4 +kerning first=49 second=63 amount=-4 +kerning first=49 second=69 amount=-3 +kerning first=49 second=70 amount=-3 +kerning first=49 second=93 amount=-4 +kerning first=49 second=40 amount=-4 +kerning first=49 second=41 amount=-3 +kerning first=49 second=108 amount=-3 +kerning first=49 second=64 amount=-4 +kerning first=49 second=82 amount=-3 +kerning first=49 second=47 amount=-3 +kerning first=49 second=92 amount=-4 +kerning first=49 second=107 amount=-3 +kerning first=49 second=73 amount=-3 +kerning first=49 second=105 amount=-3 +kerning first=49 second=33 amount=-3 +kerning first=49 second=121 amount=-3 +kerning first=49 second=98 amount=-3 +kerning first=49 second=100 amount=-4 +kerning first=49 second=112 amount=-3 +kerning first=49 second=113 amount=-4 +kerning first=49 second=103 amount=-3 +kerning first=49 second=116 amount=-3 +kerning first=49 second=59 amount=-3 +kerning first=49 second=119 amount=-3 +kerning first=49 second=109 amount=-4 +kerning first=49 second=118 amount=-3 +kerning first=49 second=122 amount=-3 +kerning first=49 second=97 amount=-3 +kerning first=49 second=110 amount=-3 +kerning first=49 second=111 amount=-3 +kerning first=49 second=114 amount=-3 +kerning first=49 second=120 amount=-2 +kerning first=49 second=99 amount=-3 +kerning first=49 second=101 amount=-4 +kerning first=49 second=115 amount=-3 +kerning first=49 second=117 amount=-3 +kerning first=49 second=58 amount=-3 +kerning first=49 second=35 amount=-4 +kerning first=49 second=34 amount=-3 +kerning first=49 second=39 amount=-3 +kerning first=49 second=44 amount=-3 +kerning first=49 second=46 amount=-3 +kerning first=49 second=45 amount=-4 +kerning first=40 second=106 amount=1 +kerning first=40 second=87 amount=1 +kerning first=40 second=81 amount=-1 +kerning first=40 second=88 amount=1 +kerning first=40 second=89 amount=1 +kerning first=40 second=90 amount=1 +kerning first=40 second=65 amount=1 +kerning first=40 second=75 amount=1 +kerning first=40 second=52 amount=-1 +kerning first=40 second=78 amount=1 +kerning first=40 second=86 amount=1 +kerning first=40 second=85 amount=1 +kerning first=40 second=51 amount=-1 +kerning first=40 second=66 amount=1 +kerning first=40 second=68 amount=1 +kerning first=40 second=80 amount=1 +kerning first=40 second=104 amount=1 +kerning first=40 second=54 amount=-2 +kerning first=40 second=57 amount=-1 +kerning first=40 second=48 amount=-1 +kerning first=40 second=74 amount=-1 +kerning first=40 second=76 amount=1 +kerning first=40 second=56 amount=-1 +kerning first=40 second=69 amount=1 +kerning first=40 second=93 amount=1 +kerning first=40 second=49 amount=-2 +kerning first=40 second=41 amount=1 +kerning first=40 second=108 amount=1 +kerning first=40 second=64 amount=-1 +kerning first=40 second=82 amount=1 +kerning first=40 second=47 amount=1 +kerning first=40 second=92 amount=1 +kerning first=40 second=107 amount=1 +kerning first=40 second=73 amount=1 +kerning first=40 second=105 amount=1 +kerning first=40 second=33 amount=1 +kerning first=40 second=98 amount=1 +kerning first=40 second=112 amount=1 +kerning first=40 second=59 amount=1 +kerning first=40 second=122 amount=1 +kerning first=40 second=97 amount=1 +kerning first=40 second=110 amount=1 +kerning first=40 second=114 amount=1 +kerning first=40 second=120 amount=1 +kerning first=40 second=58 amount=1 +kerning first=40 second=35 amount=-1 +kerning first=40 second=34 amount=1 +kerning first=40 second=39 amount=1 +kerning first=40 second=44 amount=1 +kerning first=40 second=46 amount=1 +kerning first=40 second=45 amount=-1 +kerning first=41 second=106 amount=1 +kerning first=41 second=81 amount=1 +kerning first=41 second=72 amount=1 +kerning first=41 second=52 amount=1 +kerning first=41 second=71 amount=1 +kerning first=41 second=79 amount=1 +kerning first=41 second=83 amount=1 +kerning first=41 second=85 amount=1 +kerning first=41 second=55 amount=-1 +kerning first=41 second=66 amount=1 +kerning first=41 second=67 amount=1 +kerning first=41 second=80 amount=1 +kerning first=41 second=104 amount=1 +kerning first=41 second=74 amount=1 +kerning first=41 second=102 amount=1 +kerning first=41 second=56 amount=-1 +kerning first=41 second=63 amount=1 +kerning first=41 second=69 amount=1 +kerning first=41 second=49 amount=-2 +kerning first=41 second=40 amount=1 +kerning first=41 second=108 amount=1 +kerning first=41 second=50 amount=-1 +kerning first=41 second=107 amount=1 +kerning first=41 second=73 amount=1 +kerning first=41 second=105 amount=1 +kerning first=41 second=33 amount=1 +kerning first=41 second=121 amount=1 +kerning first=41 second=98 amount=1 +kerning first=41 second=100 amount=1 +kerning first=41 second=112 amount=1 +kerning first=41 second=113 amount=1 +kerning first=41 second=103 amount=1 +kerning first=41 second=116 amount=2 +kerning first=41 second=59 amount=1 +kerning first=41 second=119 amount=2 +kerning first=41 second=109 amount=1 +kerning first=41 second=118 amount=2 +kerning first=41 second=97 amount=1 +kerning first=41 second=110 amount=1 +kerning first=41 second=111 amount=1 +kerning first=41 second=114 amount=1 +kerning first=41 second=120 amount=1 +kerning first=41 second=99 amount=1 +kerning first=41 second=101 amount=1 +kerning first=41 second=115 amount=1 +kerning first=41 second=117 amount=1 +kerning first=41 second=35 amount=1 +kerning first=41 second=34 amount=1 +kerning first=41 second=39 amount=1 +kerning first=41 second=44 amount=-1 +kerning first=41 second=45 amount=1 +kerning first=108 second=106 amount=1 +kerning first=108 second=104 amount=1 +kerning first=108 second=102 amount=1 +kerning first=108 second=63 amount=1 +kerning first=108 second=93 amount=1 +kerning first=108 second=49 amount=-2 +kerning first=108 second=40 amount=1 +kerning first=108 second=41 amount=1 +kerning first=108 second=108 amount=1 +kerning first=108 second=50 amount=1 +kerning first=108 second=47 amount=1 +kerning first=108 second=92 amount=1 +kerning first=108 second=107 amount=1 +kerning first=108 second=105 amount=1 +kerning first=108 second=33 amount=1 +kerning first=108 second=121 amount=1 +kerning first=108 second=98 amount=1 +kerning first=108 second=100 amount=1 +kerning first=108 second=112 amount=1 +kerning first=108 second=113 amount=1 +kerning first=108 second=103 amount=1 +kerning first=108 second=116 amount=2 +kerning first=108 second=59 amount=2 +kerning first=108 second=119 amount=2 +kerning first=108 second=118 amount=2 +kerning first=108 second=122 amount=1 +kerning first=108 second=97 amount=1 +kerning first=108 second=110 amount=1 +kerning first=108 second=111 amount=1 +kerning first=108 second=114 amount=1 +kerning first=108 second=120 amount=1 +kerning first=108 second=99 amount=1 +kerning first=108 second=101 amount=1 +kerning first=108 second=115 amount=1 +kerning first=108 second=117 amount=1 +kerning first=108 second=58 amount=1 +kerning first=108 second=35 amount=1 +kerning first=108 second=34 amount=1 +kerning first=108 second=39 amount=1 +kerning first=108 second=44 amount=1 +kerning first=108 second=46 amount=1 +kerning first=108 second=45 amount=1 +kerning first=64 second=106 amount=1 +kerning first=64 second=87 amount=-1 +kerning first=64 second=81 amount=1 +kerning first=64 second=72 amount=1 +kerning first=64 second=88 amount=-2 +kerning first=64 second=89 amount=-2 +kerning first=64 second=90 amount=-1 +kerning first=64 second=65 amount=-1 +kerning first=64 second=52 amount=1 +kerning first=64 second=86 amount=-1 +kerning first=64 second=71 amount=1 +kerning first=64 second=79 amount=1 +kerning first=64 second=84 amount=-2 +kerning first=64 second=51 amount=-2 +kerning first=64 second=55 amount=-2 +kerning first=64 second=67 amount=1 +kerning first=64 second=57 amount=-1 +kerning first=64 second=74 amount=1 +kerning first=64 second=102 amount=1 +kerning first=64 second=56 amount=-1 +kerning first=64 second=63 amount=-1 +kerning first=64 second=93 amount=-3 +kerning first=64 second=49 amount=-4 +kerning first=64 second=40 amount=1 +kerning first=64 second=41 amount=-1 +kerning first=64 second=108 amount=1 +kerning first=64 second=50 amount=-3 +kerning first=64 second=47 amount=-1 +kerning first=64 second=92 amount=-3 +kerning first=64 second=107 amount=1 +kerning first=64 second=105 amount=1 +kerning first=64 second=33 amount=1 +kerning first=64 second=121 amount=1 +kerning first=64 second=100 amount=1 +kerning first=64 second=113 amount=1 +kerning first=64 second=103 amount=1 +kerning first=64 second=116 amount=1 +kerning first=64 second=119 amount=1 +kerning first=64 second=118 amount=1 +kerning first=64 second=122 amount=-1 +kerning first=64 second=97 amount=1 +kerning first=64 second=110 amount=1 +kerning first=64 second=111 amount=1 +kerning first=64 second=114 amount=1 +kerning first=64 second=99 amount=1 +kerning first=64 second=101 amount=1 +kerning first=64 second=117 amount=1 +kerning first=64 second=35 amount=1 +kerning first=64 second=34 amount=-2 +kerning first=64 second=39 amount=-2 +kerning first=64 second=44 amount=-3 +kerning first=64 second=46 amount=-2 +kerning first=64 second=45 amount=1 +kerning first=82 second=106 amount=1 +kerning first=82 second=72 amount=1 +kerning first=82 second=77 amount=1 +kerning first=82 second=88 amount=2 +kerning first=82 second=89 amount=-1 +kerning first=82 second=90 amount=2 +kerning first=82 second=65 amount=1 +kerning first=82 second=75 amount=1 +kerning first=82 second=52 amount=-3 +kerning first=82 second=78 amount=1 +kerning first=82 second=53 amount=1 +kerning first=82 second=55 amount=1 +kerning first=82 second=66 amount=1 +kerning first=82 second=67 amount=1 +kerning first=82 second=68 amount=1 +kerning first=82 second=80 amount=1 +kerning first=82 second=104 amount=1 +kerning first=82 second=54 amount=-1 +kerning first=82 second=57 amount=-1 +kerning first=82 second=74 amount=-1 +kerning first=82 second=76 amount=1 +kerning first=82 second=63 amount=-1 +kerning first=82 second=69 amount=1 +kerning first=82 second=70 amount=1 +kerning first=82 second=93 amount=1 +kerning first=82 second=49 amount=-2 +kerning first=82 second=40 amount=1 +kerning first=82 second=41 amount=1 +kerning first=82 second=108 amount=2 +kerning first=82 second=82 amount=1 +kerning first=82 second=50 amount=1 +kerning first=82 second=47 amount=1 +kerning first=82 second=107 amount=1 +kerning first=82 second=73 amount=1 +kerning first=82 second=105 amount=1 +kerning first=82 second=33 amount=1 +kerning first=82 second=121 amount=-1 +kerning first=82 second=98 amount=1 +kerning first=82 second=100 amount=1 +kerning first=82 second=112 amount=1 +kerning first=82 second=113 amount=1 +kerning first=82 second=103 amount=1 +kerning first=82 second=59 amount=1 +kerning first=82 second=122 amount=1 +kerning first=82 second=97 amount=2 +kerning first=82 second=110 amount=1 +kerning first=82 second=111 amount=1 +kerning first=82 second=114 amount=1 +kerning first=82 second=120 amount=2 +kerning first=82 second=99 amount=1 +kerning first=82 second=101 amount=1 +kerning first=82 second=115 amount=1 +kerning first=82 second=117 amount=1 +kerning first=82 second=58 amount=1 +kerning first=82 second=35 amount=-3 +kerning first=82 second=44 amount=2 +kerning first=82 second=46 amount=2 +kerning first=82 second=45 amount=-4 +kerning first=50 second=106 amount=1 +kerning first=50 second=81 amount=-1 +kerning first=50 second=88 amount=1 +kerning first=50 second=90 amount=1 +kerning first=50 second=74 amount=-1 +kerning first=50 second=41 amount=1 +kerning first=50 second=108 amount=1 +kerning first=50 second=47 amount=1 +kerning first=50 second=107 amount=1 +kerning first=50 second=105 amount=1 +kerning first=50 second=119 amount=1 +kerning first=50 second=118 amount=1 +kerning first=50 second=122 amount=1 +kerning first=50 second=97 amount=1 +kerning first=50 second=110 amount=1 +kerning first=50 second=120 amount=1 +kerning first=50 second=115 amount=1 +kerning first=50 second=35 amount=-1 +kerning first=50 second=34 amount=1 +kerning first=50 second=39 amount=1 +kerning first=50 second=46 amount=1 +kerning first=50 second=45 amount=-2 +kerning first=47 second=87 amount=1 +kerning first=47 second=81 amount=-2 +kerning first=47 second=88 amount=1 +kerning first=47 second=90 amount=-1 +kerning first=47 second=65 amount=-4 +kerning first=47 second=75 amount=1 +kerning first=47 second=52 amount=-4 +kerning first=47 second=86 amount=1 +kerning first=47 second=53 amount=-1 +kerning first=47 second=71 amount=-1 +kerning first=47 second=79 amount=-1 +kerning first=47 second=83 amount=-1 +kerning first=47 second=51 amount=-2 +kerning first=47 second=55 amount=-1 +kerning first=47 second=66 amount=1 +kerning first=47 second=67 amount=-1 +kerning first=47 second=54 amount=-2 +kerning first=47 second=57 amount=-2 +kerning first=47 second=48 amount=-2 +kerning first=47 second=74 amount=-4 +kerning first=47 second=102 amount=-2 +kerning first=47 second=56 amount=-2 +kerning first=47 second=63 amount=-1 +kerning first=47 second=49 amount=-2 +kerning first=47 second=40 amount=-1 +kerning first=47 second=64 amount=-5 +kerning first=47 second=50 amount=-3 +kerning first=47 second=47 amount=-6 +kerning first=47 second=121 amount=-2 +kerning first=47 second=100 amount=-3 +kerning first=47 second=112 amount=-2 +kerning first=47 second=113 amount=-3 +kerning first=47 second=103 amount=-3 +kerning first=47 second=116 amount=-2 +kerning first=47 second=59 amount=-3 +kerning first=47 second=119 amount=-1 +kerning first=47 second=109 amount=-2 +kerning first=47 second=118 amount=-1 +kerning first=47 second=122 amount=-3 +kerning first=47 second=97 amount=-3 +kerning first=47 second=110 amount=-2 +kerning first=47 second=111 amount=-3 +kerning first=47 second=114 amount=-2 +kerning first=47 second=120 amount=-2 +kerning first=47 second=99 amount=-4 +kerning first=47 second=101 amount=-4 +kerning first=47 second=115 amount=-4 +kerning first=47 second=117 amount=-2 +kerning first=47 second=58 amount=-3 +kerning first=47 second=35 amount=-2 +kerning first=47 second=34 amount=1 +kerning first=47 second=39 amount=1 +kerning first=47 second=44 amount=-4 +kerning first=47 second=46 amount=-5 +kerning first=47 second=45 amount=-4 +kerning first=92 second=87 amount=-3 +kerning first=92 second=81 amount=-1 +kerning first=92 second=88 amount=1 +kerning first=92 second=89 amount=-3 +kerning first=92 second=52 amount=-2 +kerning first=92 second=86 amount=-2 +kerning first=92 second=71 amount=-1 +kerning first=92 second=79 amount=-1 +kerning first=92 second=83 amount=-1 +kerning first=92 second=84 amount=-2 +kerning first=92 second=85 amount=-1 +kerning first=92 second=51 amount=-1 +kerning first=92 second=54 amount=-2 +kerning first=92 second=57 amount=-1 +kerning first=92 second=48 amount=-1 +kerning first=92 second=74 amount=-1 +kerning first=92 second=102 amount=-2 +kerning first=92 second=56 amount=-1 +kerning first=92 second=63 amount=-2 +kerning first=92 second=93 amount=-1 +kerning first=92 second=49 amount=-3 +kerning first=92 second=108 amount=1 +kerning first=92 second=64 amount=-1 +kerning first=92 second=92 amount=-4 +kerning first=92 second=121 amount=-2 +kerning first=92 second=116 amount=-1 +kerning first=92 second=59 amount=1 +kerning first=92 second=118 amount=-1 +kerning first=92 second=122 amount=1 +kerning first=92 second=97 amount=1 +kerning first=92 second=110 amount=1 +kerning first=92 second=114 amount=1 +kerning first=92 second=120 amount=1 +kerning first=92 second=115 amount=1 +kerning first=92 second=58 amount=1 +kerning first=92 second=35 amount=-3 +kerning first=92 second=34 amount=-6 +kerning first=92 second=39 amount=-4 +kerning first=92 second=44 amount=1 +kerning first=92 second=46 amount=1 +kerning first=92 second=45 amount=-2 +kerning first=107 second=106 amount=1 +kerning first=107 second=52 amount=-1 +kerning first=107 second=53 amount=1 +kerning first=107 second=55 amount=1 +kerning first=107 second=104 amount=1 +kerning first=107 second=102 amount=1 +kerning first=107 second=49 amount=-2 +kerning first=107 second=40 amount=1 +kerning first=107 second=41 amount=1 +kerning first=107 second=108 amount=1 +kerning first=107 second=50 amount=1 +kerning first=107 second=47 amount=1 +kerning first=107 second=92 amount=-2 +kerning first=107 second=107 amount=1 +kerning first=107 second=105 amount=1 +kerning first=107 second=33 amount=1 +kerning first=107 second=121 amount=2 +kerning first=107 second=98 amount=1 +kerning first=107 second=100 amount=1 +kerning first=107 second=112 amount=1 +kerning first=107 second=113 amount=1 +kerning first=107 second=103 amount=1 +kerning first=107 second=116 amount=1 +kerning first=107 second=59 amount=2 +kerning first=107 second=119 amount=2 +kerning first=107 second=109 amount=1 +kerning first=107 second=118 amount=2 +kerning first=107 second=122 amount=2 +kerning first=107 second=97 amount=2 +kerning first=107 second=110 amount=2 +kerning first=107 second=111 amount=1 +kerning first=107 second=114 amount=1 +kerning first=107 second=120 amount=2 +kerning first=107 second=99 amount=1 +kerning first=107 second=101 amount=1 +kerning first=107 second=115 amount=2 +kerning first=107 second=117 amount=1 +kerning first=107 second=58 amount=1 +kerning first=107 second=35 amount=1 +kerning first=107 second=34 amount=-1 +kerning first=107 second=39 amount=-1 +kerning first=107 second=44 amount=2 +kerning first=107 second=46 amount=2 +kerning first=107 second=45 amount=-2 +kerning first=73 second=106 amount=1 +kerning first=73 second=87 amount=1 +kerning first=73 second=72 amount=1 +kerning first=73 second=88 amount=1 +kerning first=73 second=90 amount=1 +kerning first=73 second=65 amount=1 +kerning first=73 second=75 amount=1 +kerning first=73 second=86 amount=1 +kerning first=73 second=71 amount=1 +kerning first=73 second=83 amount=1 +kerning first=73 second=85 amount=1 +kerning first=73 second=66 amount=1 +kerning first=73 second=67 amount=1 +kerning first=73 second=80 amount=1 +kerning first=73 second=54 amount=-1 +kerning first=73 second=76 amount=1 +kerning first=73 second=102 amount=1 +kerning first=73 second=56 amount=-1 +kerning first=73 second=93 amount=1 +kerning first=73 second=49 amount=-2 +kerning first=73 second=41 amount=1 +kerning first=73 second=108 amount=1 +kerning first=73 second=82 amount=1 +kerning first=73 second=47 amount=1 +kerning first=73 second=92 amount=1 +kerning first=73 second=107 amount=1 +kerning first=73 second=73 amount=1 +kerning first=73 second=105 amount=1 +kerning first=73 second=33 amount=1 +kerning first=73 second=121 amount=1 +kerning first=73 second=98 amount=1 +kerning first=73 second=112 amount=1 +kerning first=73 second=113 amount=1 +kerning first=73 second=103 amount=1 +kerning first=73 second=116 amount=1 +kerning first=73 second=59 amount=1 +kerning first=73 second=119 amount=1 +kerning first=73 second=118 amount=1 +kerning first=73 second=122 amount=1 +kerning first=73 second=97 amount=1 +kerning first=73 second=110 amount=1 +kerning first=73 second=111 amount=1 +kerning first=73 second=114 amount=1 +kerning first=73 second=120 amount=1 +kerning first=73 second=99 amount=1 +kerning first=73 second=115 amount=1 +kerning first=73 second=117 amount=1 +kerning first=73 second=58 amount=1 +kerning first=73 second=34 amount=1 +kerning first=73 second=39 amount=1 +kerning first=73 second=44 amount=1 +kerning first=73 second=46 amount=1 +kerning first=105 second=106 amount=1 +kerning first=105 second=104 amount=1 +kerning first=105 second=102 amount=1 +kerning first=105 second=63 amount=1 +kerning first=105 second=93 amount=1 +kerning first=105 second=49 amount=-2 +kerning first=105 second=40 amount=1 +kerning first=105 second=41 amount=1 +kerning first=105 second=108 amount=1 +kerning first=105 second=47 amount=1 +kerning first=105 second=92 amount=1 +kerning first=105 second=107 amount=1 +kerning first=105 second=105 amount=1 +kerning first=105 second=33 amount=1 +kerning first=105 second=121 amount=2 +kerning first=105 second=98 amount=1 +kerning first=105 second=100 amount=1 +kerning first=105 second=112 amount=1 +kerning first=105 second=113 amount=1 +kerning first=105 second=103 amount=1 +kerning first=105 second=116 amount=2 +kerning first=105 second=59 amount=2 +kerning first=105 second=119 amount=2 +kerning first=105 second=109 amount=1 +kerning first=105 second=118 amount=2 +kerning first=105 second=122 amount=1 +kerning first=105 second=97 amount=1 +kerning first=105 second=110 amount=1 +kerning first=105 second=111 amount=1 +kerning first=105 second=114 amount=1 +kerning first=105 second=120 amount=1 +kerning first=105 second=99 amount=1 +kerning first=105 second=115 amount=1 +kerning first=105 second=117 amount=1 +kerning first=105 second=58 amount=1 +kerning first=105 second=35 amount=1 +kerning first=105 second=34 amount=1 +kerning first=105 second=39 amount=1 +kerning first=105 second=44 amount=1 +kerning first=105 second=46 amount=1 +kerning first=33 second=106 amount=1 +kerning first=33 second=87 amount=1 +kerning first=33 second=81 amount=1 +kerning first=33 second=72 amount=1 +kerning first=33 second=88 amount=1 +kerning first=33 second=89 amount=1 +kerning first=33 second=90 amount=1 +kerning first=33 second=65 amount=1 +kerning first=33 second=75 amount=1 +kerning first=33 second=52 amount=1 +kerning first=33 second=78 amount=1 +kerning first=33 second=86 amount=1 +kerning first=33 second=53 amount=2 +kerning first=33 second=71 amount=1 +kerning first=33 second=79 amount=1 +kerning first=33 second=83 amount=1 +kerning first=33 second=84 amount=1 +kerning first=33 second=85 amount=1 +kerning first=33 second=66 amount=1 +kerning first=33 second=67 amount=1 +kerning first=33 second=68 amount=1 +kerning first=33 second=80 amount=1 +kerning first=33 second=104 amount=1 +kerning first=33 second=74 amount=1 +kerning first=33 second=76 amount=1 +kerning first=33 second=102 amount=1 +kerning first=33 second=63 amount=1 +kerning first=33 second=69 amount=1 +kerning first=33 second=93 amount=1 +kerning first=33 second=49 amount=-2 +kerning first=33 second=40 amount=1 +kerning first=33 second=41 amount=1 +kerning first=33 second=108 amount=1 +kerning first=33 second=82 amount=1 +kerning first=33 second=47 amount=1 +kerning first=33 second=92 amount=1 +kerning first=33 second=107 amount=1 +kerning first=33 second=73 amount=2 +kerning first=33 second=105 amount=1 +kerning first=33 second=33 amount=1 +kerning first=33 second=121 amount=1 +kerning first=33 second=98 amount=1 +kerning first=33 second=100 amount=1 +kerning first=33 second=112 amount=1 +kerning first=33 second=113 amount=1 +kerning first=33 second=103 amount=1 +kerning first=33 second=116 amount=2 +kerning first=33 second=59 amount=1 +kerning first=33 second=119 amount=2 +kerning first=33 second=118 amount=2 +kerning first=33 second=122 amount=1 +kerning first=33 second=97 amount=1 +kerning first=33 second=110 amount=1 +kerning first=33 second=111 amount=1 +kerning first=33 second=114 amount=1 +kerning first=33 second=120 amount=1 +kerning first=33 second=99 amount=1 +kerning first=33 second=101 amount=1 +kerning first=33 second=115 amount=1 +kerning first=33 second=117 amount=1 +kerning first=33 second=58 amount=1 +kerning first=33 second=35 amount=1 +kerning first=33 second=43 amount=1 +kerning first=33 second=34 amount=1 +kerning first=33 second=39 amount=1 +kerning first=33 second=44 amount=1 +kerning first=33 second=46 amount=1 +kerning first=33 second=45 amount=1 +kerning first=121 second=106 amount=1 +kerning first=121 second=51 amount=-1 +kerning first=121 second=55 amount=-3 +kerning first=121 second=104 amount=1 +kerning first=121 second=102 amount=1 +kerning first=121 second=93 amount=-3 +kerning first=121 second=49 amount=-3 +kerning first=121 second=40 amount=1 +kerning first=121 second=41 amount=-1 +kerning first=121 second=108 amount=1 +kerning first=121 second=64 amount=-1 +kerning first=121 second=50 amount=-2 +kerning first=121 second=47 amount=-2 +kerning first=121 second=92 amount=-2 +kerning first=121 second=107 amount=1 +kerning first=121 second=105 amount=1 +kerning first=121 second=33 amount=1 +kerning first=121 second=121 amount=1 +kerning first=121 second=98 amount=1 +kerning first=121 second=112 amount=1 +kerning first=121 second=116 amount=2 +kerning first=121 second=59 amount=1 +kerning first=121 second=119 amount=2 +kerning first=121 second=109 amount=1 +kerning first=121 second=118 amount=2 +kerning first=121 second=97 amount=1 +kerning first=121 second=110 amount=1 +kerning first=121 second=111 amount=1 +kerning first=121 second=114 amount=1 +kerning first=121 second=120 amount=1 +kerning first=121 second=117 amount=1 +kerning first=121 second=35 amount=1 +kerning first=121 second=44 amount=-2 +kerning first=121 second=46 amount=-2 +kerning first=121 second=32 amount=1 +kerning first=98 second=52 amount=1 +kerning first=98 second=102 amount=1 +kerning first=98 second=56 amount=-1 +kerning first=98 second=63 amount=-1 +kerning first=98 second=93 amount=-1 +kerning first=98 second=49 amount=-4 +kerning first=98 second=40 amount=1 +kerning first=98 second=108 amount=1 +kerning first=98 second=92 amount=-3 +kerning first=98 second=107 amount=1 +kerning first=98 second=105 amount=1 +kerning first=98 second=33 amount=1 +kerning first=98 second=100 amount=1 +kerning first=98 second=112 amount=1 +kerning first=98 second=113 amount=1 +kerning first=98 second=103 amount=1 +kerning first=98 second=116 amount=1 +kerning first=98 second=119 amount=1 +kerning first=98 second=118 amount=1 +kerning first=98 second=97 amount=1 +kerning first=98 second=110 amount=1 +kerning first=98 second=111 amount=1 +kerning first=98 second=114 amount=1 +kerning first=98 second=120 amount=1 +kerning first=98 second=99 amount=1 +kerning first=98 second=101 amount=1 +kerning first=98 second=115 amount=1 +kerning first=98 second=117 amount=1 +kerning first=98 second=35 amount=1 +kerning first=98 second=34 amount=-3 +kerning first=98 second=39 amount=-3 +kerning first=98 second=46 amount=1 +kerning first=98 second=45 amount=1 +kerning first=100 second=106 amount=1 +kerning first=100 second=102 amount=1 +kerning first=100 second=56 amount=-1 +kerning first=100 second=63 amount=1 +kerning first=100 second=93 amount=1 +kerning first=100 second=49 amount=-2 +kerning first=100 second=41 amount=1 +kerning first=100 second=108 amount=1 +kerning first=100 second=47 amount=1 +kerning first=100 second=92 amount=1 +kerning first=100 second=107 amount=1 +kerning first=100 second=105 amount=1 +kerning first=100 second=33 amount=1 +kerning first=100 second=121 amount=1 +kerning first=100 second=98 amount=1 +kerning first=100 second=112 amount=1 +kerning first=100 second=113 amount=1 +kerning first=100 second=103 amount=1 +kerning first=100 second=116 amount=1 +kerning first=100 second=59 amount=1 +kerning first=100 second=119 amount=2 +kerning first=100 second=118 amount=1 +kerning first=100 second=122 amount=1 +kerning first=100 second=97 amount=1 +kerning first=100 second=110 amount=1 +kerning first=100 second=111 amount=1 +kerning first=100 second=114 amount=1 +kerning first=100 second=120 amount=1 +kerning first=100 second=99 amount=1 +kerning first=100 second=115 amount=1 +kerning first=100 second=117 amount=1 +kerning first=100 second=58 amount=1 +kerning first=100 second=34 amount=1 +kerning first=100 second=39 amount=1 +kerning first=100 second=44 amount=1 +kerning first=100 second=46 amount=1 +kerning first=112 second=106 amount=1 +kerning first=112 second=52 amount=1 +kerning first=112 second=104 amount=1 +kerning first=112 second=102 amount=1 +kerning first=112 second=63 amount=-1 +kerning first=112 second=93 amount=-1 +kerning first=112 second=49 amount=-3 +kerning first=112 second=40 amount=1 +kerning first=112 second=108 amount=1 +kerning first=112 second=50 amount=-1 +kerning first=112 second=92 amount=-3 +kerning first=112 second=107 amount=1 +kerning first=112 second=105 amount=1 +kerning first=112 second=33 amount=1 +kerning first=112 second=98 amount=1 +kerning first=112 second=100 amount=1 +kerning first=112 second=113 amount=1 +kerning first=112 second=103 amount=1 +kerning first=112 second=116 amount=2 +kerning first=112 second=119 amount=1 +kerning first=112 second=118 amount=1 +kerning first=112 second=97 amount=1 +kerning first=112 second=110 amount=1 +kerning first=112 second=111 amount=1 +kerning first=112 second=114 amount=1 +kerning first=112 second=120 amount=1 +kerning first=112 second=99 amount=1 +kerning first=112 second=101 amount=1 +kerning first=112 second=115 amount=1 +kerning first=112 second=117 amount=1 +kerning first=112 second=35 amount=1 +kerning first=112 second=34 amount=-2 +kerning first=112 second=39 amount=-2 +kerning first=112 second=44 amount=-1 +kerning first=112 second=45 amount=1 +kerning first=113 second=106 amount=3 +kerning first=113 second=52 amount=1 +kerning first=113 second=104 amount=1 +kerning first=113 second=102 amount=1 +kerning first=113 second=49 amount=-3 +kerning first=113 second=40 amount=1 +kerning first=113 second=41 amount=1 +kerning first=113 second=108 amount=1 +kerning first=113 second=47 amount=1 +kerning first=113 second=92 amount=-2 +kerning first=113 second=107 amount=1 +kerning first=113 second=105 amount=1 +kerning first=113 second=33 amount=1 +kerning first=113 second=121 amount=1 +kerning first=113 second=98 amount=1 +kerning first=113 second=100 amount=1 +kerning first=113 second=112 amount=1 +kerning first=113 second=103 amount=1 +kerning first=113 second=116 amount=2 +kerning first=113 second=59 amount=2 +kerning first=113 second=119 amount=2 +kerning first=113 second=109 amount=1 +kerning first=113 second=118 amount=2 +kerning first=113 second=122 amount=1 +kerning first=113 second=97 amount=1 +kerning first=113 second=110 amount=1 +kerning first=113 second=111 amount=1 +kerning first=113 second=114 amount=1 +kerning first=113 second=120 amount=1 +kerning first=113 second=99 amount=1 +kerning first=113 second=101 amount=1 +kerning first=113 second=115 amount=1 +kerning first=113 second=117 amount=1 +kerning first=113 second=58 amount=1 +kerning first=113 second=35 amount=1 +kerning first=113 second=44 amount=2 +kerning first=113 second=46 amount=1 +kerning first=113 second=45 amount=1 +kerning first=103 second=106 amount=3 +kerning first=103 second=52 amount=1 +kerning first=103 second=53 amount=1 +kerning first=103 second=104 amount=1 +kerning first=103 second=102 amount=1 +kerning first=103 second=49 amount=-3 +kerning first=103 second=40 amount=1 +kerning first=103 second=41 amount=1 +kerning first=103 second=108 amount=1 +kerning first=103 second=47 amount=1 +kerning first=103 second=92 amount=-2 +kerning first=103 second=107 amount=1 +kerning first=103 second=105 amount=1 +kerning first=103 second=33 amount=1 +kerning first=103 second=121 amount=1 +kerning first=103 second=98 amount=1 +kerning first=103 second=100 amount=1 +kerning first=103 second=112 amount=1 +kerning first=103 second=113 amount=1 +kerning first=103 second=103 amount=1 +kerning first=103 second=116 amount=2 +kerning first=103 second=59 amount=2 +kerning first=103 second=119 amount=2 +kerning first=103 second=118 amount=2 +kerning first=103 second=122 amount=1 +kerning first=103 second=97 amount=1 +kerning first=103 second=110 amount=1 +kerning first=103 second=111 amount=1 +kerning first=103 second=114 amount=1 +kerning first=103 second=120 amount=1 +kerning first=103 second=99 amount=1 +kerning first=103 second=101 amount=1 +kerning first=103 second=115 amount=1 +kerning first=103 second=117 amount=1 +kerning first=103 second=58 amount=1 +kerning first=103 second=35 amount=1 +kerning first=103 second=34 amount=-1 +kerning first=103 second=44 amount=2 +kerning first=103 second=46 amount=1 +kerning first=103 second=45 amount=1 +kerning first=116 second=106 amount=2 +kerning first=116 second=52 amount=-1 +kerning first=116 second=55 amount=-1 +kerning first=116 second=104 amount=1 +kerning first=116 second=54 amount=1 +kerning first=116 second=57 amount=1 +kerning first=116 second=48 amount=1 +kerning first=116 second=102 amount=2 +kerning first=116 second=63 amount=1 +kerning first=116 second=93 amount=-1 +kerning first=116 second=49 amount=-3 +kerning first=116 second=40 amount=2 +kerning first=116 second=108 amount=2 +kerning first=116 second=50 amount=-1 +kerning first=116 second=92 amount=-1 +kerning first=116 second=107 amount=2 +kerning first=116 second=105 amount=2 +kerning first=116 second=33 amount=2 +kerning first=116 second=121 amount=2 +kerning first=116 second=98 amount=1 +kerning first=116 second=100 amount=1 +kerning first=116 second=112 amount=2 +kerning first=116 second=113 amount=1 +kerning first=116 second=103 amount=1 +kerning first=116 second=116 amount=2 +kerning first=116 second=59 amount=1 +kerning first=116 second=119 amount=3 +kerning first=116 second=109 amount=1 +kerning first=116 second=118 amount=3 +kerning first=116 second=122 amount=1 +kerning first=116 second=97 amount=1 +kerning first=116 second=110 amount=2 +kerning first=116 second=111 amount=1 +kerning first=116 second=114 amount=2 +kerning first=116 second=120 amount=2 +kerning first=116 second=99 amount=1 +kerning first=116 second=101 amount=1 +kerning first=116 second=115 amount=1 +kerning first=116 second=117 amount=2 +kerning first=116 second=58 amount=1 +kerning first=116 second=35 amount=1 +kerning first=116 second=34 amount=1 +kerning first=116 second=39 amount=1 +kerning first=116 second=45 amount=-1 +kerning first=116 second=32 amount=1 +kerning first=59 second=106 amount=1 +kerning first=59 second=87 amount=-1 +kerning first=59 second=89 amount=-2 +kerning first=59 second=52 amount=-1 +kerning first=59 second=86 amount=-1 +kerning first=59 second=53 amount=-1 +kerning first=59 second=84 amount=-2 +kerning first=59 second=51 amount=-1 +kerning first=59 second=67 amount=1 +kerning first=59 second=54 amount=-1 +kerning first=59 second=57 amount=-1 +kerning first=59 second=74 amount=-2 +kerning first=59 second=102 amount=1 +kerning first=59 second=56 amount=-1 +kerning first=59 second=63 amount=-1 +kerning first=59 second=93 amount=-1 +kerning first=59 second=49 amount=-4 +kerning first=59 second=64 amount=-1 +kerning first=59 second=92 amount=-2 +kerning first=59 second=105 amount=1 +kerning first=59 second=33 amount=1 +kerning first=59 second=121 amount=1 +kerning first=59 second=112 amount=1 +kerning first=59 second=116 amount=1 +kerning first=59 second=59 amount=1 +kerning first=59 second=119 amount=2 +kerning first=59 second=118 amount=1 +kerning first=59 second=110 amount=1 +kerning first=59 second=114 amount=1 +kerning first=59 second=120 amount=1 +kerning first=59 second=117 amount=1 +kerning first=59 second=34 amount=-1 +kerning first=59 second=44 amount=1 +kerning first=59 second=45 amount=-1 +kerning first=119 second=106 amount=1 +kerning first=119 second=55 amount=-2 +kerning first=119 second=104 amount=1 +kerning first=119 second=102 amount=1 +kerning first=119 second=63 amount=1 +kerning first=119 second=93 amount=-3 +kerning first=119 second=49 amount=-3 +kerning first=119 second=40 amount=1 +kerning first=119 second=108 amount=1 +kerning first=119 second=64 amount=-1 +kerning first=119 second=50 amount=-1 +kerning first=119 second=47 amount=-2 +kerning first=119 second=92 amount=-1 +kerning first=119 second=107 amount=1 +kerning first=119 second=105 amount=1 +kerning first=119 second=33 amount=1 +kerning first=119 second=121 amount=2 +kerning first=119 second=98 amount=1 +kerning first=119 second=112 amount=1 +kerning first=119 second=116 amount=1 +kerning first=119 second=59 amount=1 +kerning first=119 second=119 amount=2 +kerning first=119 second=109 amount=1 +kerning first=119 second=118 amount=2 +kerning first=119 second=110 amount=1 +kerning first=119 second=114 amount=1 +kerning first=119 second=120 amount=1 +kerning first=119 second=117 amount=1 +kerning first=119 second=35 amount=1 +kerning first=119 second=34 amount=1 +kerning first=119 second=39 amount=1 +kerning first=119 second=44 amount=-2 +kerning first=119 second=46 amount=-2 +kerning first=109 second=106 amount=1 +kerning first=109 second=51 amount=-1 +kerning first=109 second=55 amount=1 +kerning first=109 second=104 amount=1 +kerning first=109 second=54 amount=-1 +kerning first=109 second=57 amount=-1 +kerning first=109 second=102 amount=1 +kerning first=109 second=56 amount=-1 +kerning first=109 second=63 amount=-2 +kerning first=109 second=49 amount=-3 +kerning first=109 second=41 amount=1 +kerning first=109 second=108 amount=1 +kerning first=109 second=50 amount=1 +kerning first=109 second=47 amount=1 +kerning first=109 second=92 amount=-3 +kerning first=109 second=107 amount=1 +kerning first=109 second=105 amount=1 +kerning first=109 second=33 amount=1 +kerning first=109 second=121 amount=1 +kerning first=109 second=98 amount=1 +kerning first=109 second=100 amount=1 +kerning first=109 second=112 amount=1 +kerning first=109 second=116 amount=1 +kerning first=109 second=59 amount=2 +kerning first=109 second=119 amount=1 +kerning first=109 second=118 amount=1 +kerning first=109 second=122 amount=1 +kerning first=109 second=97 amount=1 +kerning first=109 second=110 amount=1 +kerning first=109 second=111 amount=1 +kerning first=109 second=114 amount=1 +kerning first=109 second=120 amount=2 +kerning first=109 second=115 amount=1 +kerning first=109 second=58 amount=1 +kerning first=109 second=39 amount=-1 +kerning first=109 second=44 amount=2 +kerning first=109 second=46 amount=1 +kerning first=118 second=106 amount=2 +kerning first=118 second=55 amount=-2 +kerning first=118 second=104 amount=1 +kerning first=118 second=54 amount=1 +kerning first=118 second=57 amount=1 +kerning first=118 second=48 amount=1 +kerning first=118 second=102 amount=2 +kerning first=118 second=63 amount=1 +kerning first=118 second=93 amount=-2 +kerning first=118 second=49 amount=-3 +kerning first=118 second=40 amount=2 +kerning first=118 second=108 amount=2 +kerning first=118 second=50 amount=-1 +kerning first=118 second=47 amount=-1 +kerning first=118 second=92 amount=-1 +kerning first=118 second=107 amount=2 +kerning first=118 second=105 amount=2 +kerning first=118 second=33 amount=2 +kerning first=118 second=121 amount=2 +kerning first=118 second=98 amount=1 +kerning first=118 second=100 amount=1 +kerning first=118 second=112 amount=2 +kerning first=118 second=113 amount=1 +kerning first=118 second=103 amount=1 +kerning first=118 second=116 amount=2 +kerning first=118 second=59 amount=1 +kerning first=118 second=119 amount=3 +kerning first=118 second=109 amount=1 +kerning first=118 second=118 amount=3 +kerning first=118 second=122 amount=1 +kerning first=118 second=97 amount=1 +kerning first=118 second=110 amount=2 +kerning first=118 second=111 amount=1 +kerning first=118 second=114 amount=2 +kerning first=118 second=120 amount=2 +kerning first=118 second=99 amount=1 +kerning first=118 second=101 amount=1 +kerning first=118 second=115 amount=1 +kerning first=118 second=117 amount=2 +kerning first=118 second=58 amount=1 +kerning first=118 second=35 amount=2 +kerning first=118 second=34 amount=1 +kerning first=118 second=39 amount=1 +kerning first=118 second=44 amount=-2 +kerning first=118 second=46 amount=-1 +kerning first=118 second=32 amount=1 +kerning first=122 second=106 amount=1 +kerning first=122 second=52 amount=-1 +kerning first=122 second=104 amount=1 +kerning first=122 second=102 amount=1 +kerning first=122 second=49 amount=-3 +kerning first=122 second=40 amount=1 +kerning first=122 second=41 amount=1 +kerning first=122 second=108 amount=1 +kerning first=122 second=50 amount=1 +kerning first=122 second=47 amount=1 +kerning first=122 second=92 amount=-2 +kerning first=122 second=107 amount=1 +kerning first=122 second=105 amount=1 +kerning first=122 second=33 amount=1 +kerning first=122 second=121 amount=2 +kerning first=122 second=98 amount=1 +kerning first=122 second=100 amount=1 +kerning first=122 second=112 amount=1 +kerning first=122 second=103 amount=1 +kerning first=122 second=116 amount=2 +kerning first=122 second=59 amount=1 +kerning first=122 second=119 amount=2 +kerning first=122 second=109 amount=1 +kerning first=122 second=118 amount=2 +kerning first=122 second=122 amount=1 +kerning first=122 second=97 amount=1 +kerning first=122 second=110 amount=1 +kerning first=122 second=111 amount=1 +kerning first=122 second=114 amount=1 +kerning first=122 second=120 amount=1 +kerning first=122 second=99 amount=1 +kerning first=122 second=115 amount=1 +kerning first=122 second=117 amount=1 +kerning first=122 second=58 amount=1 +kerning first=122 second=35 amount=1 +kerning first=122 second=44 amount=1 +kerning first=122 second=46 amount=1 +kerning first=122 second=45 amount=-1 +kerning first=122 second=32 amount=1 +kerning first=97 second=106 amount=1 +kerning first=97 second=55 amount=1 +kerning first=97 second=104 amount=1 +kerning first=97 second=54 amount=-1 +kerning first=97 second=57 amount=-1 +kerning first=97 second=48 amount=-1 +kerning first=97 second=63 amount=-2 +kerning first=97 second=49 amount=-3 +kerning first=97 second=41 amount=1 +kerning first=97 second=108 amount=1 +kerning first=97 second=50 amount=1 +kerning first=97 second=47 amount=1 +kerning first=97 second=92 amount=-4 +kerning first=97 second=107 amount=1 +kerning first=97 second=105 amount=1 +kerning first=97 second=33 amount=1 +kerning first=97 second=98 amount=1 +kerning first=97 second=100 amount=1 +kerning first=97 second=112 amount=1 +kerning first=97 second=116 amount=1 +kerning first=97 second=59 amount=1 +kerning first=97 second=119 amount=1 +kerning first=97 second=118 amount=1 +kerning first=97 second=122 amount=1 +kerning first=97 second=97 amount=1 +kerning first=97 second=110 amount=1 +kerning first=97 second=111 amount=1 +kerning first=97 second=114 amount=1 +kerning first=97 second=120 amount=2 +kerning first=97 second=99 amount=1 +kerning first=97 second=115 amount=1 +kerning first=97 second=117 amount=1 +kerning first=97 second=58 amount=1 +kerning first=97 second=34 amount=-3 +kerning first=97 second=39 amount=-2 +kerning first=97 second=44 amount=1 +kerning first=97 second=46 amount=1 +kerning first=110 second=106 amount=1 +kerning first=110 second=52 amount=1 +kerning first=110 second=55 amount=1 +kerning first=110 second=104 amount=1 +kerning first=110 second=102 amount=1 +kerning first=110 second=63 amount=-1 +kerning first=110 second=49 amount=-3 +kerning first=110 second=40 amount=1 +kerning first=110 second=41 amount=1 +kerning first=110 second=108 amount=1 +kerning first=110 second=50 amount=1 +kerning first=110 second=47 amount=1 +kerning first=110 second=92 amount=-3 +kerning first=110 second=107 amount=1 +kerning first=110 second=105 amount=1 +kerning first=110 second=33 amount=1 +kerning first=110 second=121 amount=1 +kerning first=110 second=98 amount=1 +kerning first=110 second=100 amount=1 +kerning first=110 second=112 amount=1 +kerning first=110 second=113 amount=1 +kerning first=110 second=103 amount=1 +kerning first=110 second=116 amount=1 +kerning first=110 second=59 amount=1 +kerning first=110 second=119 amount=1 +kerning first=110 second=118 amount=1 +kerning first=110 second=122 amount=1 +kerning first=110 second=97 amount=1 +kerning first=110 second=110 amount=1 +kerning first=110 second=111 amount=1 +kerning first=110 second=114 amount=1 +kerning first=110 second=120 amount=2 +kerning first=110 second=99 amount=1 +kerning first=110 second=101 amount=1 +kerning first=110 second=115 amount=1 +kerning first=110 second=117 amount=1 +kerning first=110 second=58 amount=1 +kerning first=110 second=35 amount=1 +kerning first=110 second=34 amount=-1 +kerning first=110 second=39 amount=-1 +kerning first=110 second=46 amount=1 +kerning first=110 second=45 amount=1 +kerning first=111 second=106 amount=1 +kerning first=111 second=52 amount=1 +kerning first=111 second=53 amount=1 +kerning first=111 second=104 amount=1 +kerning first=111 second=102 amount=1 +kerning first=111 second=63 amount=-1 +kerning first=111 second=93 amount=-1 +kerning first=111 second=49 amount=-3 +kerning first=111 second=40 amount=1 +kerning first=111 second=108 amount=1 +kerning first=111 second=64 amount=1 +kerning first=111 second=47 amount=1 +kerning first=111 second=92 amount=-3 +kerning first=111 second=107 amount=1 +kerning first=111 second=105 amount=1 +kerning first=111 second=33 amount=1 +kerning first=111 second=121 amount=1 +kerning first=111 second=98 amount=1 +kerning first=111 second=100 amount=1 +kerning first=111 second=112 amount=1 +kerning first=111 second=113 amount=1 +kerning first=111 second=103 amount=1 +kerning first=111 second=116 amount=2 +kerning first=111 second=59 amount=1 +kerning first=111 second=119 amount=1 +kerning first=111 second=109 amount=1 +kerning first=111 second=118 amount=1 +kerning first=111 second=97 amount=1 +kerning first=111 second=110 amount=1 +kerning first=111 second=111 amount=1 +kerning first=111 second=114 amount=1 +kerning first=111 second=120 amount=1 +kerning first=111 second=99 amount=1 +kerning first=111 second=101 amount=1 +kerning first=111 second=115 amount=1 +kerning first=111 second=117 amount=1 +kerning first=111 second=35 amount=1 +kerning first=111 second=34 amount=-2 +kerning first=111 second=39 amount=-2 +kerning first=111 second=46 amount=1 +kerning first=111 second=45 amount=1 +kerning first=114 second=106 amount=1 +kerning first=114 second=52 amount=-1 +kerning first=114 second=55 amount=-2 +kerning first=114 second=104 amount=1 +kerning first=114 second=48 amount=1 +kerning first=114 second=102 amount=1 +kerning first=114 second=63 amount=1 +kerning first=114 second=93 amount=-3 +kerning first=114 second=49 amount=-3 +kerning first=114 second=40 amount=1 +kerning first=114 second=108 amount=1 +kerning first=114 second=64 amount=-1 +kerning first=114 second=50 amount=-1 +kerning first=114 second=47 amount=-3 +kerning first=114 second=92 amount=-1 +kerning first=114 second=107 amount=1 +kerning first=114 second=105 amount=1 +kerning first=114 second=33 amount=1 +kerning first=114 second=121 amount=2 +kerning first=114 second=98 amount=1 +kerning first=114 second=112 amount=1 +kerning first=114 second=113 amount=1 +kerning first=114 second=103 amount=1 +kerning first=114 second=116 amount=1 +kerning first=114 second=59 amount=1 +kerning first=114 second=119 amount=2 +kerning first=114 second=109 amount=1 +kerning first=114 second=118 amount=2 +kerning first=114 second=122 amount=1 +kerning first=114 second=97 amount=1 +kerning first=114 second=110 amount=1 +kerning first=114 second=111 amount=1 +kerning first=114 second=114 amount=2 +kerning first=114 second=120 amount=2 +kerning first=114 second=117 amount=1 +kerning first=114 second=35 amount=1 +kerning first=114 second=34 amount=1 +kerning first=114 second=39 amount=2 +kerning first=114 second=44 amount=-3 +kerning first=114 second=46 amount=-3 +kerning first=114 second=45 amount=-2 +kerning first=120 second=106 amount=1 +kerning first=120 second=52 amount=-1 +kerning first=120 second=53 amount=-1 +kerning first=120 second=104 amount=1 +kerning first=120 second=102 amount=1 +kerning first=120 second=63 amount=1 +kerning first=120 second=93 amount=-1 +kerning first=120 second=49 amount=-3 +kerning first=120 second=40 amount=1 +kerning first=120 second=108 amount=1 +kerning first=120 second=64 amount=-1 +kerning first=120 second=47 amount=1 +kerning first=120 second=92 amount=-1 +kerning first=120 second=107 amount=1 +kerning first=120 second=105 amount=1 +kerning first=120 second=33 amount=1 +kerning first=120 second=121 amount=2 +kerning first=120 second=98 amount=1 +kerning first=120 second=112 amount=1 +kerning first=120 second=116 amount=1 +kerning first=120 second=59 amount=1 +kerning first=120 second=119 amount=2 +kerning first=120 second=109 amount=1 +kerning first=120 second=118 amount=2 +kerning first=120 second=122 amount=1 +kerning first=120 second=97 amount=1 +kerning first=120 second=110 amount=1 +kerning first=120 second=114 amount=1 +kerning first=120 second=120 amount=1 +kerning first=120 second=117 amount=1 +kerning first=120 second=35 amount=1 +kerning first=120 second=34 amount=1 +kerning first=120 second=39 amount=1 +kerning first=120 second=44 amount=1 +kerning first=120 second=46 amount=1 +kerning first=120 second=45 amount=-1 +kerning first=120 second=32 amount=1 +kerning first=99 second=106 amount=1 +kerning first=99 second=52 amount=1 +kerning first=99 second=53 amount=1 +kerning first=99 second=104 amount=1 +kerning first=99 second=102 amount=1 +kerning first=99 second=63 amount=-1 +kerning first=99 second=93 amount=-1 +kerning first=99 second=49 amount=-4 +kerning first=99 second=40 amount=1 +kerning first=99 second=108 amount=1 +kerning first=99 second=50 amount=-1 +kerning first=99 second=92 amount=-3 +kerning first=99 second=107 amount=1 +kerning first=99 second=105 amount=1 +kerning first=99 second=33 amount=1 +kerning first=99 second=121 amount=1 +kerning first=99 second=98 amount=1 +kerning first=99 second=100 amount=1 +kerning first=99 second=112 amount=1 +kerning first=99 second=113 amount=1 +kerning first=99 second=103 amount=1 +kerning first=99 second=116 amount=1 +kerning first=99 second=119 amount=1 +kerning first=99 second=118 amount=1 +kerning first=99 second=97 amount=1 +kerning first=99 second=110 amount=1 +kerning first=99 second=111 amount=1 +kerning first=99 second=114 amount=1 +kerning first=99 second=120 amount=1 +kerning first=99 second=99 amount=1 +kerning first=99 second=101 amount=1 +kerning first=99 second=115 amount=1 +kerning first=99 second=117 amount=1 +kerning first=99 second=58 amount=1 +kerning first=99 second=35 amount=1 +kerning first=99 second=34 amount=-2 +kerning first=99 second=39 amount=-2 +kerning first=99 second=46 amount=1 +kerning first=99 second=45 amount=1 +kerning first=101 second=106 amount=1 +kerning first=101 second=52 amount=1 +kerning first=101 second=53 amount=1 +kerning first=101 second=51 amount=1 +kerning first=101 second=55 amount=1 +kerning first=101 second=104 amount=1 +kerning first=101 second=57 amount=1 +kerning first=101 second=102 amount=1 +kerning first=101 second=63 amount=-1 +kerning first=101 second=49 amount=-2 +kerning first=101 second=40 amount=1 +kerning first=101 second=41 amount=1 +kerning first=101 second=108 amount=2 +kerning first=101 second=64 amount=1 +kerning first=101 second=50 amount=1 +kerning first=101 second=47 amount=2 +kerning first=101 second=92 amount=-2 +kerning first=101 second=107 amount=1 +kerning first=101 second=105 amount=2 +kerning first=101 second=33 amount=1 +kerning first=101 second=121 amount=1 +kerning first=101 second=98 amount=1 +kerning first=101 second=100 amount=2 +kerning first=101 second=112 amount=1 +kerning first=101 second=113 amount=1 +kerning first=101 second=103 amount=1 +kerning first=101 second=116 amount=2 +kerning first=101 second=59 amount=1 +kerning first=101 second=119 amount=2 +kerning first=101 second=109 amount=1 +kerning first=101 second=118 amount=2 +kerning first=101 second=122 amount=1 +kerning first=101 second=97 amount=2 +kerning first=101 second=110 amount=2 +kerning first=101 second=111 amount=2 +kerning first=101 second=114 amount=1 +kerning first=101 second=120 amount=2 +kerning first=101 second=99 amount=1 +kerning first=101 second=101 amount=1 +kerning first=101 second=115 amount=2 +kerning first=101 second=117 amount=1 +kerning first=101 second=58 amount=1 +kerning first=101 second=35 amount=1 +kerning first=101 second=34 amount=-1 +kerning first=101 second=39 amount=-1 +kerning first=101 second=44 amount=1 +kerning first=101 second=46 amount=2 +kerning first=101 second=45 amount=1 +kerning first=115 second=106 amount=1 +kerning first=115 second=53 amount=1 +kerning first=115 second=104 amount=1 +kerning first=115 second=102 amount=1 +kerning first=115 second=63 amount=-1 +kerning first=115 second=49 amount=-3 +kerning first=115 second=40 amount=1 +kerning first=115 second=41 amount=1 +kerning first=115 second=108 amount=1 +kerning first=115 second=47 amount=1 +kerning first=115 second=92 amount=-3 +kerning first=115 second=107 amount=1 +kerning first=115 second=105 amount=1 +kerning first=115 second=33 amount=1 +kerning first=115 second=121 amount=1 +kerning first=115 second=98 amount=1 +kerning first=115 second=100 amount=1 +kerning first=115 second=112 amount=1 +kerning first=115 second=113 amount=1 +kerning first=115 second=103 amount=1 +kerning first=115 second=116 amount=2 +kerning first=115 second=59 amount=1 +kerning first=115 second=119 amount=1 +kerning first=115 second=109 amount=1 +kerning first=115 second=118 amount=1 +kerning first=115 second=122 amount=1 +kerning first=115 second=97 amount=1 +kerning first=115 second=110 amount=1 +kerning first=115 second=111 amount=1 +kerning first=115 second=114 amount=1 +kerning first=115 second=120 amount=1 +kerning first=115 second=99 amount=1 +kerning first=115 second=101 amount=1 +kerning first=115 second=115 amount=1 +kerning first=115 second=117 amount=1 +kerning first=115 second=58 amount=1 +kerning first=115 second=35 amount=1 +kerning first=115 second=34 amount=-2 +kerning first=115 second=39 amount=-2 +kerning first=115 second=46 amount=1 +kerning first=117 second=106 amount=1 +kerning first=117 second=52 amount=1 +kerning first=117 second=51 amount=-1 +kerning first=117 second=104 amount=1 +kerning first=117 second=102 amount=1 +kerning first=117 second=56 amount=-1 +kerning first=117 second=63 amount=-1 +kerning first=117 second=93 amount=-1 +kerning first=117 second=49 amount=-3 +kerning first=117 second=40 amount=1 +kerning first=117 second=108 amount=1 +kerning first=117 second=50 amount=-1 +kerning first=117 second=92 amount=-2 +kerning first=117 second=107 amount=1 +kerning first=117 second=105 amount=1 +kerning first=117 second=33 amount=1 +kerning first=117 second=121 amount=1 +kerning first=117 second=98 amount=1 +kerning first=117 second=100 amount=1 +kerning first=117 second=112 amount=1 +kerning first=117 second=113 amount=1 +kerning first=117 second=103 amount=1 +kerning first=117 second=116 amount=2 +kerning first=117 second=59 amount=1 +kerning first=117 second=119 amount=2 +kerning first=117 second=109 amount=1 +kerning first=117 second=118 amount=2 +kerning first=117 second=97 amount=1 +kerning first=117 second=110 amount=1 +kerning first=117 second=111 amount=1 +kerning first=117 second=114 amount=1 +kerning first=117 second=120 amount=1 +kerning first=117 second=99 amount=1 +kerning first=117 second=101 amount=1 +kerning first=117 second=115 amount=1 +kerning first=117 second=117 amount=1 +kerning first=117 second=35 amount=1 +kerning first=117 second=34 amount=-2 +kerning first=117 second=39 amount=-2 +kerning first=117 second=44 amount=-1 +kerning first=117 second=45 amount=1 +kerning first=58 second=87 amount=-1 +kerning first=58 second=77 amount=-1 +kerning first=58 second=89 amount=-2 +kerning first=58 second=65 amount=-1 +kerning first=58 second=52 amount=-1 +kerning first=58 second=86 amount=-1 +kerning first=58 second=53 amount=-1 +kerning first=58 second=84 amount=-2 +kerning first=58 second=51 amount=-1 +kerning first=58 second=55 amount=-1 +kerning first=58 second=54 amount=-1 +kerning first=58 second=57 amount=-1 +kerning first=58 second=48 amount=-1 +kerning first=58 second=74 amount=-2 +kerning first=58 second=56 amount=-1 +kerning first=58 second=63 amount=-1 +kerning first=58 second=93 amount=-1 +kerning first=58 second=49 amount=-4 +kerning first=58 second=64 amount=-1 +kerning first=58 second=50 amount=-1 +kerning first=58 second=92 amount=-3 +kerning first=58 second=121 amount=1 +kerning first=58 second=116 amount=1 +kerning first=58 second=119 amount=1 +kerning first=58 second=118 amount=1 +kerning first=58 second=114 amount=1 +kerning first=58 second=120 amount=1 +kerning first=58 second=58 amount=-1 +kerning first=58 second=34 amount=-2 +kerning first=58 second=39 amount=-1 +kerning first=58 second=45 amount=-2 +kerning first=35 second=106 amount=1 +kerning first=35 second=81 amount=1 +kerning first=35 second=72 amount=1 +kerning first=35 second=88 amount=-2 +kerning first=35 second=89 amount=-1 +kerning first=35 second=90 amount=-3 +kerning first=35 second=65 amount=-1 +kerning first=35 second=53 amount=-1 +kerning first=35 second=71 amount=1 +kerning first=35 second=79 amount=1 +kerning first=35 second=85 amount=1 +kerning first=35 second=51 amount=-1 +kerning first=35 second=55 amount=-1 +kerning first=35 second=67 amount=1 +kerning first=35 second=57 amount=-1 +kerning first=35 second=74 amount=-1 +kerning first=35 second=102 amount=1 +kerning first=35 second=56 amount=-1 +kerning first=35 second=63 amount=1 +kerning first=35 second=93 amount=-2 +kerning first=35 second=49 amount=-3 +kerning first=35 second=40 amount=1 +kerning first=35 second=41 amount=-1 +kerning first=35 second=108 amount=1 +kerning first=35 second=50 amount=-1 +kerning first=35 second=47 amount=-2 +kerning first=35 second=92 amount=-1 +kerning first=35 second=107 amount=1 +kerning first=35 second=105 amount=1 +kerning first=35 second=33 amount=1 +kerning first=35 second=121 amount=1 +kerning first=35 second=112 amount=1 +kerning first=35 second=113 amount=1 +kerning first=35 second=103 amount=1 +kerning first=35 second=116 amount=1 +kerning first=35 second=119 amount=2 +kerning first=35 second=109 amount=1 +kerning first=35 second=118 amount=2 +kerning first=35 second=122 amount=-1 +kerning first=35 second=97 amount=1 +kerning first=35 second=110 amount=1 +kerning first=35 second=111 amount=1 +kerning first=35 second=114 amount=1 +kerning first=35 second=120 amount=1 +kerning first=35 second=117 amount=1 +kerning first=35 second=34 amount=1 +kerning first=35 second=39 amount=1 +kerning first=35 second=44 amount=-5 +kerning first=35 second=46 amount=-3 +kerning first=42 second=83 amount=1 +kerning first=42 second=93 amount=1 +kerning first=42 second=113 amount=1 +kerning first=42 second=103 amount=1 +kerning first=34 second=106 amount=1 +kerning first=34 second=87 amount=1 +kerning first=34 second=88 amount=1 +kerning first=34 second=89 amount=1 +kerning first=34 second=90 amount=-1 +kerning first=34 second=65 amount=-3 +kerning first=34 second=75 amount=1 +kerning first=34 second=52 amount=-3 +kerning first=34 second=86 amount=1 +kerning first=34 second=53 amount=-1 +kerning first=34 second=84 amount=1 +kerning first=34 second=85 amount=1 +kerning first=34 second=66 amount=1 +kerning first=34 second=80 amount=1 +kerning first=34 second=54 amount=-1 +kerning first=34 second=57 amount=-1 +kerning first=34 second=48 amount=-1 +kerning first=34 second=74 amount=-4 +kerning first=34 second=76 amount=1 +kerning first=34 second=102 amount=-1 +kerning first=34 second=56 amount=-1 +kerning first=34 second=63 amount=1 +kerning first=34 second=93 amount=1 +kerning first=34 second=49 amount=-2 +kerning first=34 second=41 amount=1 +kerning first=34 second=108 amount=1 +kerning first=34 second=64 amount=-3 +kerning first=34 second=82 amount=1 +kerning first=34 second=50 amount=-1 +kerning first=34 second=47 amount=-1 +kerning first=34 second=92 amount=1 +kerning first=34 second=107 amount=1 +kerning first=34 second=73 amount=1 +kerning first=34 second=105 amount=1 +kerning first=34 second=33 amount=1 +kerning first=34 second=121 amount=2 +kerning first=34 second=98 amount=1 +kerning first=34 second=100 amount=-2 +kerning first=34 second=112 amount=1 +kerning first=34 second=113 amount=-1 +kerning first=34 second=103 amount=-1 +kerning first=34 second=116 amount=-1 +kerning first=34 second=119 amount=1 +kerning first=34 second=109 amount=1 +kerning first=34 second=118 amount=1 +kerning first=34 second=122 amount=-1 +kerning first=34 second=97 amount=-2 +kerning first=34 second=110 amount=1 +kerning first=34 second=111 amount=-1 +kerning first=34 second=120 amount=1 +kerning first=34 second=99 amount=-2 +kerning first=34 second=101 amount=-2 +kerning first=34 second=115 amount=-1 +kerning first=34 second=117 amount=1 +kerning first=34 second=35 amount=-1 +kerning first=34 second=34 amount=1 +kerning first=34 second=39 amount=1 +kerning first=34 second=44 amount=-3 +kerning first=34 second=46 amount=-2 +kerning first=34 second=45 amount=-1 +kerning first=39 second=87 amount=1 +kerning first=39 second=88 amount=1 +kerning first=39 second=89 amount=1 +kerning first=39 second=90 amount=-1 +kerning first=39 second=65 amount=-3 +kerning first=39 second=75 amount=1 +kerning first=39 second=52 amount=-2 +kerning first=39 second=78 amount=1 +kerning first=39 second=86 amount=1 +kerning first=39 second=53 amount=-1 +kerning first=39 second=84 amount=1 +kerning first=39 second=85 amount=1 +kerning first=39 second=66 amount=1 +kerning first=39 second=68 amount=1 +kerning first=39 second=80 amount=1 +kerning first=39 second=104 amount=1 +kerning first=39 second=54 amount=-1 +kerning first=39 second=74 amount=-4 +kerning first=39 second=76 amount=1 +kerning first=39 second=102 amount=-1 +kerning first=39 second=63 amount=1 +kerning first=39 second=69 amount=1 +kerning first=39 second=93 amount=1 +kerning first=39 second=49 amount=-1 +kerning first=39 second=41 amount=1 +kerning first=39 second=108 amount=1 +kerning first=39 second=64 amount=-5 +kerning first=39 second=82 amount=1 +kerning first=39 second=50 amount=-1 +kerning first=39 second=47 amount=-4 +kerning first=39 second=92 amount=2 +kerning first=39 second=107 amount=1 +kerning first=39 second=73 amount=1 +kerning first=39 second=105 amount=1 +kerning first=39 second=33 amount=1 +kerning first=39 second=121 amount=1 +kerning first=39 second=98 amount=1 +kerning first=39 second=100 amount=-2 +kerning first=39 second=113 amount=-2 +kerning first=39 second=103 amount=-1 +kerning first=39 second=116 amount=-1 +kerning first=39 second=59 amount=-1 +kerning first=39 second=118 amount=1 +kerning first=39 second=122 amount=-1 +kerning first=39 second=97 amount=-1 +kerning first=39 second=111 amount=-2 +kerning first=39 second=114 amount=-1 +kerning first=39 second=99 amount=-2 +kerning first=39 second=101 amount=-2 +kerning first=39 second=115 amount=-2 +kerning first=39 second=58 amount=-1 +kerning first=39 second=35 amount=-1 +kerning first=39 second=34 amount=1 +kerning first=39 second=39 amount=1 +kerning first=39 second=44 amount=-3 +kerning first=39 second=46 amount=-1 +kerning first=39 second=45 amount=-2 +kerning first=44 second=106 amount=1 +kerning first=44 second=87 amount=-3 +kerning first=44 second=81 amount=-2 +kerning first=44 second=88 amount=1 +kerning first=44 second=89 amount=-3 +kerning first=44 second=90 amount=1 +kerning first=44 second=65 amount=1 +kerning first=44 second=52 amount=-2 +kerning first=44 second=86 amount=-2 +kerning first=44 second=71 amount=-1 +kerning first=44 second=79 amount=-2 +kerning first=44 second=83 amount=-1 +kerning first=44 second=84 amount=-1 +kerning first=44 second=85 amount=-1 +kerning first=44 second=51 amount=-1 +kerning first=44 second=55 amount=1 +kerning first=44 second=80 amount=1 +kerning first=44 second=54 amount=-2 +kerning first=44 second=57 amount=-2 +kerning first=44 second=48 amount=-1 +kerning first=44 second=74 amount=-2 +kerning first=44 second=102 amount=-1 +kerning first=44 second=56 amount=-1 +kerning first=44 second=63 amount=-2 +kerning first=44 second=49 amount=-3 +kerning first=44 second=41 amount=1 +kerning first=44 second=108 amount=1 +kerning first=44 second=64 amount=-1 +kerning first=44 second=50 amount=1 +kerning first=44 second=47 amount=2 +kerning first=44 second=92 amount=-4 +kerning first=44 second=107 amount=1 +kerning first=44 second=73 amount=1 +kerning first=44 second=105 amount=1 +kerning first=44 second=33 amount=1 +kerning first=44 second=121 amount=-2 +kerning first=44 second=98 amount=1 +kerning first=44 second=113 amount=-1 +kerning first=44 second=116 amount=-1 +kerning first=44 second=59 amount=2 +kerning first=44 second=119 amount=-1 +kerning first=44 second=109 amount=-1 +kerning first=44 second=118 amount=-1 +kerning first=44 second=122 amount=1 +kerning first=44 second=97 amount=1 +kerning first=44 second=110 amount=1 +kerning first=44 second=114 amount=1 +kerning first=44 second=120 amount=1 +kerning first=44 second=58 amount=1 +kerning first=44 second=35 amount=-2 +kerning first=44 second=34 amount=-2 +kerning first=44 second=39 amount=-4 +kerning first=44 second=44 amount=1 +kerning first=44 second=46 amount=1 +kerning first=44 second=45 amount=-2 +kerning first=46 second=106 amount=1 +kerning first=46 second=87 amount=-2 +kerning first=46 second=88 amount=1 +kerning first=46 second=89 amount=-2 +kerning first=46 second=90 amount=2 +kerning first=46 second=65 amount=1 +kerning first=46 second=52 amount=-3 +kerning first=46 second=86 amount=-1 +kerning first=46 second=53 amount=1 +kerning first=46 second=79 amount=-1 +kerning first=46 second=84 amount=-2 +kerning first=46 second=85 amount=-1 +kerning first=46 second=55 amount=1 +kerning first=46 second=80 amount=1 +kerning first=46 second=104 amount=1 +kerning first=46 second=54 amount=-1 +kerning first=46 second=48 amount=-1 +kerning first=46 second=74 amount=-1 +kerning first=46 second=102 amount=-1 +kerning first=46 second=63 amount=-2 +kerning first=46 second=49 amount=-3 +kerning first=46 second=41 amount=1 +kerning first=46 second=108 amount=1 +kerning first=46 second=50 amount=1 +kerning first=46 second=47 amount=1 +kerning first=46 second=92 amount=-5 +kerning first=46 second=107 amount=1 +kerning first=46 second=73 amount=1 +kerning first=46 second=105 amount=1 +kerning first=46 second=33 amount=1 +kerning first=46 second=121 amount=-2 +kerning first=46 second=98 amount=1 +kerning first=46 second=100 amount=1 +kerning first=46 second=112 amount=1 +kerning first=46 second=103 amount=1 +kerning first=46 second=116 amount=-1 +kerning first=46 second=59 amount=1 +kerning first=46 second=118 amount=-1 +kerning first=46 second=122 amount=1 +kerning first=46 second=97 amount=1 +kerning first=46 second=110 amount=1 +kerning first=46 second=111 amount=1 +kerning first=46 second=114 amount=1 +kerning first=46 second=120 amount=1 +kerning first=46 second=99 amount=1 +kerning first=46 second=115 amount=1 +kerning first=46 second=117 amount=1 +kerning first=46 second=58 amount=1 +kerning first=46 second=35 amount=-4 +kerning first=46 second=34 amount=-4 +kerning first=46 second=39 amount=-1 +kerning first=46 second=44 amount=1 +kerning first=46 second=46 amount=1 +kerning first=46 second=45 amount=-2 +kerning first=45 second=87 amount=-1 +kerning first=45 second=81 amount=1 +kerning first=45 second=72 amount=1 +kerning first=45 second=88 amount=-2 +kerning first=45 second=89 amount=-3 +kerning first=45 second=90 amount=-2 +kerning first=45 second=65 amount=-1 +kerning first=45 second=52 amount=1 +kerning first=45 second=86 amount=-1 +kerning first=45 second=53 amount=-1 +kerning first=45 second=71 amount=1 +kerning first=45 second=79 amount=1 +kerning first=45 second=83 amount=-2 +kerning first=45 second=84 amount=-2 +kerning first=45 second=51 amount=-2 +kerning first=45 second=55 amount=-3 +kerning first=45 second=67 amount=1 +kerning first=45 second=57 amount=-1 +kerning first=45 second=56 amount=-2 +kerning first=45 second=63 amount=-1 +kerning first=45 second=93 amount=-4 +kerning first=45 second=49 amount=-4 +kerning first=45 second=40 amount=1 +kerning first=45 second=41 amount=-1 +kerning first=45 second=108 amount=1 +kerning first=45 second=50 amount=-4 +kerning first=45 second=47 amount=-2 +kerning first=45 second=92 amount=-4 +kerning first=45 second=107 amount=1 +kerning first=45 second=105 amount=1 +kerning first=45 second=33 amount=1 +kerning first=45 second=100 amount=1 +kerning first=45 second=113 amount=1 +kerning first=45 second=103 amount=1 +kerning first=45 second=116 amount=1 +kerning first=45 second=119 amount=1 +kerning first=45 second=118 amount=1 +kerning first=45 second=122 amount=-2 +kerning first=45 second=110 amount=1 +kerning first=45 second=111 amount=1 +kerning first=45 second=114 amount=1 +kerning first=45 second=120 amount=-1 +kerning first=45 second=99 amount=1 +kerning first=45 second=101 amount=1 +kerning first=45 second=117 amount=1 +kerning first=45 second=58 amount=-1 +kerning first=45 second=35 amount=1 +kerning first=45 second=34 amount=-1 +kerning first=45 second=39 amount=-1 +kerning first=45 second=44 amount=-3 +kerning first=45 second=46 amount=-3 +kerning first=45 second=45 amount=1 +kerning first=126 second=33 amount=-1 +kerning first=126 second=32 amount=-1 +kerning first=32 second=53 amount=-1 +kerning first=32 second=83 amount=1 +kerning first=32 second=123 amount=1 diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.png b/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.png new file mode 100755 index 0000000000..5bab028496 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/markerfelt24shadow.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/particle-fire.png b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-fire.png new file mode 100755 index 0000000000..81c6d2410b Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-fire.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/particle-smoke.png b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-smoke.png new file mode 100755 index 0000000000..a289b1371e Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-smoke.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/particle-snow.png b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-snow.png new file mode 100755 index 0000000000..9e12963498 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-snow.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/particle-stars.png b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-stars.png new file mode 100755 index 0000000000..f493dcc334 Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/particle-stars.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/ccb/scale-9-demo.png b/tests/lua-tests/res/cocosbuilderRes/ccb/scale-9-demo.png new file mode 100755 index 0000000000..ee4537207f Binary files /dev/null and b/tests/lua-tests/res/cocosbuilderRes/ccb/scale-9-demo.png differ diff --git a/tests/lua-tests/res/cocosbuilderRes/fileLookup.plist b/tests/lua-tests/res/cocosbuilderRes/fileLookup.plist new file mode 100755 index 0000000000..7a04cd9ea7 --- /dev/null +++ b/tests/lua-tests/res/cocosbuilderRes/fileLookup.plist @@ -0,0 +1,13 @@ + + + + + filenames + + metadata + + version + 1 + + +