web/Zend/Measure/Length.php
changeset 0 4eba9c11703f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/Zend/Measure/Length.php	Mon Dec 13 18:29:26 2010 +0100
@@ -0,0 +1,674 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category  Zend
+ * @package   Zend_Measure
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd     New BSD License
+ * @version   $Id: Length.php 20096 2010-01-06 02:05:09Z bkarwin $
+ */
+
+/**
+ * Implement needed classes
+ */
+require_once 'Zend/Measure/Abstract.php';
+require_once 'Zend/Locale.php';
+
+/**
+ * Class for handling length conversions
+ *
+ * @category   Zend
+ * @package    Zend_Measure
+ * @subpackage Zend_Measure_Length
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Measure_Length extends Zend_Measure_Abstract
+{
+    const STANDARD = 'METER';
+
+    const AGATE                 = 'AGATE';
+    const ALEN_DANISH           = 'ALEN_DANISH';
+    const ALEN                  = 'ALEN';
+    const ALEN_SWEDISH          = 'ALEN_SWEDISH';
+    const ANGSTROM              = 'ANGSTROM';
+    const ARMS                  = 'ARMS';
+    const ARPENT_CANADIAN       = 'ARPENT_CANADIAN';
+    const ARPENT                = 'ARPENT';
+    const ARSHEEN               = 'ARSHEEN';
+    const ARSHIN                = 'ARSHIN';
+    const ARSHIN_IRAQ           = 'ARSHIN_IRAQ';
+    const ASTRONOMICAL_UNIT     = 'ASTRONOMICAL_UNIT';
+    const ATTOMETER             = 'ATTOMETER';
+    const BAMBOO                = 'BAMBOO';
+    const BARLEYCORN            = 'BARLEYCORN';
+    const BEE_SPACE             = 'BEE_SPACE';
+    const BICRON                = 'BICRON';
+    const BLOCK_US_EAST         = 'BLOCK_US_EAST';
+    const BLOCK_US_WEST         = 'BLOCK_US_WEST';
+    const BLOCK_US_SOUTH        = 'BLOCK_US_SOUTH';
+    const BOHR                  = 'BOHR';
+    const BRACCIO               = 'BRACCIO';
+    const BRAZA_ARGENTINA       = 'BRAZA_ARGENTINA';
+    const BRAZA                 = 'BRAZA';
+    const BRAZA_US              = 'BRAZA_US';
+    const BUTTON                = 'BUTTON';
+    const CABLE_US              = 'CABLE_US';
+    const CABLE_UK              = 'CABLE_UK';
+    const CALIBER               = 'CALIBER';
+    const CANA                  = 'CANA';
+    const CAPE_FOOT             = 'CAPE_FOOT';
+    const CAPE_INCH             = 'CAPE_INCH';
+    const CAPE_ROOD             = 'CAPE_ROOD';
+    const CENTIMETER            = 'CENTIMETER';
+    const CHAIN                 = 'CHAIN';
+    const CHAIN_ENGINEER        = 'CHAIN_ENGINEER';
+    const CHIH                  = 'CHIH';
+    const CHINESE_FOOT          = 'CHINESE_FOOT';
+    const CHINESE_INCH          = 'CHINESE_INCH';
+    const CHINESE_MILE          = 'CHINESE_MILE';
+    const CHINESE_YARD          = 'CHINESE_YARD';
+    const CITY_BLOCK_US_EAST    = 'CITY_BLOCK_US_EAST';
+    const CITY_BLOCK_US_WEST    = 'CITY_BLOCK_US_WEST';
+    const CITY_BLOCK_US_SOUTH   = 'CITY_BLOCK_US_SOUTH';
+    const CLICK                 = 'CLICK';
+    const CUADRA                = 'CUADRA';
+    const CUADRA_ARGENTINA      = 'CUADRA_ARGENTINA';
+    const CUBIT_EGYPT           = 'Length:CUBIT_EGYPT';
+    const CUBIT_ROYAL           = 'CUBIT_ROYAL';
+    const CUBIT_UK              = 'CUBIT_UK';
+    const CUBIT                 = 'CUBIT';
+    const CUERDA                = 'CUERDA';
+    const DECIMETER             = 'DECIMETER';
+    const DEKAMETER             = 'DEKAMETER';
+    const DIDOT_POINT           = 'DIDOT_POINT';
+    const DIGIT                 = 'DIGIT';
+    const DIRAA                 = 'DIRAA';
+    const DONG                  = 'DONG';
+    const DOUZIEME_WATCH        = 'DOUZIEME_WATCH';
+    const DOUZIEME              = 'DOUZIEME';
+    const DRA_IRAQ              = 'DRA_IRAQ';
+    const DRA                   = 'DRA';
+    const EL                    = 'EL';
+    const ELL                   = 'ELL';
+    const ELL_SCOTTISH          = 'ELL_SCOTTISH';
+    const ELLE                  = 'ELLE';
+    const ELLE_VIENNA           = 'ELLE_VIENNA';
+    const EM                    = 'EM';
+    const ESTADIO_PORTUGAL      = 'ESTADIO_PORTUGAL';
+    const ESTADIO               = 'ESTADIO';
+    const EXAMETER              = 'EXAMETER';
+    const FADEN_AUSTRIA         = 'FADEN_AUSTRIA';
+    const FADEN                 = 'FADEN';
+    const FALL                  = 'FALL';
+    const FALL_SCOTTISH         = 'FALL_SCOTTISH';
+    const FATHOM                = 'FATHOM';
+    const FATHOM_ANCIENT        = 'FATHOM_ANCIENT';
+    const FAUST                 = 'FAUST';
+    const FEET_OLD_CANADIAN     = 'FEET_OLD_CANADIAN';
+    const FEET_EGYPT            = 'FEET_EGYPT';
+    const FEET_FRANCE           = 'FEET_FRANCE';
+    const FEET                  = 'FEET';
+    const FEET_IRAQ             = 'FEET_IRAQ';
+    const FEET_NETHERLAND       = 'FEET_NETHERLAND';
+    const FEET_ITALIC           = 'FEET_ITALIC';
+    const FEET_SURVEY           = 'FEET_SURVEY';
+    const FEMTOMETER            = 'FEMTOMETER';
+    const FERMI                 = 'FERMI';
+    const FINGER                = 'FINGER';
+    const FINGERBREADTH         = 'FINGERBREADTH';
+    const FIST                  = 'FIST';
+    const FOD                   = 'FOD';
+    const FOOT_EGYPT            = 'FOOT_EGYPT';
+    const FOOT_FRANCE           = 'FOOT_FRANCE';
+    const FOOT                  = 'FOOT';
+    const FOOT_IRAQ             = 'FOOT_IRAQ';
+    const FOOT_NETHERLAND       = 'FOOT_NETHERLAND';
+    const FOOT_ITALIC           = 'FOOT_ITALIC';
+    const FOOT_SURVEY           = 'FOOT_SURVEY';
+    const FOOTBALL_FIELD_CANADA = 'FOOTBALL_FIELD_CANADA';
+    const FOOTBALL_FIELD_US     = 'FOOTBALL_FIELD_US';
+    const FOOTBALL_FIELD        = 'FOOTBALL_FIELD';
+    const FURLONG               = 'FURLONG';
+    const FURLONG_SURVEY        = 'FURLONG_SURVEY';
+    const FUSS                  = 'FUSS';
+    const GIGAMETER             = 'GIGAMETER';
+    const GIGAPARSEC            = 'GIGAPARSEC';
+    const GNATS_EYE             = 'GNATS_EYE';
+    const GOAD                  = 'GOAD';
+    const GRY                   = 'GRY';
+    const HAIRS_BREADTH         = 'HAIRS_BREADTH';
+    const HAND                  = 'HAND';
+    const HANDBREADTH           = 'HANDBREADTH';
+    const HAT                   = 'HAT';
+    const HECTOMETER            = 'HECTOMETER';
+    const HEER                  = 'HEER';
+    const HIRO                  = 'HIRO';
+    const HUBBLE                = 'HUBBLE';
+    const HVAT                  = 'HVAT';
+    const INCH                  = 'INCH';
+    const IRON                  = 'IRON';
+    const KEN                   = 'KEN';
+    const KERAT                 = 'KERAT';
+    const KILOFOOT              = 'KILOFOOT';
+    const KILOMETER             = 'KILOMETER';
+    const KILOPARSEC            = 'KILOPARSEC';
+    const KILOYARD              = 'KILOYARD';
+    const KIND                  = 'KIND';
+    const KLAFTER               = 'KLAFTER';
+    const KLAFTER_SWISS         = 'KLAFTER_SWISS';
+    const KLICK                 = 'KLICK';
+    const KYU                   = 'KYU';
+    const LAP_ANCIENT           = 'LAP_ANCIENT';
+    const LAP                   = 'LAP';
+    const LAP_POOL              = 'LAP_POOL';
+    const LEAGUE_ANCIENT        = 'LEAGUE_ANCIENT';
+    const LEAGUE_NAUTIC         = 'LEAGUE_NAUTIC';
+    const LEAGUE_UK_NAUTIC      = 'LEAGUE_UK_NAUTIC';
+    const LEAGUE                = 'LEAGUE';
+    const LEAGUE_US             = 'LEAGUE_US';
+    const LEAP                  = 'LEAP';
+    const LEGOA                 = 'LEGOA';
+    const LEGUA                 = 'LEGUA';
+    const LEGUA_US              = 'LEGUA_US';
+    const LEGUA_SPAIN_OLD       = 'LEGUA_SPAIN_OLD';
+    const LEGUA_SPAIN           = 'LEGUA_SPAIN';
+    const LI_ANCIENT            = 'LI_ANCIENT';
+    const LI_IMPERIAL           = 'LI_IMPERIAL';
+    const LI                    = 'LI';
+    const LIEUE                 = 'LIEUE';
+    const LIEUE_METRIC          = 'LIEUE_METRIC';
+    const LIEUE_NAUTIC          = 'LIEUE_NAUTIC';
+    const LIGHT_SECOND          = 'LIGHT_SECOND';
+    const LIGHT_MINUTE          = 'LIGHT_MINUTE';
+    const LIGHT_HOUR            = 'LIGHT_HOUR';
+    const LIGHT_DAY             = 'LIGHT_DAY';
+    const LIGHT_YEAR            = 'LIGHT_YEAR';
+    const LIGNE                 = 'LIGNE';
+    const LIGNE_SWISS           = 'LIGNE_SWISS';
+    const LINE                  = 'LINE';
+    const LINE_SMALL            = 'LINE_SMALL';
+    const LINK                  = 'LINK';
+    const LINK_ENGINEER         = 'LINK_ENGINEER';
+    const LUG                   = 'LUG';
+    const LUG_GREAT             = 'LUG_GREAT';
+    const MARATHON              = 'MARATHON';
+    const MARK_TWAIN            = 'MARK_TWAIN';
+    const MEGAMETER             = 'MEGAMETER';
+    const MEGAPARSEC            = 'MEGAPARSEC';
+    const MEILE_AUSTRIAN        = 'MEILE_AUSTRIAN';
+    const MEILE                 = 'MEILE';
+    const MEILE_GERMAN          = 'MEILE_GERMAN';
+    const METER                 = 'METER';
+    const METRE                 = 'METRE';
+    const METRIC_MILE           = 'METRIC_MILE';
+    const METRIC_MILE_US        = 'METRIC_MILE_US';
+    const MICROINCH             = 'MICROINCH';
+    const MICROMETER            = 'MICROMETER';
+    const MICROMICRON           = 'MICROMICRON';
+    const MICRON                = 'MICRON';
+    const MIGLIO                = 'MIGLIO';
+    const MIIL                  = 'MIIL';
+    const MIIL_DENMARK          = 'MIIL_DENMARK';
+    const MIIL_SWEDISH          = 'MIIL_SWEDISH';
+    const MIL                   = 'MIL';
+    const MIL_SWEDISH           = 'MIL_SWEDISH';
+    const MILE_UK               = 'MILE_UK';
+    const MILE_IRISH            = 'MILE_IRISH';
+    const MILE                  = 'MILE';
+    const MILE_NAUTIC           = 'MILE_NAUTIC';
+    const MILE_NAUTIC_UK        = 'MILE_NAUTIC_UK';
+    const MILE_NAUTIC_US        = 'MILE_NAUTIC_US';
+    const MILE_ANCIENT          = 'MILE_ANCIENT';
+    const MILE_SCOTTISH         = 'MILE_SCOTTISH';
+    const MILE_STATUTE          = 'MILE_STATUTE';
+    const MILE_US               = 'MILE_US';
+    const MILHA                 = 'MILHA';
+    const MILITARY_PACE         = 'MILITARY_PACE';
+    const MILITARY_PACE_DOUBLE  = 'MILITARY_PACE_DOUBLE';
+    const MILLA                 = 'MILLA';
+    const MILLE                 = 'MILLE';
+    const MILLIARE              = 'MILLIARE';
+    const MILLIMETER            = 'MILLIMETER';
+    const MILLIMICRON           = 'MILLIMICRON';
+    const MKONO                 = 'MKONO';
+    const MOOT                  = 'MOOT';
+    const MYRIAMETER            = 'MYRIAMETER';
+    const NAIL                  = 'NAIL';
+    const NANOMETER             = 'NANOMETER';
+    const NANON                 = 'NANON';
+    const PACE                  = 'PACE';
+    const PACE_ROMAN            = 'PACE_ROMAN';
+    const PALM_DUTCH            = 'PALM_DUTCH';
+    const PALM_UK               = 'PALM_UK';
+    const PALM                  = 'PALM';
+    const PALMO_PORTUGUESE      = 'PALMO_PORTUGUESE';
+    const PALMO                 = 'PALMO';
+    const PALMO_US              = 'PALMO_US';
+    const PARASANG              = 'PARASANG';
+    const PARIS_FOOT            = 'PARIS_FOOT';
+    const PARSEC                = 'PARSEC';
+    const PE                    = 'PE';
+    const PEARL                 = 'PEARL';
+    const PERCH                 = 'PERCH';
+    const PERCH_IRELAND         = 'PERCH_IRELAND';
+    const PERTICA               = 'PERTICA';
+    const PES                   = 'PES';
+    const PETAMETER             = 'PETAMETER';
+    const PICA                  = 'PICA';
+    const PICOMETER             = 'PICOMETER';
+    const PIE_ARGENTINA         = 'PIE_ARGENTINA';
+    const PIE_ITALIC            = 'PIE_ITALIC';
+    const PIE                   = 'PIE';
+    const PIE_US                = 'PIE_US';
+    const PIED_DE_ROI           = 'PIED_DE_ROI';
+    const PIK                   = 'PIK';
+    const PIKE                  = 'PIKE';
+    const POINT_ADOBE           = 'POINT_ADOBE';
+    const POINT                 = 'POINT';
+    const POINT_DIDOT           = 'POINT_DIDOT';
+    const POINT_TEX             = 'POINT_TEX';
+    const POLE                  = 'POLE';
+    const POLEGADA              = 'POLEGADA';
+    const POUCE                 = 'POUCE';
+    const PU                    = 'PU';
+    const PULGADA               = 'PULGADA';
+    const PYGME                 = 'PYGME';
+    const Q                     = 'Q';
+    const QUADRANT              = 'QUADRANT';
+    const QUARTER               = 'QUARTER';
+    const QUARTER_CLOTH         = 'QUARTER_CLOTH';
+    const QUARTER_PRINT         = 'QUARTER_PRINT';
+    const RANGE                 = 'RANGE';
+    const REED                  = 'REED';
+    const RI                    = 'RI';
+    const RIDGE                 = 'RIDGE';
+    const RIVER                 = 'RIVER';
+    const ROD                   = 'ROD';
+    const ROD_SURVEY            = 'ROD_SURVEY';
+    const ROEDE                 = 'ROEDE';
+    const ROOD                  = 'ROOD';
+    const ROPE                  = 'ROPE';
+    const ROYAL_FOOT            = 'ROYAL_FOOT';
+    const RUTE                  = 'RUTE';
+    const SADZHEN               = 'SADZHEN';
+    const SAGENE                = 'SAGENE';
+    const SCOTS_FOOT            = 'SCOTS_FOOT';
+    const SCOTS_MILE            = 'SCOTS_MILE';
+    const SEEMEILE              = 'SEEMEILE';
+    const SHACKLE               = 'SHACKLE';
+    const SHAFTMENT             = 'SHAFTMENT';
+    const SHAFTMENT_ANCIENT     = 'SHAFTMENT_ANCIENT';
+    const SHAKU                 = 'SHAKU';
+    const SIRIOMETER            = 'SIRIOMETER';
+    const SMOOT                 = 'SMOOT';
+    const SPAN                  = 'SPAN';
+    const SPAT                  = 'SPAT';
+    const STADIUM               = 'STADIUM';
+    const STEP                  = 'STEP';
+    const STICK                 = 'STICK';
+    const STORY                 = 'STORY';
+    const STRIDE                = 'STRIDE';
+    const STRIDE_ROMAN          = 'STRIDE_ROMAN';
+    const TENTHMETER            = 'TENTHMETER';
+    const TERAMETER             = 'TERAMETER';
+    const THOU                  = 'THOU';
+    const TOISE                 = 'TOISE';
+    const TOWNSHIP              = 'TOWNSHIP';
+    const T_SUN                 = 'T_SUN';
+    const TU                    = 'TU';
+    const TWAIN                 = 'TWAIN';
+    const TWIP                  = 'TWIP';
+    const U                     = 'U';
+    const VARA_CALIFORNIA       = 'VARA_CALIFORNIA';
+    const VARA_MEXICAN          = 'VARA_MEXICAN';
+    const VARA_PORTUGUESE       = 'VARA_PORTUGUESE';
+    const VARA_AMERICA          = 'VARA_AMERICA';
+    const VARA                  = 'VARA';
+    const VARA_TEXAS            = 'VARA_TEXAS';
+    const VERGE                 = 'VERGE';
+    const VERSHOK               = 'VERSHOK';
+    const VERST                 = 'VERST';
+    const WAH                   = 'WAH';
+    const WERST                 = 'WERST';
+    const X_UNIT                = 'X_UNIT';
+    const YARD                  = 'YARD';
+    const YOCTOMETER            = 'YOCTOMETER';
+    const YOTTAMETER            = 'YOTTAMETER';
+    const ZEPTOMETER            = 'ZEPTOMETER';
+    const ZETTAMETER            = 'ZETTAMETER';
+    const ZOLL                  = 'ZOLL';
+    const ZOLL_SWISS            = 'ZOLL_SWISS';
+
+    /**
+     * Calculations for all length units
+     *
+     * @var array
+     */
+    protected $_units = array(
+        'AGATE'           => array(array('' => '0.0254', '/' => '72'), 'agate'),
+        'ALEN_DANISH'     => array('0.6277',           'alen'),
+        'ALEN'            => array('0.6',              'alen'),
+        'ALEN_SWEDISH'    => array('0.5938',           'alen'),
+        'ANGSTROM'        => array('1.0e-10',          'Å'),
+        'ARMS'            => array('0.7',              'arms'),
+        'ARPENT_CANADIAN' => array('58.47',            'arpent'),
+        'ARPENT'          => array('58.471308',        'arpent'),
+        'ARSHEEN'         => array('0.7112',           'arsheen'),
+        'ARSHIN'          => array('1.04',             'arshin'),
+        'ARSHIN_IRAQ'     => array('74.5',             'arshin'),
+        'ASTRONOMICAL_UNIT' => array('149597870691',   'AU'),
+        'ATTOMETER'       => array('1.0e-18',          'am'),
+        'BAMBOO'          => array('3.2',              'bamboo'),
+        'BARLEYCORN'      => array('0.0085',           'barleycorn'),
+        'BEE_SPACE'       => array('0.0065',           'bee space'),
+        'BICRON'          => array('1.0e-12',          '��'),
+        'BLOCK_US_EAST'   => array('80.4672',          'block'),
+        'BLOCK_US_WEST'   => array('100.584',          'block'),
+        'BLOCK_US_SOUTH'  => array('160.9344',         'block'),
+        'BOHR'            => array('52.918e-12',       'a�'),
+        'BRACCIO'         => array('0.7',              'braccio'),
+        'BRAZA_ARGENTINA' => array('1.733',            'braza'),
+        'BRAZA'           => array('1.67',             'braza'),
+        'BRAZA_US'        => array('1.693',            'braza'),
+        'BUTTON'          => array('0.000635',         'button'),
+        'CABLE_US'        => array('219.456',          'cable'),
+        'CABLE_UK'        => array('185.3184',         'cable'),
+        'CALIBER'         => array('0.0254',           'cal'),
+        'CANA'            => array('2',                'cana'),
+        'CAPE_FOOT'       => array('0.314858',         'cf'),
+        'CAPE_INCH'       => array(array('' => '0.314858','/' => '12'), 'ci'),
+        'CAPE_ROOD'       => array('3.778296',         'cr'),
+        'CENTIMETER'      => array('0.01',             'cm'),
+        'CHAIN'           => array(array('' => '79200','/' => '3937'),  'ch'),
+        'CHAIN_ENGINEER'  => array('30.48',            'ch'),
+        'CHIH'            => array('0.35814',          "ch'ih"),
+        'CHINESE_FOOT'    => array('0.371475',         'ft'),
+        'CHINESE_INCH'    => array('0.0371475',        'in'),
+        'CHINESE_MILE'    => array('557.21',           'mi'),
+        'CHINESE_YARD'    => array('0.89154',          'yd'),
+        'CITY_BLOCK_US_EAST'  => array('80.4672',      'block'),
+        'CITY_BLOCK_US_WEST'  => array('100.584',      'block'),
+        'CITY_BLOCK_US_SOUTH' => array('160.9344',     'block'),
+        'CLICK'           => array('1000',             'click'),
+        'CUADRA'          => array('84',               'cuadra'),
+        'CUADRA_ARGENTINA'=> array('130',              'cuadra'),
+        'Length:CUBIT_EGYPT'      => array('0.45',             'cubit'),
+        'CUBIT_ROYAL'     => array('0.5235',           'cubit'),
+        'CUBIT_UK'        => array('0.4572',           'cubit'),
+        'CUBIT'           => array('0.444',            'cubit'),
+        'CUERDA'          => array('21',               'cda'),
+        'DECIMETER'       => array('0.1',              'dm'),
+        'DEKAMETER'       => array('10',               'dam'),
+        'DIDOT_POINT'     => array('0.000377',         'didot point'),
+        'DIGIT'           => array('0.019',            'digit'),
+        'DIRAA'           => array('0.58',             ''),
+        'DONG'            => array(array('' => '7','/' => '300'), 'dong'),
+        'DOUZIEME_WATCH'  => array('0.000188',         'douzi�me'),
+        'DOUZIEME'        => array('0.00017638888889', 'douzi�me'),
+        'DRA_IRAQ'        => array('0.745',            'dra'),
+        'DRA'             => array('0.7112',           'dra'),
+        'EL'              => array('0.69',             'el'),
+        'ELL'             => array('1.143',            'ell'),
+        'ELL_SCOTTISH'    => array('0.945',            'ell'),
+        'ELLE'            => array('0.6',              'ellen'),
+        'ELLE_VIENNA'     => array('0.7793',           'ellen'),
+        'EM'              => array('0.0042175176',     'em'),
+        'ESTADIO_PORTUGAL'=> array('261',              'estadio'),
+        'ESTADIO'         => array('174',              'estadio'),
+        'EXAMETER'        => array('1.0e+18',          'Em'),
+        'FADEN_AUSTRIA'   => array('1.8965',           'faden'),
+        'FADEN'           => array('1.8',              'faden'),
+        'FALL'            => array('6.858',            'fall'),
+        'FALL_SCOTTISH'   => array('5.67',             'fall'),
+        'FATHOM'          => array('1.8288',           'fth'),
+        'FATHOM_ANCIENT'  => array('1.829',            'fth'),
+        'FAUST'           => array('0.10536',          'faust'),
+        'FEET_OLD_CANADIAN' => array('0.325',          'ft'),
+        'FEET_EGYPT'      => array('0.36',             'ft'),
+        'FEET_FRANCE'     => array('0.3248406',        'ft'),
+        'FEET'            => array('0.3048',           'ft'),
+        'FEET_IRAQ'       => array('0.316',            'ft'),
+        'FEET_NETHERLAND' => array('0.28313',          'ft'),
+        'FEET_ITALIC'     => array('0.296',            'ft'),
+        'FEET_SURVEY'     => array(array('' => '1200', '/' => '3937'), 'ft'),
+        'FEMTOMETER'      => array('1.0e-15',          'fm'),
+        'FERMI'           => array('1.0e-15',          'f'),
+        'FINGER'          => array('0.1143',           'finger'),
+        'FINGERBREADTH'   => array('0.01905',          'fingerbreadth'),
+        'FIST'            => array('0.1',              'fist'),
+        'FOD'             => array('0.3141',           'fod'),
+        'FOOT_EGYPT'      => array('0.36',             'ft'),
+        'FOOT_FRANCE'     => array('0.3248406',        'ft'),
+        'FOOT'            => array('0.3048',           'ft'),
+        'FOOT_IRAQ'       => array('0.316',            'ft'),
+        'FOOT_NETHERLAND' => array('0.28313',          'ft'),
+        'FOOT_ITALIC'     => array('0.296',            'ft'),
+        'FOOT_SURVEY'     => array(array('' => '1200', '/' => '3937'), 'ft'),
+        'FOOTBALL_FIELD_CANADA' => array('100.584',    'football field'),
+        'FOOTBALL_FIELD_US'     => array('91.44',      'football field'),
+        'FOOTBALL_FIELD'  => array('109.728',          'football field'),
+        'FURLONG'         => array('201.168',          'fur'),
+        'FURLONG_SURVEY'  => array(array('' => '792000', '/' => '3937'), 'fur'),
+        'FUSS'            => array('0.31608',          'fuss'),
+        'GIGAMETER'       => array('1.0e+9',           'Gm'),
+        'GIGAPARSEC'      => array('30.85678e+24',     'Gpc'),
+        'GNATS_EYE'       => array('0.000125',         "gnat's eye"),
+        'GOAD'            => array('1.3716',           'goad'),
+        'GRY'             => array('0.000211667',      'gry'),
+        'HAIRS_BREADTH'   => array('0.0001',           "hair's breadth"),
+        'HAND'            => array('0.1016',           'hand'),
+        'HANDBREADTH'     => array('0.08',             "hand's breadth"),
+        'HAT'             => array('0.5',              'hat'),
+        'HECTOMETER'      => array('100',              'hm'),
+        'HEER'            => array('73.152',           'heer'),
+        'HIRO'            => array('1.818',            'hiro'),
+        'HUBBLE'          => array('9.4605e+24',       'hubble'),
+        'HVAT'            => array('1.8965',           'hvat'),
+        'INCH'            => array('0.0254',           'in'),
+        'IRON'            => array(array('' => '0.0254', '/' => '48'), 'iron'),
+        'KEN'             => array('1.818',            'ken'),
+        'KERAT'           => array('0.0286',           'kerat'),
+        'KILOFOOT'        => array('304.8',            'kft'),
+        'KILOMETER'       => array('1000',             'km'),
+        'KILOPARSEC'      => array('3.0856776e+19',    'kpc'),
+        'KILOYARD'        => array('914.4',            'kyd'),
+        'KIND'            => array('0.5',              'kind'),
+        'KLAFTER'         => array('1.8965',           'klafter'),
+        'KLAFTER_SWISS'   => array('1.8',              'klafter'),
+        'KLICK'           => array('1000',             'klick'),
+        'KYU'             => array('0.00025',          'kyu'),
+        'LAP_ANCIENT'     => array('402.336',          ''),
+        'LAP'             => array('400',              'lap'),
+        'LAP_POOL'        => array('100',              'lap'),
+        'LEAGUE_ANCIENT'  => array('2275',             'league'),
+        'LEAGUE_NAUTIC'   => array('5556',             'league'),
+        'LEAGUE_UK_NAUTIC'=> array('5559.552',         'league'),
+        'LEAGUE'          => array('4828',             'league'),
+        'LEAGUE_US'       => array('4828.0417',        'league'),
+        'LEAP'            => array('2.0574',           'leap'),
+        'LEGOA'           => array('6174.1',           'legoa'),
+        'LEGUA'           => array('4200',             'legua'),
+        'LEGUA_US'        => array('4233.4',           'legua'),
+        'LEGUA_SPAIN_OLD' => array('4179.4',           'legua'),
+        'LEGUA_SPAIN'     => array('6680',             'legua'),
+        'LI_ANCIENT'      => array('500',              'li'),
+        'LI_IMPERIAL'     => array('644.65',           'li'),
+        'LI'              => array('500',              'li'),
+        'LIEUE'           => array('3898',             'lieue'),
+        'LIEUE_METRIC'    => array('4000',             'lieue'),
+        'LIEUE_NAUTIC'    => array('5556',             'lieue'),
+        'LIGHT_SECOND'    => array('299792458',        'light second'),
+        'LIGHT_MINUTE'    => array('17987547480',      'light minute'),
+        'LIGHT_HOUR'      => array('1079252848800',    'light hour'),
+        'LIGHT_DAY'       => array('25902068371200',   'light day'),
+        'LIGHT_YEAR'      => array('9460528404879000', 'ly'),
+        'LIGNE'           => array('0.0021167',        'ligne'),
+        'LIGNE_SWISS'     => array('0.002256',         'ligne'),
+        'LINE'            => array('0.0021167',        'li'),
+        'LINE_SMALL'      => array('0.000635',         'li'),
+        'LINK'            => array(array('' => '792','/' => '3937'), 'link'),
+        'LINK_ENGINEER'   => array('0.3048',           'link'),
+        'LUG'             => array('5.0292',           'lug'),
+        'LUG_GREAT'       => array('6.4008',           'lug'),
+        'MARATHON'        => array('42194.988',        'marathon'),
+        'MARK_TWAIN'      => array('3.6576074',        'mark twain'),
+        'MEGAMETER'       => array('1000000',          'Mm'),
+        'MEGAPARSEC'      => array('3.085677e+22',     'Mpc'),
+        'MEILE_AUSTRIAN'  => array('7586',             'meile'),
+        'MEILE'           => array('7412.7',           'meile'),
+        'MEILE_GERMAN'    => array('7532.5',           'meile'),
+        'METER'           => array('1',                'm'),
+        'METRE'           => array('1',                'm'),
+        'METRIC_MILE'     => array('1500',             'metric mile'),
+        'METRIC_MILE_US'  => array('1600',             'metric mile'),
+        'MICROINCH'       => array('2.54e-08',         '�in'),
+        'MICROMETER'      => array('0.000001',         '�m'),
+        'MICROMICRON'     => array('1.0e-12',          '��'),
+        'MICRON'          => array('0.000001',         '�'),
+        'MIGLIO'          => array('1488.6',           'miglio'),
+        'MIIL'            => array('7500',             'miil'),
+        'MIIL_DENMARK'    => array('7532.5',           'miil'),
+        'MIIL_SWEDISH'    => array('10687',            'miil'),
+        'MIL'             => array('0.0000254',        'mil'),
+        'MIL_SWEDISH'     => array('10000',            'mil'),
+        'MILE_UK'         => array('1609',             'mi'),
+        'MILE_IRISH'      => array('2048',             'mi'),
+        'MILE'            => array('1609.344',         'mi'),
+        'MILE_NAUTIC'     => array('1852',             'mi'),
+        'MILE_NAUTIC_UK'  => array('1853.184',         'mi'),
+        'MILE_NAUTIC_US'  => array('1852',             'mi'),
+        'MILE_ANCIENT'    => array('1520',             'mi'),
+        'MILE_SCOTTISH'   => array('1814',             'mi'),
+        'MILE_STATUTE'    => array('1609.344',         'mi'),
+        'MILE_US'         => array(array('' => '6336000','/' => '3937'), 'mi'),
+        'MILHA'           => array('2087.3',           'milha'),
+        'MILITARY_PACE'   => array('0.762',            'mil. pace'),
+        'MILITARY_PACE_DOUBLE' => array('0.9144',      'mil. pace'),
+        'MILLA'           => array('1392',             'milla'),
+        'MILLE'           => array('1949',             'mille'),
+        'MILLIARE'        => array('0.001478',         'milliare'),
+        'MILLIMETER'      => array('0.001',            'mm'),
+        'MILLIMICRON'     => array('1.0e-9',           'm�'),
+        'MKONO'           => array('0.4572',           'mkono'),
+        'MOOT'            => array('0.0762',           'moot'),
+        'MYRIAMETER'      => array('10000',            'mym'),
+        'NAIL'            => array('0.05715',          'nail'),
+        'NANOMETER'       => array('1.0e-9',           'nm'),
+        'NANON'           => array('1.0e-9',           'nanon'),
+        'PACE'            => array('1.524',            'pace'),
+        'PACE_ROMAN'      => array('1.48',             'pace'),
+        'PALM_DUTCH'      => array('0.10',             'palm'),
+        'PALM_UK'         => array('0.075',            'palm'),
+        'PALM'            => array('0.2286',           'palm'),
+        'PALMO_PORTUGUESE'=> array('0.22',             'palmo'),
+        'PALMO'           => array('0.20',             'palmo'),
+        'PALMO_US'        => array('0.2117',           'palmo'),
+        'PARASANG'        => array('6000',             'parasang'),
+        'PARIS_FOOT'      => array('0.3248406',        'paris foot'),
+        'PARSEC'          => array('3.0856776e+16',    'pc'),
+        'PE'              => array('0.33324',          'p�'),
+        'PEARL'           => array('0.001757299',      'pearl'),
+        'PERCH'           => array('5.0292',           'perch'),
+        'PERCH_IRELAND'   => array('6.4008',           'perch'),
+        'PERTICA'         => array('2.96',             'pertica'),
+        'PES'             => array('0.2967',           'pes'),
+        'PETAMETER'       => array('1.0e+15',          'Pm'),
+        'PICA'            => array('0.0042175176',     'pi'),
+        'PICOMETER'       => array('1.0e-12',          'pm'),
+        'PIE_ARGENTINA'   => array('0.2889',           'pie'),
+        'PIE_ITALIC'      => array('0.298',            'pie'),
+        'PIE'             => array('0.2786',           'pie'),
+        'PIE_US'          => array('0.2822',           'pie'),
+        'PIED_DE_ROI'     => array('0.3248406',        'pied de roi'),
+        'PIK'             => array('0.71',             'pik'),
+        'PIKE'            => array('0.71',             'pike'),
+        'POINT_ADOBE'     => array(array('' => '0.3048', '/' => '864'), 'pt'),
+        'POINT'           => array('0.00035',          'pt'),
+        'POINT_DIDOT'     => array('0.000377',         'pt'),
+        'POINT_TEX'       => array('0.0003514598035',  'pt'),
+        'POLE'            => array('5.0292',           'pole'),
+        'POLEGADA'        => array('0.02777',          'polegada'),
+        'POUCE'           => array('0.02707',          'pouce'),
+        'PU'              => array('1.7907',           'pu'),
+        'PULGADA'         => array('0.02365',          'pulgada'),
+        'PYGME'           => array('0.346',            'pygme'),
+        'Q'               => array('0.00025',          'q'),
+        'QUADRANT'        => array('10001300',         'quad'),
+        'QUARTER'         => array('402.336',          'Q'),
+        'QUARTER_CLOTH'   => array('0.2286',           'Q'),
+        'QUARTER_PRINT'   => array('0.00025',          'Q'),
+        'RANGE'           => array(array('' => '38016000','/' => '3937'), 'range'),
+        'REED'            => array('2.679',            'reed'),
+        'RI'              => array('3927',             'ri'),
+        'RIDGE'           => array('6.1722',           'ridge'),
+        'RIVER'           => array('2000',             'river'),
+        'ROD'             => array('5.0292',           'rd'),
+        'ROD_SURVEY'      => array(array('' => '19800', '/' => '3937'), 'rd'),
+        'ROEDE'           => array('10',               'roede'),
+        'ROOD'            => array('3.7783',           'rood'),
+        'ROPE'            => array('3.7783',           'rope'),
+        'ROYAL_FOOT'      => array('0.3248406',        'royal foot'),
+        'RUTE'            => array('3.75',             'rute'),
+        'SADZHEN'         => array('2.1336',           'sadzhen'),
+        'SAGENE'          => array('2.1336',           'sagene'),
+        'SCOTS_FOOT'      => array('0.30645',          'scots foot'),
+        'SCOTS_MILE'      => array('1814.2',           'scots mile'),
+        'SEEMEILE'        => array('1852',             'seemeile'),
+        'SHACKLE'         => array('27.432',           'shackle'),
+        'SHAFTMENT'       => array('0.15124',          'shaftment'),
+        'SHAFTMENT_ANCIENT' => array('0.165',          'shaftment'),
+        'SHAKU'           => array('0.303',            'shaku'),
+        'SIRIOMETER'      => array('1.4959787e+17',    'siriometer'),
+        'SMOOT'           => array('1.7018',           'smoot'),
+        'SPAN'            => array('0.2286',           'span'),
+        'SPAT'            => array('1.0e+12',          'spat'),
+        'STADIUM'         => array('185',              'stadium'),
+        'STEP'            => array('0.762',            'step'),
+        'STICK'           => array('3.048',            'stk'),
+        'STORY'           => array('3.3',              'story'),
+        'STRIDE'          => array('1.524',            'stride'),
+        'STRIDE_ROMAN'    => array('1.48',             'stride'),
+        'TENTHMETER'      => array('1.0e-10',          'tenth-meter'),
+        'TERAMETER'       => array('1.0e+12',          'Tm'),
+        'THOU'            => array('0.0000254',        'thou'),
+        'TOISE'           => array('1.949',            'toise'),
+        'TOWNSHIP'        => array(array('' => '38016000','/' => '3937'), 'twp'),
+        'T_SUN'           => array('0.0358',           "t'sun"),
+        'TU'              => array('161130',           'tu'),
+        'TWAIN'           => array('3.6576074',        'twain'),
+        'TWIP'            => array('0.000017639',      'twip'),
+        'U'               => array('0.04445',          'U'),
+        'VARA_CALIFORNIA' => array('0.83820168',       'vara'),
+        'VARA_MEXICAN'    => array('0.83802',          'vara'),
+        'VARA_PORTUGUESE' => array('1.10',             'vara'),
+        'VARA_AMERICA'    => array('0.864',            'vara'),
+        'VARA'            => array('0.83587',          'vara'),
+        'VARA_TEXAS'      => array('0.84666836',       'vara'),
+        'VERGE'           => array('0.9144',           'verge'),
+        'VERSHOK'         => array('0.04445',          'vershok'),
+        'VERST'           => array('1066.8',           'verst'),
+        'WAH'             => array('2',                'wah'),
+        'WERST'           => array('1066.8',           'werst'),
+        'X_UNIT'          => array('1.0020722e-13',    'Xu'),
+        'YARD'            => array('0.9144',           'yd'),
+        'YOCTOMETER'      => array('1.0e-24',          'ym'),
+        'YOTTAMETER'      => array('1.0e+24',          'Ym'),
+        'ZEPTOMETER'      => array('1.0e-21',          'zm'),
+        'ZETTAMETER'      => array('1.0e+21',          'Zm'),
+        'ZOLL'            => array('0.02634',          'zoll'),
+        'ZOLL_SWISS'      => array('0.03',             'zoll'),
+        'STANDARD'        => 'METER'
+    );
+}