rhodes 3.3.3.beta.4 → 3.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. data/CHANGELOG +7 -5
  2. data/CREDITS +2215 -0
  3. data/Rakefile +225 -59
  4. data/bin/c2dm.rb +0 -0
  5. data/bin/get-rhodes-info.bat +0 -0
  6. data/bin/migrate-rhodes-app +0 -0
  7. data/bin/migrate-rhodes-app.bat +0 -0
  8. data/bin/rhodes +0 -0
  9. data/bin/rhodes-setup +0 -0
  10. data/bin/rhodes-setup.bat +0 -0
  11. data/bin/rhogen +0 -0
  12. data/bin/rhogen.bat +0 -0
  13. data/bin/set-rhodes-sdk +0 -0
  14. data/bin/set-rhodes-sdk.bat +0 -0
  15. data/bin/upgrade-rhodes-app +0 -0
  16. data/bin/upgrade-rhodes-app.bat +0 -0
  17. data/doc/build.txt +20 -9
  18. data/doc/configuration.txt +8 -8
  19. data/doc/connect-to-web-services.txt +1 -1
  20. data/doc/device-caps.txt +63 -26
  21. data/doc/extensions.txt +14 -2
  22. data/doc/install.txt +28 -19
  23. data/doc/introduction.txt +6 -3
  24. data/doc/jqt-jqm-transition.txt +10 -9
  25. data/doc/release.txt +5 -1
  26. data/doc/rhodes-command-line.txt +130 -0
  27. data/doc/rhom.txt +16 -11
  28. data/doc/rhostudio-eclipse.txt +3 -3
  29. data/doc/simulator.txt +28 -31
  30. data/doc/syncengine-ajax-api.txt +246 -0
  31. data/doc/synchronization.txt +21 -3
  32. data/doc/test-log-debug.txt +3 -1
  33. data/doc/ui.txt +16 -16
  34. data/ext/extconf.rb +8 -0
  35. data/lib/build/jake.rb +5 -5
  36. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +9 -9
  37. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +81 -1
  38. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/CaptureActivityHandler.java +6 -13
  39. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/DecodeHandler.java +2 -6
  40. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +12 -1
  41. data/lib/extensions/barcode/ext/barcode/platform/bb/run.bat +0 -0
  42. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h +2 -0
  43. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +36 -0
  44. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h +0 -0
  45. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +15 -5
  46. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +64 -1
  47. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode.i +35 -1
  48. data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +126 -2
  49. data/lib/extensions/barcode/ext/barcode/shared/src/zbar.c +18 -1
  50. data/lib/extensions/barcode/ext/build +0 -0
  51. data/lib/extensions/barcode/ext/build.bat +0 -0
  52. data/lib/extensions/digest-md5/ext/Rakefile +12 -10
  53. data/lib/extensions/digest-md5/ext/build +0 -0
  54. data/lib/extensions/digest-md5/ext/build.bat +0 -0
  55. data/lib/extensions/digest-md5/ext/digest-md5.sln +2 -2
  56. data/lib/extensions/digest-md5/ext/digest-md5.vcproj +41 -28
  57. data/lib/extensions/digest-sha1/ext/Rakefile +11 -10
  58. data/lib/extensions/digest-sha1/ext/build +0 -0
  59. data/lib/extensions/digest-sha1/ext/build.bat +0 -0
  60. data/lib/extensions/digest-sha1/ext/digest-sha1.sln +2 -2
  61. data/lib/extensions/digest-sha1/ext/digest-sha1.vcproj +41 -28
  62. data/lib/extensions/digest/ext/Rakefile +12 -11
  63. data/lib/extensions/digest/ext/build +0 -0
  64. data/lib/extensions/digest/ext/build.bat +0 -0
  65. data/lib/extensions/digest/ext/digest.sln +44 -0
  66. data/lib/extensions/digest/ext/digest.vcproj +40 -27
  67. data/lib/extensions/esri/ext/build +0 -0
  68. data/lib/extensions/esri/ext/build.bat +0 -0
  69. data/lib/extensions/fcntl/ext/Rakefile +10 -9
  70. data/lib/extensions/fcntl/ext/build +0 -0
  71. data/lib/extensions/fcntl/ext/build.bat +0 -0
  72. data/lib/extensions/fcntl/ext/fcntl.vcproj +1 -1
  73. data/lib/extensions/nfc/ext/build +0 -0
  74. data/lib/extensions/nfc/ext/build.bat +0 -0
  75. data/lib/extensions/nfc/ext/nfc/platform/android/Rakefile +11 -11
  76. data/lib/extensions/nfc/ext/nfc/platform/android/jni/src/nfc.cpp +0 -0
  77. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/rhomobile/nfc/Nfc.java +12 -10
  78. data/lib/extensions/nfc/ext/nfc/shared/ruby/nfc_wrap.c +16 -9
  79. data/lib/extensions/pdf-writer/color.rb +145 -0
  80. data/lib/extensions/pdf-writer/color/cmyk.rb +279 -0
  81. data/lib/extensions/pdf-writer/color/css.rb +28 -0
  82. data/lib/extensions/pdf-writer/color/grayscale.rb +212 -0
  83. data/lib/extensions/pdf-writer/color/hsl.rb +221 -0
  84. data/lib/extensions/pdf-writer/color/palette.rb +16 -0
  85. data/lib/extensions/pdf-writer/color/palette/adobecolor.rb +272 -0
  86. data/lib/extensions/pdf-writer/color/palette/gimp.rb +116 -0
  87. data/lib/extensions/pdf-writer/color/palette/monocontrast.rb +180 -0
  88. data/lib/extensions/pdf-writer/color/rgb-colors.rb +355 -0
  89. data/lib/extensions/pdf-writer/color/rgb.rb +453 -0
  90. data/lib/extensions/pdf-writer/color/rgb/metallic.rb +43 -0
  91. data/lib/extensions/pdf-writer/color/yiq.rb +84 -0
  92. data/lib/extensions/pdf-writer/ext/LICENSES/color/Licence.txt +27 -0
  93. data/lib/extensions/pdf-writer/ext/LICENSES/color/README.txt +32 -0
  94. data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/LICENCE +131 -0
  95. data/lib/extensions/pdf-writer/ext/LICENSES/pdf-writer/README +33 -0
  96. data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Licence.txt +25 -0
  97. data/lib/extensions/pdf-writer/ext/LICENSES/transaction-simple/Readme.txt +204 -0
  98. data/lib/extensions/pdf-writer/pdf/charts.rb +13 -0
  99. data/lib/extensions/pdf-writer/pdf/charts/stddev.rb +430 -0
  100. data/lib/extensions/pdf-writer/pdf/math.rb +108 -0
  101. data/lib/extensions/pdf-writer/pdf/quickref.rb +332 -0
  102. data/lib/extensions/pdf-writer/pdf/simpletable.rb +947 -0
  103. data/lib/extensions/pdf-writer/pdf/techbook.rb +901 -0
  104. data/lib/extensions/pdf-writer/pdf/writer.rb +2729 -0
  105. data/lib/extensions/pdf-writer/pdf/writer/arc4.rb +63 -0
  106. data/lib/extensions/pdf-writer/pdf/writer/fontmetrics.rb +203 -0
  107. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Bold.afm +342 -0
  108. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
  109. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier-Oblique.afm +342 -0
  110. data/lib/extensions/pdf-writer/pdf/writer/fonts/Courier.afm +342 -0
  111. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
  112. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
  113. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
  114. data/lib/extensions/pdf-writer/pdf/writer/fonts/Helvetica.afm +3051 -0
  115. data/lib/extensions/pdf-writer/pdf/writer/fonts/MustRead.html +19 -0
  116. data/lib/extensions/pdf-writer/pdf/writer/fonts/Symbol.afm +213 -0
  117. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Bold.afm +2588 -0
  118. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
  119. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Italic.afm +2667 -0
  120. data/lib/extensions/pdf-writer/pdf/writer/fonts/Times-Roman.afm +2419 -0
  121. data/lib/extensions/pdf-writer/pdf/writer/fonts/ZapfDingbats.afm +225 -0
  122. data/lib/extensions/pdf-writer/pdf/writer/graphics.rb +813 -0
  123. data/lib/extensions/pdf-writer/pdf/writer/graphics/imageinfo.rb +365 -0
  124. data/lib/extensions/pdf-writer/pdf/writer/lang.rb +43 -0
  125. data/lib/extensions/pdf-writer/pdf/writer/lang/en.rb +99 -0
  126. data/lib/extensions/pdf-writer/pdf/writer/object.rb +23 -0
  127. data/lib/extensions/pdf-writer/pdf/writer/object/action.rb +35 -0
  128. data/lib/extensions/pdf-writer/pdf/writer/object/annotation.rb +42 -0
  129. data/lib/extensions/pdf-writer/pdf/writer/object/catalog.rb +39 -0
  130. data/lib/extensions/pdf-writer/pdf/writer/object/contents.rb +65 -0
  131. data/lib/extensions/pdf-writer/pdf/writer/object/destination.rb +40 -0
  132. data/lib/extensions/pdf-writer/pdf/writer/object/encryption.rb +53 -0
  133. data/lib/extensions/pdf-writer/pdf/writer/object/font.rb +72 -0
  134. data/lib/extensions/pdf-writer/pdf/writer/object/fontdescriptor.rb +34 -0
  135. data/lib/extensions/pdf-writer/pdf/writer/object/fontencoding.rb +40 -0
  136. data/lib/extensions/pdf-writer/pdf/writer/object/image.rb +304 -0
  137. data/lib/extensions/pdf-writer/pdf/writer/object/info.rb +51 -0
  138. data/lib/extensions/pdf-writer/pdf/writer/object/outline.rb +30 -0
  139. data/lib/extensions/pdf-writer/pdf/writer/object/outlines.rb +30 -0
  140. data/lib/extensions/pdf-writer/pdf/writer/object/page.rb +195 -0
  141. data/lib/extensions/pdf-writer/pdf/writer/object/pages.rb +115 -0
  142. data/lib/extensions/pdf-writer/pdf/writer/object/procset.rb +46 -0
  143. data/lib/extensions/pdf-writer/pdf/writer/object/viewerpreferences.rb +74 -0
  144. data/lib/extensions/pdf-writer/pdf/writer/ohash.rb +58 -0
  145. data/lib/extensions/pdf-writer/pdf/writer/oreader.rb +25 -0
  146. data/lib/extensions/pdf-writer/pdf/writer/state.rb +48 -0
  147. data/lib/extensions/pdf-writer/pdf/writer/strokestyle.rb +138 -0
  148. data/lib/extensions/pdf-writer/transaction/simple.rb +486 -0
  149. data/lib/extensions/pdf-writer/transaction/simple/group.rb +146 -0
  150. data/lib/extensions/pdf-writer/transaction/simple/threadsafe.rb +68 -0
  151. data/lib/extensions/pdf-writer/transaction/simple/threadsafe/group.rb +36 -0
  152. data/lib/framework/builtinME.rb +0 -0
  153. data/lib/framework/dateOrig.rb +8 -2
  154. data/lib/framework/rational.rb +0 -0
  155. data/lib/framework/res/esri.wm.png +0 -0
  156. data/lib/framework/rho/rho.rb +6 -0
  157. data/lib/framework/rho/rhobluetooth.rb +0 -0
  158. data/lib/framework/rho/rhofsconnector.rb +0 -0
  159. data/lib/framework/rho/rhonativeviewmanager.rb +0 -0
  160. data/lib/framework/rhofsconnector.rb +0 -0
  161. data/lib/framework/rhom/rhom_object_factory.rb +8 -0
  162. data/lib/framework/rhomotoapi.rb +3 -2
  163. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +9 -1
  164. data/platform/android/Rhodes/jni/include/rhodes/details/rhojava.inc +1 -0
  165. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_file_RhoFileApi.h +26 -2
  166. data/platform/android/Rhodes/jni/src/callbacks.cpp +0 -5
  167. data/platform/android/Rhodes/jni/src/camera.cpp +1 -1
  168. data/platform/android/Rhodes/jni/src/fileapi.cpp +39 -19
  169. data/platform/android/Rhodes/jni/src/geolocation.cpp +3 -3
  170. data/platform/android/Rhodes/jni/src/mapview.cpp +206 -64
  171. data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
  172. data/platform/android/Rhodes/jni/src/rhodes.cpp +13 -0
  173. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +20 -0
  174. data/platform/android/Rhodes/jni/src/rhodessystem.cpp +36 -3
  175. data/platform/android/Rhodes/jni/src/signature.cpp +22 -2
  176. data/platform/android/Rhodes/res/drawable/alert_info.png +0 -0
  177. data/platform/android/Rhodes/res/drawable/esri.png +0 -0
  178. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +17 -16
  179. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java +4 -1
  180. data/platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java +67 -0
  181. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +139 -114
  182. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +106 -13
  183. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +11 -3
  184. data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +71 -16
  185. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +4 -1
  186. data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +4 -1
  187. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +22 -1
  188. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/Config.java +243 -0
  189. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +19 -1
  190. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +9 -1
  191. data/platform/android/Rhodes/src/com/rhomobile/rhodes/{RhodesActivityListener.java → extmanager/IRhoListener.java} +16 -12
  192. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManager.java +63 -1
  193. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +239 -14
  194. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhodesStartupListeners.java +9 -0
  195. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/WebkitExtension.java +53 -0
  196. data/platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java +27 -12
  197. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +124 -62
  198. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +49 -137
  199. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +84 -114
  200. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +75 -82
  201. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +3 -2
  202. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Callout.java +4 -0
  203. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java +124 -0
  204. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java +232 -43
  205. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java +193 -0
  206. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/IRhoCustomView.java +13 -0
  207. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +32 -23
  208. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoVideoView.java +74 -0
  209. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java +6 -7
  210. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java +37 -0
  211. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality03.java +14 -1
  212. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality05.java +51 -38
  213. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality07.java +9 -1
  214. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality08.java +48 -31
  215. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionalityManager.java +15 -16
  216. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +52 -15
  217. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/LocalFileHandler.java +20 -2
  218. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java +1 -0
  219. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +77 -34
  220. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/IRhoWebView.java +9 -0
  221. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebChromeClient.java +105 -0
  222. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +1 -1
  223. data/platform/android/build/RhodesSRC_build.files +8 -7
  224. data/platform/android/build/android.rake +326 -216
  225. data/platform/android/build/androidcommon.rb +27 -13
  226. data/platform/bb/RubyVM/src/com/rho/file/SimpleFile.java +27 -1
  227. data/platform/bb/RubyVM/src/j2me/io/File.java +104 -38
  228. data/platform/bb/build/bb.rake +1 -0
  229. data/platform/bb/build/runRAPC.bat +0 -0
  230. data/platform/bb/rhodes/resources/background.png +0 -0
  231. data/platform/bb/rhodes/resources/esri.png +0 -0
  232. data/platform/bb/rhodes/resources/mappin.png +0 -0
  233. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +5 -1
  234. data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +2 -2
  235. data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapField.java +0 -0
  236. data/platform/bb/rhodes/src/rhomobile/mapview/ESRIMapProvider.java +0 -0
  237. data/platform/bb/rhodes/src/rhomobile/mapview/GeoCoding.java +0 -0
  238. data/platform/bb/rhodes/src/rhomobile/mapview/GoogleGeoCoding.java +0 -0
  239. data/platform/bb/rhodes/src/rhomobile/mapview/MapTools.java +0 -0
  240. data/platform/iphone/Classes/AppManager/AppManager.m +7 -1
  241. data/platform/iphone/Classes/Camera/PickImageDelegate.h +9 -0
  242. data/platform/iphone/Classes/Camera/PickImageDelegate.m +75 -4
  243. data/platform/iphone/Classes/GeoLocation/LocationController.h +8 -2
  244. data/platform/iphone/Classes/GeoLocation/LocationController.m +74 -76
  245. data/platform/iphone/Classes/InitMemoryInfoCollector.h +33 -0
  246. data/platform/iphone/Classes/InitMemoryInfoCollector.mm +52 -0
  247. data/platform/iphone/Classes/NativeView/NVViewController.h +0 -0
  248. data/platform/iphone/Classes/NativeView/NVViewController.m +34 -2
  249. data/platform/iphone/Classes/Rhodes.m +22 -2
  250. data/platform/iphone/Classes/Signature/SignatureDelegate.m +19 -0
  251. data/platform/iphone/Classes/Signature/SignatureViewController.h +0 -0
  252. data/platform/iphone/Classes/Signature/SignatureViewController.m +0 -0
  253. data/platform/iphone/Classes/SimpleMainView.h +0 -0
  254. data/platform/iphone/Classes/SimpleMainView.m +3 -3
  255. data/platform/iphone/ESRI/BluePushpin.png +0 -0
  256. data/platform/iphone/ESRI/BluePushpin@2x.png +0 -0
  257. data/platform/iphone/ESRI/esri.png +0 -0
  258. data/platform/iphone/ESRI/esri@2x.png +0 -0
  259. data/platform/iphone/rbuild/iphone.rake +75 -7
  260. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +13 -4
  261. data/platform/linux/target/compiler/rubylinux +0 -0
  262. data/platform/mac/target/compiler/RubyMac +0 -0
  263. data/platform/osx/Rhodes Launcher/rhorunner.app/rhorunner b/data/platform/osx/Rhodes → Launcher/rhorunner.app/rhorunner +0 -0
  264. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +0 -0
  265. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Resources/qt_menu.nib/keyedobjects.nib +0 -0
  266. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui +0 -0
  267. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork +0 -0
  268. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebKit +0 -0
  269. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Info.plist +1 -1
  270. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/MacOS/RhoSimulator +0 -0
  271. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib +0 -0
  272. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqcorewlanbearer.dylib +0 -0
  273. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/bearer/libqgenericbearer.dylib +0 -0
  274. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqcncodecs.dylib +0 -0
  275. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqjpcodecs.dylib +0 -0
  276. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqkrcodecs.dylib +0 -0
  277. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/codecs/libqtwcodecs.dylib +0 -0
  278. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/graphicssystems/libqtracegraphicssystem.dylib +0 -0
  279. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqgif.dylib +0 -0
  280. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqico.dylib +0 -0
  281. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqjpeg.dylib +0 -0
  282. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqmng.dylib +0 -0
  283. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtga.dylib +0 -0
  284. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/imageformats/libqtiff.dylib +0 -0
  285. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_inspector.dylib +0 -0
  286. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/qmltooling/libqmldbg_tcp.dylib +0 -0
  287. data/platform/osx/build/osx.rake +6 -8
  288. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +165 -33
  289. data/platform/shared/RhoConnectClient/RhoConnectClient.h +10 -1
  290. data/platform/shared/common/BundleManager.cpp +27 -16
  291. data/platform/shared/common/ExtManager.h +15 -2
  292. data/platform/shared/common/RhoConf.cpp +17 -2
  293. data/platform/shared/common/RhoConf.h +3 -1
  294. data/platform/shared/common/RhoDefs.h +6 -6
  295. data/platform/shared/common/RhoFatalError.h +1 -1
  296. data/platform/shared/common/RhoFile.cpp +9 -9
  297. data/platform/shared/common/RhoFilePath.h +7 -3
  298. data/platform/shared/common/RhoPort.h +3 -3
  299. data/platform/shared/common/RhoSystem.h +1 -1
  300. data/platform/shared/common/RhodesApp.cpp +426 -26
  301. data/platform/shared/common/RhodesApp.h +11 -3
  302. data/platform/shared/common/RhodesAppBase.cpp +4 -1
  303. data/platform/shared/common/StringConverter.h +3 -3
  304. data/platform/shared/common/app_build_capabilities.h +8 -0
  305. data/platform/shared/common/map/BaseMapEngine.cpp +302 -21
  306. data/platform/shared/common/map/BaseMapEngine.h +132 -6
  307. data/platform/shared/common/map/ESRIMapEngine.cpp +2 -1
  308. data/platform/shared/common/map/GeocodingMapEngine.cpp +22 -4
  309. data/platform/shared/common/map/GeocodingMapEngine.h +40 -0
  310. data/platform/shared/common/map/GoogleMapEngine.cpp +13 -1
  311. data/platform/shared/common/map/MapEngine.h +7 -0
  312. data/platform/shared/common/map/OSMMapEngine.cpp +12 -1
  313. data/platform/shared/json/JSONIterator.cpp +1 -1
  314. data/platform/shared/json/RJSONTokener.c +2 -0
  315. data/platform/shared/json/config.h +3 -3
  316. data/platform/shared/logging/RhoLog.cpp +12 -3
  317. data/platform/shared/logging/RhoLog.h +2 -1
  318. data/platform/shared/logging/RhoLogConf.cpp +147 -11
  319. data/platform/shared/logging/RhoLogConf.h +39 -1
  320. data/platform/shared/logging/RhoLogSink.cpp +1 -1
  321. data/platform/shared/net/HttpServer.cpp +8 -4
  322. data/platform/shared/net/INetRequest.cpp +7 -0
  323. data/platform/shared/net/INetRequest.h +2 -0
  324. data/platform/shared/net/RawSocket.cpp +1 -1
  325. data/platform/shared/qt/pbxproj2pro.pl +0 -0
  326. data/platform/shared/qt/pro_vcproj_diff.pl +0 -0
  327. data/platform/shared/qt/rhodes/QtMainWindow.cpp +1 -1
  328. data/platform/shared/qt/rhodes/impl/RhoClassFactoryImpl.h +2 -2
  329. data/platform/shared/qt/rhodes/impl/RhoThreadImpl.cpp +2 -2
  330. data/platform/shared/qt/rhodes/impl/SystemImpl.cpp +11 -1
  331. data/platform/shared/qt/rhodes/main.cpp +5 -5
  332. data/platform/shared/ruby/ext/alert/alert_wrap.c +8 -8
  333. data/platform/shared/ruby/ext/bluetooth/bluetooth.i +0 -0
  334. data/platform/shared/ruby/ext/bluetooth/bluetooth_wrap.c +16 -9
  335. data/platform/shared/ruby/ext/camera/camera.i +2 -2
  336. data/platform/shared/ruby/ext/camera/camera_wrap.c +18 -3
  337. data/platform/shared/ruby/ext/datetimepicker/datetimepicker_wrap.c +37 -8
  338. data/platform/shared/ruby/ext/geolocation/geolocation_wrap.c +8 -8
  339. data/platform/shared/ruby/ext/mapview/mapview_wrap.c +16 -9
  340. data/platform/shared/ruby/ext/nativebar/nativebar_wrap.c +16 -9
  341. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager.i +0 -0
  342. data/platform/shared/ruby/ext/nativeviewmanager/nativeviewmanager_wrap.c +16 -9
  343. data/platform/shared/ruby/ext/phonebook/phonebook_wrap.c +8 -1
  344. data/platform/shared/ruby/ext/rho/rhoruby.c +7 -1
  345. data/platform/shared/ruby/ext/rho/rhoruby.h +1 -0
  346. data/platform/shared/ruby/ext/rhoconf/rhoconf_wrap.c +16 -9
  347. data/platform/shared/ruby/ext/signature/signature.i +0 -0
  348. data/platform/shared/ruby/ext/signature/signature_wrap.c +9 -9
  349. data/platform/shared/ruby/ext/syncengine/syncengine_wrap.c +16 -9
  350. data/platform/shared/ruby/ext/system/system_wrap.c +16 -9
  351. data/platform/shared/ruby/ext/webview/webview_wrap.c +16 -9
  352. data/platform/shared/ruby/gc.c +1 -0
  353. data/platform/shared/ruby/regint.h +6 -4
  354. data/platform/shared/ruby/vm.c +1 -0
  355. data/platform/shared/ruby/wince/wince.h +1 -1
  356. data/platform/shared/rubyext/System.cpp +1 -1
  357. data/platform/shared/shttpd/src/rdispatcher.c +3 -3
  358. data/platform/shared/shttpd/src/std_includes.h +1 -1
  359. data/platform/shared/sqlite/sqlite3.c +1 -0
  360. data/platform/shared/statistic/test/TestProfiling.cpp +1 -1
  361. data/platform/shared/stlport/build/lib/configure +0 -0
  362. data/platform/shared/stlport/build/lib/configure.bat +0 -0
  363. data/platform/shared/sync/SyncEngine.cpp +9 -12
  364. data/platform/shared/sync/SyncNotify.cpp +36 -3
  365. data/platform/shared/sync/SyncNotify.h +11 -4
  366. data/platform/shared/sync/SyncSource.cpp +32 -16
  367. data/platform/shared/sync/SyncSource.h +2 -3
  368. data/platform/shared/sync/SyncThread.cpp +13 -4
  369. data/platform/shared/sync/SyncThread.h +4 -0
  370. data/platform/shared/tcmalloc/page_heap.h +1 -1
  371. data/platform/shared/tcmalloc/rhomem.h +1 -1
  372. data/platform/shared/tcmalloc/windows/port.cpp +12 -3
  373. data/platform/shared/test/Tests.cpp +4 -4
  374. data/platform/shared/test/test_helper.cpp +4 -4
  375. data/platform/symbian/sqlite3/src/sqlite3.h +1 -1
  376. data/platform/win32/RhoSimulator/Microsoft.VC90.CRT.manifest +6 -0
  377. data/platform/win32/RhoSimulator/Microsoft.VC90.OpenMP.manifest +6 -0
  378. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  379. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  380. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  381. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  382. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  383. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  384. data/platform/win32/RhoSimulator/imageformats/qico4.dll +0 -0
  385. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  386. data/platform/win32/RhoSimulator/imageformats/qmng4.dll +0 -0
  387. data/platform/win32/RhoSimulator/imageformats/qsvg4.dll +0 -0
  388. data/platform/win32/RhoSimulator/imageformats/qtiff4.dll +0 -0
  389. data/platform/win32/RhoSimulator/libeay32.dll +0 -0
  390. data/platform/win32/RhoSimulator/msvcm90.dll +0 -0
  391. data/platform/win32/RhoSimulator/msvcp90.dll +0 -0
  392. data/platform/win32/RhoSimulator/msvcr90.dll +0 -0
  393. data/platform/win32/RhoSimulator/phonon4.dll +0 -0
  394. data/platform/win32/RhoSimulator/ssleay32.dll +0 -0
  395. data/platform/win32/RhoSimulator/vcomp90.dll +0 -0
  396. data/platform/win32/target/replaceicon/replaceicon.exe +0 -0
  397. data/platform/win32/target/updateresstring/updateresstring.exe +0 -0
  398. data/platform/wm/RhoLib/RhoLib.vcproj +394 -69
  399. data/platform/wm/build/build_inf.js +83 -23
  400. data/platform/wm/build/wm.rake +127 -81
  401. data/platform/wm/rhodes.sln +6 -6
  402. data/platform/wm/rhodes/DateTimePicker.h +2 -2
  403. data/platform/wm/rhodes/IBrowserEngine.h +3 -0
  404. data/platform/wm/rhodes/IEBrowserEngine.cpp +34 -2
  405. data/platform/wm/rhodes/IEBrowserEngine.h +4 -1
  406. data/platform/wm/rhodes/LicenseStub.cpp +73 -0
  407. data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientNew.java → wm/rhodes/LogMemory.cpp} +32 -20
  408. data/platform/{android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java → wm/rhodes/LogMemory.h} +11 -8
  409. data/platform/wm/rhodes/LogOptionsDlg.h +1 -1
  410. data/platform/wm/rhodes/LogView.cpp +10 -10
  411. data/platform/wm/rhodes/LogView.h +10 -10
  412. data/platform/wm/rhodes/MainWindow.cpp +431 -173
  413. data/platform/wm/rhodes/MainWindow.h +37 -19
  414. data/platform/wm/rhodes/MapView/MapViewManager.h +1 -1
  415. data/platform/wm/rhodes/OkCancelModalDialog.h +1 -1
  416. data/platform/wm/rhodes/Rhodes.cpp +210 -47
  417. data/platform/wm/rhodes/Rhodes.rc +38 -0
  418. data/platform/wm/rhodes/bluetooth/Bluetooth.cpp +2 -2
  419. data/platform/wm/rhodes/bluetooth/Bluetooth.h +3 -3
  420. data/platform/wm/rhodes/camera/Camera.cpp +2 -1
  421. data/platform/wm/rhodes/camera/Camera.h +1 -1
  422. data/platform/wm/rhodes/resource.h +1 -1
  423. data/platform/wm/rhodes/rho/common/ExtManager.cpp +93 -5
  424. data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +2 -2
  425. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -2
  426. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +13 -7
  427. data/platform/wm/rhodes/rhodes.vcproj +1409 -1008
  428. data/platform/wm/rhodes/simulator/MainWindowQt.h +1 -1
  429. data/platform/wm/rhodes/stdafx.h +2 -2
  430. data/platform/wm/rhoelements.sln +7 -9
  431. data/platform/wm/rubylib/rubylib.vcproj +62 -1
  432. data/platform/wm/sqlite3/sqlite3.vcproj +62 -1
  433. data/platform/wm/syncengine/syncengine.vcproj +62 -1
  434. data/platform/wm/tcmalloc/tcmalloc.vcproj +72 -53
  435. data/platform/wm/tools/detool/detool.cpp +1435 -1357
  436. data/platform/wp7/RhoRubyExtGen/GenerateInitializers.cmd +0 -0
  437. data/platform/wp7/RhoRubyLib/common/RhoLicense.cs +105 -0
  438. data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +23 -5
  439. data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +5 -0
  440. data/platform/wp7/RhoRubyLib/views/RhoView.xaml.cs +22 -3
  441. data/platform/wp7/build/wp.rake +1 -0
  442. data/platform/wp7/rhodes/MainPage.xaml.cs +11 -0
  443. data/rakefile.rb +225 -59
  444. data/res/build-tools/7za.exe +0 -0
  445. data/res/build-tools/RhoAppRunner.exe +0 -0
  446. data/res/build-tools/RhoLogServer.exe +0 -0
  447. data/res/build-tools/RhoRuby.exe +0 -0
  448. data/res/build-tools/RubyMac +0 -0
  449. data/res/build-tools/detool.exe +0 -0
  450. data/res/build-tools/iphonesim/Source/iPhoneSimulator.m +1 -1
  451. data/res/build-tools/iphonesim/build/Release/iphonesim +0 -0
  452. data/res/build-tools/iphonesim/build/Release/iphonesim_43 +0 -0
  453. data/res/build-tools/license_rc.dll +0 -0
  454. data/res/build-tools/make.exe +0 -0
  455. data/res/build-tools/rubylinux +0 -0
  456. data/res/build-tools/swig_patch/Lib/typemaps/fragments.swg +235 -0
  457. data/res/build-tools/wmdc_connect.exe +0 -0
  458. data/res/build-tools/wp7explorer.exe +0 -0
  459. data/res/generators/rhogen.rb +2 -2
  460. data/res/generators/templates/application/app/Settings/controller.rb +1 -1
  461. data/res/generators/templates/application/app/layout.erb +1 -1
  462. data/res/generators/templates/application/app/loading.png +0 -0
  463. data/res/generators/templates/application/public/css/re_webkit.css +736 -0
  464. data/res/generators/templates/application/public/css/windows_mobile.css +0 -0
  465. data/res/generators/templates/application/public/images/listArrow.png +0 -0
  466. data/res/generators/templates/application/public/jqmobile/images/ajax-loader.png +0 -0
  467. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  468. data/res/generators/templates/application/public/jqmobile/images/icons-18-white.png +0 -0
  469. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  470. data/res/generators/templates/application/public/jqmobile/images/icons-36-white.png +0 -0
  471. data/res/generators/templates/application/public/js/syncengine.js +409 -52
  472. data/res/generators/templates/extension/extensions/montana/ext/build +0 -0
  473. data/res/generators/templates/extension/extensions/montana/ext/build.bat +0 -0
  474. data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile +10 -10
  475. data/res/generators/templates/spec/app/SpecRunner/controller.rb +2 -0
  476. data/res/libs/motorolalicence/android/MotorolaLicence.h +13 -0
  477. data/res/libs/motorolalicence/android/libMotorolaLicence.a +0 -0
  478. data/res/libs/motorolalicence/iphone/MotorolaLicence.h +13 -0
  479. data/res/libs/motorolalicence/iphone/libMotorolaLicence.a +0 -0
  480. data/rhodes.gemspec +1 -1
  481. data/spec/framework_spec/app/SpecRunner/controller.rb +2 -0
  482. data/spec/phone_spec/app/SpecRunner/controller.rb +2 -0
  483. data/version +1 -1
  484. metadata +487 -412
  485. data/Manifest.txt +0 -7960
  486. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivityStartupListeners.java +0 -12
  487. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java +0 -52
  488. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java +0 -62
  489. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/Frameworks/phonon.framework/Versions/4/phonon +0 -0
  490. data/platform/osx/bin/RhoSimulator/RhoSimulator.app/Contents/PlugIns/phonon_backend/libphonon_qt7.dylib +0 -0
  491. data/platform/win32/RhoSimulator/Microsoft.VC80.CRT.manifest +0 -8
  492. data/platform/win32/RhoSimulator/Microsoft.VC80.OpenMP.manifest +0 -7
  493. data/platform/win32/RhoSimulator/msvcm80.dll +0 -0
  494. data/platform/win32/RhoSimulator/msvcp80.dll +0 -0
  495. data/platform/win32/RhoSimulator/msvcr80.dll +0 -0
  496. data/platform/win32/RhoSimulator/vcomp.dll +0 -0
  497. data/rhomobile-debug-1.0.6.gem +0 -0
