LanguageAnalysis.pas 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. {
  2. File: LanguageAnalysis.p
  3. Contains: Language Analysis Manager Interfaces
  4. Version: Technology: Mac OS 8
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1996-2002 by Apple Computer, Inc., all rights reserved
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {
  12. Modified for use with Free Pascal
  13. Version 200
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$CALLING MWPASCAL}
  21. unit LanguageAnalysis;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  24. {$setc GAP_INTERFACES_VERSION := $0200}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __i386__ and defined CPUI386}
  40. {$setc __i386__ := 1}
  41. {$elsec}
  42. {$setc __i386__ := 0}
  43. {$endc}
  44. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  45. {$error Conflicting definitions for __ppc__ and __i386__}
  46. {$endc}
  47. {$ifc defined __ppc__ and __ppc__}
  48. {$setc TARGET_CPU_PPC := TRUE}
  49. {$setc TARGET_CPU_X86 := FALSE}
  50. {$elifc defined __i386__ and __i386__}
  51. {$setc TARGET_CPU_PPC := FALSE}
  52. {$setc TARGET_CPU_X86 := TRUE}
  53. {$elsec}
  54. {$error Neither __ppc__ nor __i386__ is defined.}
  55. {$endc}
  56. {$setc TARGET_CPU_PPC_64 := FALSE}
  57. {$ifc defined FPC_BIG_ENDIAN}
  58. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  59. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  60. {$elifc defined FPC_LITTLE_ENDIAN}
  61. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  62. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  63. {$elsec}
  64. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  65. {$endc}
  66. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  67. {$setc CALL_NOT_IN_CARBON := FALSE}
  68. {$setc OLDROUTINENAMES := FALSE}
  69. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  70. {$setc OPAQUE_UPP_TYPES := TRUE}
  71. {$setc OTCARBONAPPLICATION := TRUE}
  72. {$setc OTKERNEL := FALSE}
  73. {$setc PM_USE_SESSION_APIS := TRUE}
  74. {$setc TARGET_API_MAC_CARBON := TRUE}
  75. {$setc TARGET_API_MAC_OS8 := FALSE}
  76. {$setc TARGET_API_MAC_OSX := TRUE}
  77. {$setc TARGET_CARBON := TRUE}
  78. {$setc TARGET_CPU_68K := FALSE}
  79. {$setc TARGET_CPU_MIPS := FALSE}
  80. {$setc TARGET_CPU_SPARC := FALSE}
  81. {$setc TARGET_OS_MAC := TRUE}
  82. {$setc TARGET_OS_UNIX := FALSE}
  83. {$setc TARGET_OS_WIN32 := FALSE}
  84. {$setc TARGET_RT_MAC_68881 := FALSE}
  85. {$setc TARGET_RT_MAC_CFM := FALSE}
  86. {$setc TARGET_RT_MAC_MACHO := TRUE}
  87. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  88. {$setc TYPE_BOOL := FALSE}
  89. {$setc TYPE_EXTENDED := FALSE}
  90. {$setc TYPE_LONGLONG := TRUE}
  91. uses MacTypes,AEDataModel,Files,AERegistry,Dictionary,TextCommon,MacErrors;
  92. {$ALIGN POWER}
  93. type
  94. LAEnvironmentRef = ^SInt32; { an opaque 32-bit type }
  95. LAEnvironmentRefPtr = ^LAEnvironmentRef; { when a var xx:LAEnvironmentRef parameter can be nil, it is changed to xx: LAEnvironmentRefPtr }
  96. LAContextRef = ^SInt32; { an opaque 32-bit type }
  97. LAContextRefPtr = ^LAContextRef; { when a var xx:LAContextRef parameter can be nil, it is changed to xx: LAContextRefPtr }
  98. LAPropertyKey = AEKeyword;
  99. LAPropertyType = DescType;
  100. {
  101. Data structure for high level API
  102. }
  103. LAMorphemeRecPtr = ^LAMorphemeRec;
  104. LAMorphemeRec = record
  105. sourceTextLength: ByteCount;
  106. sourceTextPtr: LogicalAddress;
  107. morphemeTextLength: ByteCount;
  108. morphemeTextPtr: LogicalAddress;
  109. partOfSpeech: UInt32;
  110. end;
  111. LAMorphemesArrayPtr = ^LAMorphemesArray;
  112. LAMorphemesArray = record
  113. morphemesCount: ItemCount;
  114. processedTextLength: ByteCount;
  115. morphemesTextLength: ByteCount;
  116. morphemes: array [0..0] of LAMorphemeRec;
  117. end;
  118. const
  119. kLAMorphemesArrayVersion = 0;
  120. {
  121. Definitions for result path/bundle structure
  122. }
  123. type
  124. LAMorphemeBundle = AERecord;
  125. LAMorphemeBundlePtr = ^LAMorphemeBundle;
  126. LAMorphemePath = AERecord;
  127. LAMorphemePathPtr = ^LAMorphemePath;
  128. LAMorpheme = AERecord;
  129. LAMorphemePtr = ^LAMorpheme;
  130. LAHomograph = AERecord;
  131. LAHomographPtr = ^LAHomograph;
  132. const
  133. keyAELAMorphemeBundle = $6C6D6662 (* 'lmfb' *);
  134. keyAELAMorphemePath = $6C6D6670 (* 'lmfp' *);
  135. keyAELAMorpheme = $6C6D666E (* 'lmfn' *);
  136. keyAELAHomograph = $6C6D6668 (* 'lmfh' *);
  137. typeLAMorphemeBundle = $7265636F (* 'reco' *);
  138. typeLAMorphemePath = $7265636F (* 'reco' *);
  139. typeLAMorpheme = $6C697374 (* 'list' *);
  140. typeLAHomograph = $6C697374 (* 'list' *);
  141. {
  142. Definitions for morpheme/homograph information
  143. }
  144. keyAEMorphemePartOfSpeechCode = $6C616D63 (* 'lamc' *);
  145. keyAEMorphemeTextRange = $6C616D74 (* 'lamt' *);
  146. typeAEMorphemePartOfSpeechCode = $6C616D63 (* 'lamc' *);
  147. typeAEMorphemeTextRange = $6C616D74 (* 'lamt' *);
  148. type
  149. MorphemePartOfSpeech = UInt32;
  150. MorphemeTextRangePtr = ^MorphemeTextRange;
  151. MorphemeTextRange = record
  152. sourceOffset: UInt32;
  153. length: UInt32;
  154. end;
  155. {
  156. Mask for High level API convert flags
  157. }
  158. const
  159. kLAEndOfSourceTextMask = $00000001;
  160. {
  161. Constants for leading/trailing path of analysis function
  162. }
  163. kLADefaultEdge = 0;
  164. kLAFreeEdge = 1;
  165. kLAIncompleteEdge = 2;
  166. {
  167. Constants for confirm and shift function
  168. }
  169. kLAAllMorphemes = 0;
  170. {
  171. Library version
  172. }
  173. {
  174. * LALibraryVersion()
  175. *
  176. * Availability:
  177. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  178. * CarbonLib: in CarbonLib 1.0 and later
  179. * Mac OS X: in version 10.0 and later
  180. }
  181. function LALibraryVersion: UInt32; external name '_LALibraryVersion';
  182. {
  183. High level API
  184. }
  185. {
  186. * LATextToMorphemes()
  187. *
  188. * Availability:
  189. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  190. * CarbonLib: in CarbonLib 1.0 and later
  191. * Mac OS X: in version 10.0 and later
  192. }
  193. function LATextToMorphemes(context: LAContextRef; preferedEncoding: TextEncoding; textLength: ByteCount; sourceText: ConstLogicalAddress; bufferSize: ByteCount; convertFlags: OptionBits; structureVersion: UInt32; var acceptedLength: ByteCount; resultBuffer: LAMorphemesArrayPtr): OSStatus; external name '_LATextToMorphemes';
  194. {
  195. Handling Context
  196. }
  197. {
  198. * LAOpenAnalysisContext()
  199. *
  200. * Availability:
  201. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  202. * CarbonLib: in CarbonLib 1.0 and later
  203. * Mac OS X: in version 10.0 and later
  204. }
  205. function LAOpenAnalysisContext(environ: LAEnvironmentRef; var context: LAContextRef): OSStatus; external name '_LAOpenAnalysisContext';
  206. {
  207. * LACloseAnalysisContext()
  208. *
  209. * Availability:
  210. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  211. * CarbonLib: in CarbonLib 1.0 and later
  212. * Mac OS X: in version 10.0 and later
  213. }
  214. function LACloseAnalysisContext(context: LAContextRef): OSStatus; external name '_LACloseAnalysisContext';
  215. {
  216. Handling Environment
  217. }
  218. {
  219. * LAGetEnvironmentList()
  220. *
  221. * Availability:
  222. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  223. * CarbonLib: in CarbonLib 1.0 and later
  224. * Mac OS X: in version 10.0 and later
  225. }
  226. function LAGetEnvironmentList(maxCount: UInt32; var actualCount: UInt32; var environmentList: LAEnvironmentRef): OSStatus; external name '_LAGetEnvironmentList';
  227. {
  228. * LAGetEnvironmentName()
  229. *
  230. * Availability:
  231. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  232. * CarbonLib: in CarbonLib 1.0 and later
  233. * Mac OS X: in version 10.0 and later
  234. }
  235. function LAGetEnvironmentName(environment: LAEnvironmentRef; var environmentName: Str63): OSStatus; external name '_LAGetEnvironmentName';
  236. {
  237. * LAGetEnvironmentRef()
  238. *
  239. * Availability:
  240. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  241. * CarbonLib: in CarbonLib 1.0 and later
  242. * Mac OS X: in version 10.0 and later
  243. }
  244. function LAGetEnvironmentRef(const (*var*) targetEnvironmentName: Str63; var environment: LAEnvironmentRef): OSStatus; external name '_LAGetEnvironmentRef';
  245. {
  246. * LACreateCustomEnvironment()
  247. *
  248. * Availability:
  249. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  250. * CarbonLib: in CarbonLib 1.0 and later
  251. * Mac OS X: in version 10.0 and later
  252. }
  253. function LACreateCustomEnvironment(baseEnvironment: LAEnvironmentRef; const (*var*) newEnvironmentName: Str63; persistent: boolean; var newEnvironment: LAEnvironmentRef): OSStatus; external name '_LACreateCustomEnvironment';
  254. {
  255. * LADeleteCustomEnvironment()
  256. *
  257. * Availability:
  258. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  259. * CarbonLib: in CarbonLib 1.0 and later
  260. * Mac OS X: in version 10.0 and later
  261. }
  262. function LADeleteCustomEnvironment(environment: LAEnvironmentRef): OSStatus; external name '_LADeleteCustomEnvironment';
  263. {
  264. Handling dictionries
  265. }
  266. {
  267. * LAOpenDictionary()
  268. *
  269. * Availability:
  270. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  271. * CarbonLib: in CarbonLib 1.0 and later
  272. * Mac OS X: in version 10.0 and later
  273. }
  274. function LAOpenDictionary(environ: LAEnvironmentRef; const (*var*) dictionary: FSSpec): OSStatus; external name '_LAOpenDictionary';
  275. {
  276. * LACloseDictionary()
  277. *
  278. * Availability:
  279. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  280. * CarbonLib: in CarbonLib 1.0 and later
  281. * Mac OS X: in version 10.0 and later
  282. }
  283. function LACloseDictionary(environ: LAEnvironmentRef; const (*var*) dictionary: FSSpec): OSStatus; external name '_LACloseDictionary';
  284. {
  285. * LAListAvailableDictionaries()
  286. *
  287. * Availability:
  288. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  289. * CarbonLib: in CarbonLib 1.0 and later
  290. * Mac OS X: in version 10.0 and later
  291. }
  292. function LAListAvailableDictionaries(environ: LAEnvironmentRef; maxCount: ItemCount; var actualCount: ItemCount; var dictionaryList: FSSpec; var opened: boolean): OSStatus; external name '_LAListAvailableDictionaries';
  293. {
  294. * LAAddNewWord()
  295. *
  296. * Availability:
  297. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  298. * CarbonLib: in CarbonLib 1.0 and later
  299. * Mac OS X: in version 10.0 and later
  300. }
  301. function LAAddNewWord(environ: LAEnvironmentRef; const (*var*) dictionary: FSSpec; const (*var*) dataList: AEDesc): OSStatus; external name '_LAAddNewWord';
  302. {
  303. Analyzing text
  304. }
  305. {
  306. * LAMorphemeAnalysis()
  307. *
  308. * Availability:
  309. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  310. * CarbonLib: in CarbonLib 1.0 and later
  311. * Mac OS X: in version 10.0 and later
  312. }
  313. function LAMorphemeAnalysis(context: LAContextRef; text: ConstUniCharArrayPtr; textLength: UniCharCount; var leadingPath: LAMorphemePath; var trailingPath: LAMorphemePath; pathCount: ItemCount; var result: LAMorphemeBundle): OSStatus; external name '_LAMorphemeAnalysis';
  314. {
  315. * LAContinuousMorphemeAnalysis()
  316. *
  317. * Availability:
  318. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  319. * CarbonLib: in CarbonLib 1.0 and later
  320. * Mac OS X: in version 10.0 and later
  321. }
  322. function LAContinuousMorphemeAnalysis(context: LAContextRef; text: ConstUniCharArrayPtr; textLength: UniCharCount; incrementalText: boolean; var leadingPath: LAMorphemePath; var trailingPath: LAMorphemePath; var modified: boolean): OSStatus; external name '_LAContinuousMorphemeAnalysis';
  323. {
  324. * LAGetMorphemes()
  325. *
  326. * Availability:
  327. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  328. * CarbonLib: in CarbonLib 1.0 and later
  329. * Mac OS X: in version 10.0 and later
  330. }
  331. function LAGetMorphemes(context: LAContextRef; var result: LAMorphemePath): OSStatus; external name '_LAGetMorphemes';
  332. {
  333. * LAShiftMorphemes()
  334. *
  335. * Availability:
  336. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  337. * CarbonLib: in CarbonLib 1.0 and later
  338. * Mac OS X: in version 10.0 and later
  339. }
  340. function LAShiftMorphemes(context: LAContextRef; morphemeCount: ItemCount; var path: LAMorphemePath; var shiftedLength: UniCharCount): OSStatus; external name '_LAShiftMorphemes';
  341. {
  342. * LAResetAnalysis()
  343. *
  344. * Availability:
  345. * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
  346. * CarbonLib: in CarbonLib 1.0 and later
  347. * Mac OS X: in version 10.0 and later
  348. }
  349. function LAResetAnalysis(context: LAContextRef): OSStatus; external name '_LAResetAnalysis';
  350. {
  351. Check Language Analysis Manager availability
  352. }
  353. {$ifc TARGET_RT_MAC_CFM}
  354. {
  355. LALanguageAnalysisAvailable() is a macro available only in C/C++.
  356. To get the same functionality from pascal or assembly, you need
  357. to test if Language Analysis Manager functions are not NULL.
  358. For instance:
  359. IF @LALibraryVersion <> kUnresolvedCFragSymbolAddress THEN
  360. gLanguageAnalysisAvailable = TRUE;
  361. ELSE
  362. gLanguageAnalysisAvailable = FALSE;
  363. end
  364. }
  365. {$elsec}
  366. {$ifc TARGET_RT_MAC_MACHO}
  367. { Language Analysis Manager is always available on OS X }
  368. {$endc}
  369. {$endc}
  370. {
  371. =============================================================================================
  372. Definitions for Japanese Analysis Module
  373. =============================================================================================
  374. }
  375. {
  376. Names for default environments for Japanese analysis
  377. }
  378. {
  379. File cretor for dictionary of Apple Japanese access method
  380. }
  381. const
  382. kAppleJapaneseDictionarySignature = $6A6C616E (* 'jlan' *);
  383. {
  384. Engine limitations
  385. }
  386. kMaxInputLengthOfAppleJapaneseEngine = 200;
  387. {
  388. Definitions of information in the path/bundle
  389. }
  390. type
  391. JapanesePartOfSpeech = MorphemePartOfSpeech;
  392. HomographWeight = UInt16;
  393. HomographAccent = UInt8;
  394. {
  395. AE keywords and type definitions for morpheme/homograph information
  396. }
  397. const
  398. keyAEHomographDicInfo = $6C616864 (* 'lahd' *);
  399. keyAEHomographWeight = $6C616877 (* 'lahw' *);
  400. keyAEHomographAccent = $6C616861 (* 'laha' *);
  401. typeAEHomographDicInfo = $6C616864 (* 'lahd' *);
  402. typeAEHomographWeight = $73686F72 (* 'shor' *);
  403. typeAEHomographAccent = $6C616861 (* 'laha' *);
  404. {
  405. Structure for dictionary information of homograph
  406. }
  407. type
  408. HomographDicInfoRecPtr = ^HomographDicInfoRec;
  409. HomographDicInfoRec = record
  410. dictionaryID: DCMDictionaryID;
  411. uniqueID: DCMUniqueID;
  412. end;
  413. {
  414. =============================================================================================
  415. Definitions for Japanese part of speeches
  416. =============================================================================================
  417. }
  418. {
  419. Masks for part of speeches
  420. }
  421. const
  422. kLASpeechRoughClassMask = $0000F000;
  423. kLASpeechMediumClassMask = $0000FF00;
  424. kLASpeechStrictClassMask = $0000FFF0;
  425. kLASpeechKatsuyouMask = $0000000F;
  426. {
  427. Part of speeches
  428. }
  429. kLASpeechMeishi = $00000000; { noun }
  430. kLASpeechFutsuuMeishi = $00000000; { general noun }
  431. kLASpeechJinmei = $00000100; { person name }
  432. kLASpeechJinmeiSei = $00000110; { family name }
  433. kLASpeechJinmeiMei = $00000120; { first name }
  434. kLASpeechChimei = $00000200; { place name }
  435. kLASpeechSetsubiChimei = $00000210; { place name with suffix }
  436. kLASpeechSoshikimei = $00000300; { organization name }
  437. kLASpeechKoyuuMeishi = $00000400; { proper noun }
  438. kLASpeechSahenMeishi = $00000500; { special noun }
  439. kLASpeechKeidouMeishi = $00000600; { special noun }
  440. kLASpeechRentaishi = $00001000;
  441. kLASpeechFukushi = $00002000; { adverb }
  442. kLASpeechSetsuzokushi = $00003000; { conjunction }
  443. kLASpeechKandoushi = $00004000;
  444. kLASpeechDoushi = $00005000; { verb }
  445. kLASpeechGodanDoushi = $00005000;
  446. kLASpeechKagyouGodan = $00005000;
  447. kLASpeechSagyouGodan = $00005010;
  448. kLASpeechTagyouGodan = $00005020;
  449. kLASpeechNagyouGodan = $00005030;
  450. kLASpeechMagyouGodan = $00005040;
  451. kLASpeechRagyouGodan = $00005050;
  452. kLASpeechWagyouGodan = $00005060;
  453. kLASpeechGagyouGodan = $00005070;
  454. kLASpeechBagyouGodan = $00005080;
  455. kLASpeechIchidanDoushi = $00005100;
  456. kLASpeechKahenDoushi = $00005200;
  457. kLASpeechSahenDoushi = $00005300;
  458. kLASpeechZahenDoushi = $00005400;
  459. kLASpeechKeiyoushi = $00006000; { adjective }
  460. kLASpeechKeiyoudoushi = $00007000;
  461. kLASpeechSettougo = $00008000; { prefix }
  462. kLASpeechSuujiSettougo = $00008100; { prefix for numbers }
  463. kLASpeechSetsubigo = $00009000; { suffix }
  464. kLASpeechJinmeiSetsubigo = $00009100; { suffix for person name }
  465. kLASpeechChimeiSetsubigo = $00009200; { suffix for place name }
  466. kLASpeechSoshikimeiSetsubigo = $00009300; { suffix for organization name }
  467. kLASpeechSuujiSetsubigo = $00009400; { suffix for numbers }
  468. kLASpeechMuhinshi = $0000A000; { no category }
  469. kLASpeechTankanji = $0000A000; { character }
  470. kLASpeechKigou = $0000A100; { symbol }
  471. kLASpeechKuten = $0000A110;
  472. kLASpeechTouten = $0000A120;
  473. kLASpeechSuushi = $0000A200; { numbers }
  474. kLASpeechDokuritsugo = $0000A300;
  475. kLASpeechSeiku = $0000A400;
  476. kLASpeechJodoushi = $0000B000; { auxiliary verb }
  477. kLASpeechJoshi = $0000C000; { postpositional particle }
  478. {
  479. Conjugations
  480. }
  481. kLASpeechKatsuyouGokan = $00000001; { stem }
  482. kLASpeechKatsuyouMizen = $00000002;
  483. kLASpeechKatsuyouRenyou = $00000003;
  484. kLASpeechKatsuyouSyuushi = $00000004;
  485. kLASpeechKatsuyouRentai = $00000005;
  486. kLASpeechKatsuyouKatei = $00000006;
  487. kLASpeechKatsuyouMeirei = $00000007;
  488. {$ALIGN MAC68K}
  489. end.