@@ -0,0 +1,63 @@
1
+ #--
2
+ # PDF::Writer for Ruby.
3
+ # http://rubyforge.org/projects/ruby-pdf/
4
+ # Copyright 2003 - 2005 Austin Ziegler.
5
+ #
6
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
7
+ # for full licensing information.
8
+ #
9
+ # $Id: arc4.rb 50 2005-05-16 03:59:21Z austin $
10
+ #++
11
+ require 'digest/md5'
12
+
13
+ # ARC4 methods
14
+ # A series of function to implement ARC4 encoding in Ruby
15
+ class PDF::Writer::ARC4
16
+ # Initializes the ARC4 encryption with the specified key.
17
+ def initialize(key)
18
+ @key = key
19
+ end
20
+
21
+ # Initialize the encryption for processing a particular object.
22
+ def prepare(object)
23
+ hex = ("%06x" % [object.oid]).scan(/../).reverse
24
+ init(Digest::MD5.digest("#{@key}#{hex.pack('H10')}")[0...10])
25
+ end
26
+
27
+ # Initialize the ARC4 encryption.
28
+ def init(key)
29
+ @arc4 = ""
30
+
31
+ # Setup the control array
32
+ return if key.empty?
33
+
34
+ a = []
35
+ (0..255).each { |ii| a[ii] = "%c" % ii }
36
+
37
+ k = (key * 256)[0..255].split(//)
38
+
39
+ jj = 0
40
+ @arc4.each_with_index do |el, ii|
41
+ jj = ((jj + el.to_i) + k[ii].to_i) % 256
42
+ a[ii], a[jj] = a[jj], a[ii]
43
+ end
44
+ @arc4 = a.join
45
+ end
46
+
47
+ # ARC4 encrypt a text string
48
+ def encrypt(text)
49
+ len = text.size
50
+ a = b = 0
51
+ c = @arc4.dup
52
+ out = ""
53
+
54
+ text.each_byte do |x|
55
+ a = (a + 1) % 256
56
+ b = (b + c[a].to_i) % 256
57
+ c[a], c[b] = c[b], c[a]
58
+ k = (c[(c[a].to_i + c[b].to_i) % 256]).to_i
59
+ out << ("%c" % (x.to_i ^ k))
60
+ end
61
+ out
62
+ end
63
+ end
@@ -0,0 +1,203 @@
1
+ #--
2
+ # PDF::Writer for Ruby.
3
+ # http://rubyforge.org/projects/ruby-pdf/
4
+ # Copyright 2003 - 2005 Austin Ziegler.
5
+ #
6
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
7
+ # for full licensing information.
8
+ #
9
+ # $Id: fontmetrics.rb 168 2007-11-08 19:04:08Z sandal $
10
+ #++
11
+
12
+ class PDF::Writer::FontMetrics
13
+ METRICS_PATH = [ File.join(File.dirname(File.expand_path(__FILE__)), 'fonts') ]
14
+
15
+ KEYS = %w{FontName FullName FamilyName Weight ItalicAngle IsFixedPitch
16
+ CharacterSet UnderlinePosition UnderlineThickness Version
17
+ EncodingScheme CapHeight XHeight Ascender Descender StdHW StdVW
18
+ StartCharMetrics FontBBox C KPX}
19
+ KEYS.each { |k| attr_accessor k.downcase.intern }
20
+
21
+ def initialize
22
+ @kpx = {}
23
+ @c = {}
24
+ @version = 1
25
+ @font_num = nil
26
+ end
27
+
28
+ attr_accessor :font_num
29
+ attr_accessor :path
30
+ attr_accessor :differences
31
+ attr_accessor :encoding
32
+
33
+ NUMBER = /^[+\-0-9.]+$/o
34
+
35
+ # Open the font file and return a PDF::Writer::FontMetrics object
36
+ # containing it. The +font_name+ may specify just a font file or a full
37
+ # path. If a path is specified, that is the only place where the font
38
+ # file will be looked for.
39
+ def self.open(font_name)
40
+ file = font_name.gsub(/\\/o, "/")
41
+ dir = File.dirname(file)
42
+ name = File.basename(file)
43
+
44
+ metrics_path = []
45
+
46
+ # Check to see if the directory is "." or a non-path
47
+ if dir == "."
48
+ metrics_path << dir << METRICS_PATH << $LOAD_PATH
49
+ elsif dir !~ %r{^(\w:|/)}o and dir.index("/")
50
+ METRICS_PATH.each { |path| metrics_path << File.join(path, dir) }
51
+ $LOAD_PATH.each { |path| metrics_path << File.join(path, dir) }
52
+ else
53
+ metric_path = [ dir ]
54
+ end
55
+ metrics_path.flatten!
56
+
57
+ font = nil
58
+ afm = nil
59
+
60
+ metrics_path.each do |path|
61
+ afm_file = File.join(path, "#{name}.afm").gsub(/\.afm\.afm$/o, ".afm")
62
+ rfm_file = "#{afm_file}.rfm"
63
+
64
+ # Attempt to unmarshal an .afm.rfm file first. If it is loaded,
65
+ # we're in good shape.
66
+ begin
67
+ if File.exists?(rfm_file)
68
+ data = File.open(rfm_file, "rb") { |file| file.read }
69
+ font = Marshal.load(data)
70
+ return font
71
+ end
72
+ rescue
73
+ nil
74
+ end
75
+
76
+ # Attempt to open and process the font.
77
+ File.open(afm_file, "rb") do |file|
78
+ font = PDF::Writer::FontMetrics.new
79
+
80
+ # An AFM file contains key names followed by valuees.
81
+ file.each do |line|
82
+ line.chomp!
83
+ line.strip!
84
+ key, *values = line.split
85
+ next if key.nil?
86
+ op = "#{key.downcase}=".to_sym
87
+
88
+ # I probably need to deal with MetricsSet. The default value is
89
+ # 0, which is writing direction 0 (W0X). If MetricsSet 1 is
90
+ # specified, then only writing direction 1 is present (W1X). If
91
+ # MetricsSet 2 is specified, then both W0X and W1X are present.
92
+
93
+ # Measurements are always 1/1000th of a scale factor (point
94
+ # size). So a 12pt character with a width of 222 is going to be
95
+ # 222 * 12 / 1000 or 2.664 points wide.
96
+ case key
97
+ when 'FontName', 'FullName', 'FamilyName', 'Weight',
98
+ 'IsFixedPitch', 'CharacterSet', 'Version', 'EncodingScheme'
99
+ # These values are string values.
100
+ font.__send__(op, values.join(" "))
101
+ when 'ItalicAngle', 'UnderlinePosition', 'UnderlineThickness',
102
+ 'CapHeight', 'XHeight', 'Ascender', 'Descender', 'StdHW',
103
+ 'StdVW', 'StartCharMetrics'
104
+ # These values are floating point values.
105
+ font.__send__(op, values.join(" ").to_f)
106
+ when 'FontBBox'
107
+ # These values are an array of floating point values
108
+ font.fontbbox = values.map { |el| el.to_f }
109
+ when 'C', 'CH'
110
+ # Individual Character Metrics Values:
111
+ # C <character number>
112
+ # CH <hex character number>
113
+ # One of C or CH must be provided. Specifies the encoding
114
+ # number for the character. -1 if the character is not
115
+ # encoded in the font.
116
+ #
117
+ # WX <x width number>
118
+ # W0X <x0 width number>
119
+ # W1X <x1 width number>
120
+ # Character width in x for writing direction 0 (WX, W0X)
121
+ # or 1 (W1X) where y is 0. Optional.
122
+ #
123
+ # WY <y width number>
124
+ # W0Y <y0 width number>
125
+ # W1Y <y1 width number>
126
+ # Character width in y for writing direction 0 (WY, W0Y)
127
+ # or 1 (W1Y) where x is 0. Optional.
128
+ #
129
+ # W <x width> <y width>
130
+ # W0 <x0 width> <y0 width>
131
+ # W1 <x1 width> <y1 width>
132
+ # Character width in x, y for writing direction 0 (W, W0)
133
+ # or 1 (W1). Optional.
134
+ #
135
+ # VV <x number> <y number>
136
+ # Same as VVector in the global font definition, but for
137
+ # this single character. Optional.
138
+ #
139
+ # N <name>
140
+ # The PostScript name of the font. Optional.
141
+ #
142
+ # B <llx> <lly> <urx> <ury>
143
+ # Character bounding box for the lower left corner and the
144
+ # upper right corner. Optional.
145
+ #
146
+ # L <sucessor> <ligature>
147
+ # Ligature sequence where both <successor> and <ligature>
148
+ # are N <names>. For the fragment "N f; L i fi; L l fl",
149
+ # two ligatures are defined: fi and fl. Optional,
150
+ # multiples permitted.
151
+ #
152
+ # C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ;
153
+ bits = line.chomp.strip.split(/;/).collect { |r| r.strip }
154
+ dtmp = {}
155
+
156
+ bits.each do |bit|
157
+ b = bit.split
158
+ if b.size > 2
159
+ dtmp[b[0]] = []
160
+ b[1..-1].each do |z|
161
+ if z =~ NUMBER
162
+ dtmp[b[0]] << z.to_f
163
+ else
164
+ dtmp[b[0]] << z
165
+ end
166
+ end
167
+ elsif b.size == 2
168
+ if b[0] == 'C' and b[1] =~ NUMBER
169
+ dtmp[b[0]] = b[1].to_i
170
+ elsif b[0] == 'CH'
171
+ dtmp['C'] = b[1].to_i(16)
172
+ elsif b[1] =~ NUMBER
173
+ dtmp[b[0]] = b[1].to_f
174
+ else
175
+ dtmp[b[0]] = b[1]
176
+ end
177
+ end
178
+ end
179
+
180
+ font.c[dtmp['N']] = dtmp
181
+ font.c[dtmp['C']] = dtmp unless dtmp['C'].nil?
182
+ when 'KPX' # KPX Adieresis yacute -40
183
+ # KPX: Kerning Pair
184
+ font.kpx[values[0]] = { }
185
+ font.kpx[values[0]][values[1]] = values[2].to_f
186
+ end
187
+ end
188
+ font.path = afm_file
189
+ end rescue nil # Ignore file errors
190
+ break unless font.nil?
191
+ end
192
+
193
+ raise ArgumentError, "Font #{font_name} not found." if font.nil?
194
+ font
195
+ end
196
+
197
+ # Save the loaded font metrics file as a binary marshaled value.
198
+ def save_as_rfm
199
+ rfm = File.basename(@path).gsub(/\.afm.*$/, '')
200
+ rfm << ".afm.rfm"
201
+ File.open(rfm, "wb") { |file| file.write Marshal.dump(self) }
202
+ end
203
+ end
@@ -0,0 +1,342 @@
1
+ StartFontMetrics 4.1
2
+ Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
3
+ Comment Creation Date: Mon Jun 23 16:28:00 1997
4
+ Comment UniqueID 43048
5
+ Comment VMusage 41139 52164
6
+ FontName Courier-Bold
7
+ FullName Courier Bold
8
+ FamilyName Courier
9
+ Weight Bold
10
+ ItalicAngle 0
11
+ IsFixedPitch true
12
+ CharacterSet ExtendedRoman
13
+ FontBBox -113 -250 749 801
14
+ UnderlinePosition -100
15
+ UnderlineThickness 50
16
+ Version 003.000
17
+ Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
18
+ EncodingScheme AdobeStandardEncoding
19
+ CapHeight 562
20
+ XHeight 439
21
+ Ascender 629
22
+ Descender -157
23
+ StdHW 84
24
+ StdVW 106
25
+ StartCharMetrics 315
26
+ C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
27
+ C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ;
28
+ C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ;
29
+ C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ;
30
+ C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ;
31
+ C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ;
32
+ C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ;
33
+ C 39 ; WX 600 ; N quoteright ; B 171 277 423 562 ;
34
+ C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ;
35
+ C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ;
36
+ C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ;
37
+ C 43 ; WX 600 ; N plus ; B 71 39 529 478 ;
38
+ C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ;
39
+ C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
40
+ C 46 ; WX 600 ; N period ; B 192 -15 408 171 ;
41
+ C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ;
42
+ C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ;
43
+ C 49 ; WX 600 ; N one ; B 81 0 539 616 ;
44
+ C 50 ; WX 600 ; N two ; B 61 0 499 616 ;
45
+ C 51 ; WX 600 ; N three ; B 63 -15 501 616 ;
46
+ C 52 ; WX 600 ; N four ; B 53 0 507 616 ;
47
+ C 53 ; WX 600 ; N five ; B 70 -15 521 601 ;
48
+ C 54 ; WX 600 ; N six ; B 90 -15 521 616 ;
49
+ C 55 ; WX 600 ; N seven ; B 55 0 494 601 ;
50
+ C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ;
51
+ C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ;
52
+ C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ;
53
+ C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ;
54
+ C 60 ; WX 600 ; N less ; B 66 15 523 501 ;
55
+ C 61 ; WX 600 ; N equal ; B 71 118 529 398 ;
56
+ C 62 ; WX 600 ; N greater ; B 77 15 534 501 ;
57
+ C 63 ; WX 600 ; N question ; B 98 -14 501 580 ;
58
+ C 64 ; WX 600 ; N at ; B 16 -15 584 616 ;
59
+ C 65 ; WX 600 ; N A ; B -9 0 609 562 ;
60
+ C 66 ; WX 600 ; N B ; B 30 0 573 562 ;
61
+ C 67 ; WX 600 ; N C ; B 22 -18 560 580 ;
62
+ C 68 ; WX 600 ; N D ; B 30 0 594 562 ;
63
+ C 69 ; WX 600 ; N E ; B 25 0 560 562 ;
64
+ C 70 ; WX 600 ; N F ; B 39 0 570 562 ;
65
+ C 71 ; WX 600 ; N G ; B 22 -18 594 580 ;
66
+ C 72 ; WX 600 ; N H ; B 20 0 580 562 ;
67
+ C 73 ; WX 600 ; N I ; B 77 0 523 562 ;
68
+ C 74 ; WX 600 ; N J ; B 37 -18 601 562 ;
69
+ C 75 ; WX 600 ; N K ; B 21 0 599 562 ;
70
+ C 76 ; WX 600 ; N L ; B 39 0 578 562 ;
71
+ C 77 ; WX 600 ; N M ; B -2 0 602 562 ;
72
+ C 78 ; WX 600 ; N N ; B 8 -12 610 562 ;
73
+ C 79 ; WX 600 ; N O ; B 22 -18 578 580 ;
74
+ C 80 ; WX 600 ; N P ; B 48 0 559 562 ;
75
+ C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ;
76
+ C 82 ; WX 600 ; N R ; B 24 0 599 562 ;
77
+ C 83 ; WX 600 ; N S ; B 47 -22 553 582 ;
78
+ C 84 ; WX 600 ; N T ; B 21 0 579 562 ;
79
+ C 85 ; WX 600 ; N U ; B 4 -18 596 562 ;
80
+ C 86 ; WX 600 ; N V ; B -13 0 613 562 ;
81
+ C 87 ; WX 600 ; N W ; B -18 0 618 562 ;
82
+ C 88 ; WX 600 ; N X ; B 12 0 588 562 ;
83
+ C 89 ; WX 600 ; N Y ; B 12 0 589 562 ;
84
+ C 90 ; WX 600 ; N Z ; B 62 0 539 562 ;
85
+ C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ;
86
+ C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ;
87
+ C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ;
88
+ C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ;
89
+ C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
90
+ C 96 ; WX 600 ; N quoteleft ; B 178 277 428 562 ;
91
+ C 97 ; WX 600 ; N a ; B 35 -15 570 454 ;
92
+ C 98 ; WX 600 ; N b ; B 0 -15 584 626 ;
93
+ C 99 ; WX 600 ; N c ; B 40 -15 545 459 ;
94
+ C 100 ; WX 600 ; N d ; B 20 -15 591 626 ;
95
+ C 101 ; WX 600 ; N e ; B 40 -15 563 454 ;
96
+ C 102 ; WX 600 ; N f ; B 83 0 547 626 ; L i fi ; L l fl ;
97
+ C 103 ; WX 600 ; N g ; B 30 -146 580 454 ;
98
+ C 104 ; WX 600 ; N h ; B 5 0 592 626 ;
99
+ C 105 ; WX 600 ; N i ; B 77 0 523 658 ;
100
+ C 106 ; WX 600 ; N j ; B 63 -146 440 658 ;
101
+ C 107 ; WX 600 ; N k ; B 20 0 585 626 ;
102
+ C 108 ; WX 600 ; N l ; B 77 0 523 626 ;
103
+ C 109 ; WX 600 ; N m ; B -22 0 626 454 ;
104
+ C 110 ; WX 600 ; N n ; B 18 0 592 454 ;
105
+ C 111 ; WX 600 ; N o ; B 30 -15 570 454 ;
106
+ C 112 ; WX 600 ; N p ; B -1 -142 570 454 ;
107
+ C 113 ; WX 600 ; N q ; B 20 -142 591 454 ;
108
+ C 114 ; WX 600 ; N r ; B 47 0 580 454 ;
109
+ C 115 ; WX 600 ; N s ; B 68 -17 535 459 ;
110
+ C 116 ; WX 600 ; N t ; B 47 -15 532 562 ;
111
+ C 117 ; WX 600 ; N u ; B -1 -15 569 439 ;
112
+ C 118 ; WX 600 ; N v ; B -1 0 601 439 ;
113
+ C 119 ; WX 600 ; N w ; B -18 0 618 439 ;
114
+ C 120 ; WX 600 ; N x ; B 6 0 594 439 ;
115
+ C 121 ; WX 600 ; N y ; B -4 -142 601 439 ;
116
+ C 122 ; WX 600 ; N z ; B 81 0 520 439 ;
117
+ C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ;
118
+ C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ;
119
+ C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ;
120
+ C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ;
121
+ C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ;
122
+ C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ;
123
+ C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ;
124
+ C 164 ; WX 600 ; N fraction ; B 25 -60 576 661 ;
125
+ C 165 ; WX 600 ; N yen ; B 10 0 590 562 ;
126
+ C 166 ; WX 600 ; N florin ; B -30 -131 572 616 ;
127
+ C 167 ; WX 600 ; N section ; B 83 -70 517 580 ;
128
+ C 168 ; WX 600 ; N currency ; B 54 49 546 517 ;
129
+ C 169 ; WX 600 ; N quotesingle ; B 227 277 373 562 ;
130
+ C 170 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ;
131
+ C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ;
132
+ C 172 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ;
133
+ C 173 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ;
134
+ C 174 ; WX 600 ; N fi ; B 12 0 593 626 ;
135
+ C 175 ; WX 600 ; N fl ; B 12 0 593 626 ;
136
+ C 177 ; WX 600 ; N endash ; B 65 203 535 313 ;
137
+ C 178 ; WX 600 ; N dagger ; B 106 -70 494 580 ;
138
+ C 179 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ;
139
+ C 180 ; WX 600 ; N periodcentered ; B 196 165 404 351 ;
140
+ C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ;
141
+ C 183 ; WX 600 ; N bullet ; B 140 132 460 430 ;
142
+ C 184 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ;
143
+ C 185 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ;
144
+ C 186 ; WX 600 ; N quotedblright ; B 61 277 525 562 ;
145
+ C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ;
146
+ C 188 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ;
147
+ C 189 ; WX 600 ; N perthousand ; B -113 -15 713 616 ;
148
+ C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ;
149
+ C 193 ; WX 600 ; N grave ; B 132 508 395 661 ;
150
+ C 194 ; WX 600 ; N acute ; B 205 508 468 661 ;
151
+ C 195 ; WX 600 ; N circumflex ; B 103 483 497 657 ;
152
+ C 196 ; WX 600 ; N tilde ; B 89 493 512 636 ;
153
+ C 197 ; WX 600 ; N macron ; B 88 505 512 585 ;
154
+ C 198 ; WX 600 ; N breve ; B 83 468 517 631 ;
155
+ C 199 ; WX 600 ; N dotaccent ; B 230 498 370 638 ;
156
+ C 200 ; WX 600 ; N dieresis ; B 128 498 472 638 ;
157
+ C 202 ; WX 600 ; N ring ; B 198 481 402 678 ;
158
+ C 203 ; WX 600 ; N cedilla ; B 205 -206 387 0 ;
159
+ C 205 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ;
160
+ C 206 ; WX 600 ; N ogonek ; B 169 -199 400 0 ;
161
+ C 207 ; WX 600 ; N caron ; B 103 493 497 667 ;
162
+ C 208 ; WX 600 ; N emdash ; B -10 203 610 313 ;
163
+ C 225 ; WX 600 ; N AE ; B -29 0 602 562 ;
164
+ C 227 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ;
165
+ C 232 ; WX 600 ; N Lslash ; B 39 0 578 562 ;
166
+ C 233 ; WX 600 ; N Oslash ; B 22 -22 578 584 ;
167
+ C 234 ; WX 600 ; N OE ; B -25 0 595 562 ;
168
+ C 235 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ;
169
+ C 241 ; WX 600 ; N ae ; B -4 -15 601 454 ;
170
+ C 245 ; WX 600 ; N dotlessi ; B 77 0 523 439 ;
171
+ C 248 ; WX 600 ; N lslash ; B 77 0 523 626 ;
172
+ C 249 ; WX 600 ; N oslash ; B 30 -24 570 463 ;
173
+ C 250 ; WX 600 ; N oe ; B -18 -15 611 454 ;
174
+ C 251 ; WX 600 ; N germandbls ; B 22 -15 596 626 ;
175
+ C -1 ; WX 600 ; N Idieresis ; B 77 0 523 761 ;
176
+ C -1 ; WX 600 ; N eacute ; B 40 -15 563 661 ;
177
+ C -1 ; WX 600 ; N abreve ; B 35 -15 570 661 ;
178
+ C -1 ; WX 600 ; N uhungarumlaut ; B -1 -15 628 661 ;
179
+ C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ;
180
+ C -1 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ;
181
+ C -1 ; WX 600 ; N divide ; B 71 16 529 500 ;
182
+ C -1 ; WX 600 ; N Yacute ; B 12 0 589 784 ;
183
+ C -1 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ;
184
+ C -1 ; WX 600 ; N aacute ; B 35 -15 570 661 ;
185
+ C -1 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ;
186
+ C -1 ; WX 600 ; N yacute ; B -4 -142 601 661 ;
187
+ C -1 ; WX 600 ; N scommaaccent ; B 68 -250 535 459 ;
188
+ C -1 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ;
189
+ C -1 ; WX 600 ; N Uring ; B 4 -18 596 801 ;
190
+ C -1 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ;
191
+ C -1 ; WX 600 ; N aogonek ; B 35 -199 586 454 ;
192
+ C -1 ; WX 600 ; N Uacute ; B 4 -18 596 784 ;
193
+ C -1 ; WX 600 ; N uogonek ; B -1 -199 585 439 ;
194
+ C -1 ; WX 600 ; N Edieresis ; B 25 0 560 761 ;
195
+ C -1 ; WX 600 ; N Dcroat ; B 30 0 594 562 ;
196
+ C -1 ; WX 600 ; N commaaccent ; B 205 -250 397 -57 ;
197
+ C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
198
+ C -1 ; WX 600 ; N Emacron ; B 25 0 560 708 ;
199
+ C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ;
200
+ C -1 ; WX 600 ; N aring ; B 35 -15 570 678 ;
201
+ C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 610 562 ;
202
+ C -1 ; WX 600 ; N lacute ; B 77 0 523 801 ;
203
+ C -1 ; WX 600 ; N agrave ; B 35 -15 570 661 ;
204
+ C -1 ; WX 600 ; N Tcommaaccent ; B 21 -250 579 562 ;
205
+ C -1 ; WX 600 ; N Cacute ; B 22 -18 560 784 ;
206
+ C -1 ; WX 600 ; N atilde ; B 35 -15 570 636 ;
207
+ C -1 ; WX 600 ; N Edotaccent ; B 25 0 560 761 ;
208
+ C -1 ; WX 600 ; N scaron ; B 68 -17 535 667 ;
209
+ C -1 ; WX 600 ; N scedilla ; B 68 -206 535 459 ;
210
+ C -1 ; WX 600 ; N iacute ; B 77 0 523 661 ;
211
+ C -1 ; WX 600 ; N lozenge ; B 66 0 534 740 ;
212
+ C -1 ; WX 600 ; N Rcaron ; B 24 0 599 790 ;
213
+ C -1 ; WX 600 ; N Gcommaaccent ; B 22 -250 594 580 ;
214
+ C -1 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ;
215
+ C -1 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ;
216
+ C -1 ; WX 600 ; N Amacron ; B -9 0 609 708 ;
217
+ C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ;
218
+ C -1 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ;
219
+ C -1 ; WX 600 ; N Zdotaccent ; B 62 0 539 761 ;
220
+ C -1 ; WX 600 ; N Thorn ; B 48 0 557 562 ;
221
+ C -1 ; WX 600 ; N Omacron ; B 22 -18 578 708 ;
222
+ C -1 ; WX 600 ; N Racute ; B 24 0 599 784 ;
223
+ C -1 ; WX 600 ; N Sacute ; B 47 -22 553 784 ;
224
+ C -1 ; WX 600 ; N dcaron ; B 20 -15 727 626 ;
225
+ C -1 ; WX 600 ; N Umacron ; B 4 -18 596 708 ;
226
+ C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ;
227
+ C -1 ; WX 600 ; N threesuperior ; B 138 222 433 616 ;
228
+ C -1 ; WX 600 ; N Ograve ; B 22 -18 578 784 ;
229
+ C -1 ; WX 600 ; N Agrave ; B -9 0 609 784 ;
230
+ C -1 ; WX 600 ; N Abreve ; B -9 0 609 784 ;
231
+ C -1 ; WX 600 ; N multiply ; B 81 39 520 478 ;
232
+ C -1 ; WX 600 ; N uacute ; B -1 -15 569 661 ;
233
+ C -1 ; WX 600 ; N Tcaron ; B 21 0 579 790 ;
234
+ C -1 ; WX 600 ; N partialdiff ; B 63 -38 537 728 ;
235
+ C -1 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ;
236
+ C -1 ; WX 600 ; N Nacute ; B 8 -12 610 784 ;
237
+ C -1 ; WX 600 ; N icircumflex ; B 73 0 523 657 ;
238
+ C -1 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ;
239
+ C -1 ; WX 600 ; N adieresis ; B 35 -15 570 638 ;
240
+ C -1 ; WX 600 ; N edieresis ; B 40 -15 563 638 ;
241
+ C -1 ; WX 600 ; N cacute ; B 40 -15 545 661 ;
242
+ C -1 ; WX 600 ; N nacute ; B 18 0 592 661 ;
243
+ C -1 ; WX 600 ; N umacron ; B -1 -15 569 585 ;
244
+ C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 790 ;
245
+ C -1 ; WX 600 ; N Iacute ; B 77 0 523 784 ;
246
+ C -1 ; WX 600 ; N plusminus ; B 71 24 529 515 ;
247
+ C -1 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ;
248
+ C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
249
+ C -1 ; WX 600 ; N Gbreve ; B 22 -18 594 784 ;
250
+ C -1 ; WX 600 ; N Idotaccent ; B 77 0 523 761 ;
251
+ C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ;
252
+ C -1 ; WX 600 ; N Egrave ; B 25 0 560 784 ;
253
+ C -1 ; WX 600 ; N racute ; B 47 0 580 661 ;
254
+ C -1 ; WX 600 ; N omacron ; B 30 -15 570 585 ;
255
+ C -1 ; WX 600 ; N Zacute ; B 62 0 539 784 ;
256
+ C -1 ; WX 600 ; N Zcaron ; B 62 0 539 790 ;
257
+ C -1 ; WX 600 ; N greaterequal ; B 26 0 523 696 ;
258
+ C -1 ; WX 600 ; N Eth ; B 30 0 594 562 ;
259
+ C -1 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ;
260
+ C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 523 626 ;
261
+ C -1 ; WX 600 ; N tcaron ; B 47 -15 532 703 ;
262
+ C -1 ; WX 600 ; N eogonek ; B 40 -199 563 454 ;
263
+ C -1 ; WX 600 ; N Uogonek ; B 4 -199 596 562 ;
264
+ C -1 ; WX 600 ; N Aacute ; B -9 0 609 784 ;
265
+ C -1 ; WX 600 ; N Adieresis ; B -9 0 609 761 ;
266
+ C -1 ; WX 600 ; N egrave ; B 40 -15 563 661 ;
267
+ C -1 ; WX 600 ; N zacute ; B 81 0 520 661 ;
268
+ C -1 ; WX 600 ; N iogonek ; B 77 -199 523 658 ;
269
+ C -1 ; WX 600 ; N Oacute ; B 22 -18 578 784 ;
270
+ C -1 ; WX 600 ; N oacute ; B 30 -15 570 661 ;
271
+ C -1 ; WX 600 ; N amacron ; B 35 -15 570 585 ;
272
+ C -1 ; WX 600 ; N sacute ; B 68 -17 535 661 ;
273
+ C -1 ; WX 600 ; N idieresis ; B 77 0 523 618 ;
274
+ C -1 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ;
275
+ C -1 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ;
276
+ C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ;
277
+ C -1 ; WX 600 ; N thorn ; B -14 -142 570 626 ;
278
+ C -1 ; WX 600 ; N twosuperior ; B 143 230 436 616 ;
279
+ C -1 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ;
280
+ C -1 ; WX 600 ; N mu ; B -1 -142 569 439 ;
281
+ C -1 ; WX 600 ; N igrave ; B 77 0 523 661 ;
282
+ C -1 ; WX 600 ; N ohungarumlaut ; B 30 -15 668 661 ;
283
+ C -1 ; WX 600 ; N Eogonek ; B 25 -199 576 562 ;
284
+ C -1 ; WX 600 ; N dcroat ; B 20 -15 591 626 ;
285
+ C -1 ; WX 600 ; N threequarters ; B -47 -60 648 661 ;
286
+ C -1 ; WX 600 ; N Scedilla ; B 47 -206 553 582 ;
287
+ C -1 ; WX 600 ; N lcaron ; B 77 0 597 626 ;
288
+ C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 599 562 ;
289
+ C -1 ; WX 600 ; N Lacute ; B 39 0 578 784 ;
290
+ C -1 ; WX 600 ; N trademark ; B -9 230 749 562 ;
291
+ C -1 ; WX 600 ; N edotaccent ; B 40 -15 563 638 ;
292
+ C -1 ; WX 600 ; N Igrave ; B 77 0 523 784 ;
293
+ C -1 ; WX 600 ; N Imacron ; B 77 0 523 708 ;
294
+ C -1 ; WX 600 ; N Lcaron ; B 39 0 637 562 ;
295
+ C -1 ; WX 600 ; N onehalf ; B -47 -60 648 661 ;
296
+ C -1 ; WX 600 ; N lessequal ; B 26 0 523 696 ;
297
+ C -1 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ;
298
+ C -1 ; WX 600 ; N ntilde ; B 18 0 592 636 ;
299
+ C -1 ; WX 600 ; N Uhungarumlaut ; B 4 -18 638 784 ;
300
+ C -1 ; WX 600 ; N Eacute ; B 25 0 560 784 ;
301
+ C -1 ; WX 600 ; N emacron ; B 40 -15 563 585 ;
302
+ C -1 ; WX 600 ; N gbreve ; B 30 -146 580 661 ;
303
+ C -1 ; WX 600 ; N onequarter ; B -56 -60 656 661 ;
304
+ C -1 ; WX 600 ; N Scaron ; B 47 -22 553 790 ;
305
+ C -1 ; WX 600 ; N Scommaaccent ; B 47 -250 553 582 ;
306
+ C -1 ; WX 600 ; N Ohungarumlaut ; B 22 -18 628 784 ;
307
+ C -1 ; WX 600 ; N degree ; B 86 243 474 616 ;
308
+ C -1 ; WX 600 ; N ograve ; B 30 -15 570 661 ;
309
+ C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 790 ;
310
+ C -1 ; WX 600 ; N ugrave ; B -1 -15 569 661 ;
311
+ C -1 ; WX 600 ; N radical ; B -19 -104 473 778 ;
312
+ C -1 ; WX 600 ; N Dcaron ; B 30 0 594 790 ;
313
+ C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 580 454 ;
314
+ C -1 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ;
315
+ C -1 ; WX 600 ; N otilde ; B 30 -15 570 636 ;
316
+ C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 599 562 ;
317
+ C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ;
318
+ C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
319
+ C -1 ; WX 600 ; N Aogonek ; B -9 -199 625 562 ;
320
+ C -1 ; WX 600 ; N Aring ; B -9 0 609 801 ;
321
+ C -1 ; WX 600 ; N Otilde ; B 22 -18 578 759 ;
322
+ C -1 ; WX 600 ; N zdotaccent ; B 81 0 520 638 ;
323
+ C -1 ; WX 600 ; N Ecaron ; B 25 0 560 790 ;
324
+ C -1 ; WX 600 ; N Iogonek ; B 77 -199 523 562 ;
325
+ C -1 ; WX 600 ; N kcommaaccent ; B 20 -250 585 626 ;
326
+ C -1 ; WX 600 ; N minus ; B 71 203 529 313 ;
327
+ C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
328
+ C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ;
329
+ C -1 ; WX 600 ; N tcommaaccent ; B 47 -250 532 562 ;
330
+ C -1 ; WX 600 ; N logicalnot ; B 71 103 529 413 ;
331
+ C -1 ; WX 600 ; N odieresis ; B 30 -15 570 638 ;
332
+ C -1 ; WX 600 ; N udieresis ; B -1 -15 569 638 ;
333
+ C -1 ; WX 600 ; N notequal ; B 12 -47 537 563 ;
334
+ C -1 ; WX 600 ; N gcommaaccent ; B 30 -146 580 714 ;
335
+ C -1 ; WX 600 ; N eth ; B 58 -27 543 626 ;
336
+ C -1 ; WX 600 ; N zcaron ; B 81 0 520 667 ;
337
+ C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 592 454 ;
338
+ C -1 ; WX 600 ; N onesuperior ; B 153 230 447 616 ;
339
+ C -1 ; WX 600 ; N imacron ; B 77 0 523 585 ;
340
+ C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
341
+ EndCharMetrics
342
+ EndFontMetrics