You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2014/09/04 00:50:19 UTC
[38/50] [abbrv] FLEX-34506 remove Adobe from file names and
directories
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/AdobeSpellingDictGen/src/UIWord.as
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/AdobeSpellingDictGen/src/UIWord.as b/Squiggly/main/Tools/AdobeSpellingDictGen/src/UIWord.as
deleted file mode 100644
index 74c32e5..0000000
--- a/Squiggly/main/Tools/AdobeSpellingDictGen/src/UIWord.as
+++ /dev/null
@@ -1,37 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package
-{
- public class UIWord
- {
- public var index:uint;
- public var word:String;
- public var meta:String;
-
- public function UIWord(inIndex:uint, inWord:String)
- {
- index = inIndex;
- word = inWord;
- meta = "";
- }
-
- }
-
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/SpellingDictGen/README.txt
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/SpellingDictGen/README.txt b/Squiggly/main/Tools/SpellingDictGen/README.txt
new file mode 100644
index 0000000..5326ed6
--- /dev/null
+++ b/Squiggly/main/Tools/SpellingDictGen/README.txt
@@ -0,0 +1,16 @@
+Squiggly Dictionary Generator v0.1
+
+README
+===================================
+
+This is a simple AIR application that converts a plain text word list file to an Adobe Spelling Dictionary file.
+
+Here's what each step is doing:
+1. Load a plain text file, each line in the file contains one word, a sampleWOrdList.txt is provided
+2. Calculate the metaphone, which will improve spell checker performance and result
+3. Generate a Squiggly Dictionary object
+4. Export the the Squiggly Dictionary object to a compressed binary file (recommend using *.zwl extension)
+
+Once you have the zwl file, you can use it in your Flex/AIR project.
+
+
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/SpellingDictGen/sample/sampleWordList.txt
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/SpellingDictGen/sample/sampleWordList.txt b/Squiggly/main/Tools/SpellingDictGen/sample/sampleWordList.txt
new file mode 100644
index 0000000..3c6e8ce
--- /dev/null
+++ b/Squiggly/main/Tools/SpellingDictGen/sample/sampleWordList.txt
@@ -0,0 +1,13 @@
+adobe
+apple
+amazon
+microsoft
+intel
+ibm
+google
+yahoo
+ebay
+vmware
+sun
+orcale
+facebook
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen-app.xml
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen-app.xml b/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen-app.xml
new file mode 100644
index 0000000..ecff5e3
--- /dev/null
+++ b/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen-app.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ -->
+<application xmlns="http://ns.adobe.com/air/application/1.5">
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+ Specifies parameters for identifying, installing, and launching AIR applications.
+
+ xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/1.5
+ The last segment of the namespace specifies the version
+ of the AIR runtime required for this application to run.
+
+ minimumPatchLevel - The minimum patch level of the AIR runtime required to run
+ the application. Optional.
+-->
+
+ <!-- The application identifier string, unique to this application. Required. -->
+ <id>AdobeSpellingDictGen</id>
+
+ <!-- Used as the filename for the application. Required. -->
+ <filename>AdobeSpellingDictGen</filename>
+
+ <!-- The name that is displayed in the AIR application installer.
+ May have multiple values for each language. See samples or xsd schema file. Optional. -->
+ <name>AdobeSpellingDictGen</name>
+
+ <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
+ <version>v1</version>
+
+ <!-- Description, displayed in the AIR application installer.
+ May have multiple values for each language. See samples or xsd schema file. Optional. -->
+ <!-- <description></description> -->
+
+ <!-- Copyright information. Optional -->
+ <!-- <copyright></copyright> -->
+
+ <!-- Settings for the application's initial window. Required. -->
+ <initialWindow>
+ <!-- The main SWF or HTML file of the application. Required. -->
+ <!-- Note: In Flex Builder, the SWF reference is set automatically. -->
+ <content>[This value will be overwritten by Flex Builder in the output app.xml]</content>
+
+ <!-- The title of the main window. Optional. -->
+ <!-- <title></title> -->
+
+ <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
+ <!-- <systemChrome></systemChrome> -->
+
+ <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
+ <!-- <transparent></transparent> -->
+
+ <!-- Whether the window is initially visible. Optional. Default false. -->
+ <!-- <visible></visible> -->
+
+ <!-- Whether the user can minimize the window. Optional. Default true. -->
+ <!-- <minimizable></minimizable> -->
+
+ <!-- Whether the user can maximize the window. Optional. Default true. -->
+ <!-- <maximizable></maximizable> -->
+
+ <!-- Whether the user can resize the window. Optional. Default true. -->
+ <!-- <resizable></resizable> -->
+
+ <!-- The window's initial width. Optional. -->
+ <!-- <width></width> -->
+
+ <!-- The window's initial height. Optional. -->
+ <!-- <height></height> -->
+
+ <!-- The window's initial x position. Optional. -->
+ <!-- <x></x> -->
+
+ <!-- The window's initial y position. Optional. -->
+ <!-- <y></y> -->
+
+ <!-- The window's minimum size, specified as a width/height pair, such as "400 200". Optional. -->
+ <!-- <minSize></minSize> -->
+
+ <!-- The window's initial maximum size, specified as a width/height pair, such as "1600 1200". Optional. -->
+ <!-- <maxSize></maxSize> -->
+ </initialWindow>
+
+ <!-- The subpath of the standard default installation location to use. Optional. -->
+ <!-- <installFolder></installFolder> -->
+
+ <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
+ <!-- <programMenuFolder></programMenuFolder> -->
+
+ <!-- The icon the system uses for the application. For at least one resolution,
+ specify the path to a PNG file included in the AIR package. Optional. -->
+ <!-- <icon>
+ <image16x16></image16x16>
+ <image32x32></image32x32>
+ <image48x48></image48x48>
+ <image128x128></image128x128>
+ </icon> -->
+
+ <!-- Whether the application handles the update when a user double-clicks an update version
+ of the AIR file (true), or the default AIR application installer handles the update (false).
+ Optional. Default false. -->
+ <!-- <customUpdateUI></customUpdateUI> -->
+
+ <!-- Whether the application can be launched when the user clicks a link in a web browser.
+ Optional. Default false. -->
+ <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+ <!-- Listing of file types for which the application can register. Optional. -->
+ <!-- <fileTypes> -->
+
+ <!-- Defines one file type. Optional. -->
+ <!-- <fileType> -->
+
+ <!-- The name that the system displays for the registered file type. Required. -->
+ <!-- <name></name> -->
+
+ <!-- The extension to register. Required. -->
+ <!-- <extension></extension> -->
+
+ <!-- The description of the file type. Optional. -->
+ <!-- <description></description> -->
+
+ <!-- The MIME content type. -->
+ <!-- <contentType></contentType> -->
+
+ <!-- The icon to display for the file type. Optional. -->
+ <!-- <icon>
+ <image16x16></image16x16>
+ <image32x32></image32x32>
+ <image48x48></image48x48>
+ <image128x128></image128x128>
+ </icon> -->
+
+ <!-- </fileType> -->
+ <!-- </fileTypes> -->
+
+</application>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen.mxml
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen.mxml b/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen.mxml
new file mode 100644
index 0000000..2399910
--- /dev/null
+++ b/Squiggly/main/Tools/SpellingDictGen/src/SpellingDictGen.mxml
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="800" height="600" fontSize="12">
+
+
+ <mx:Script>
+ <![CDATA[
+
+ import com.adobe.linguistics.spelling.utils.WordList;
+ import com.adobe.linguistics.spelling.engine.dictionary.SuseDictionary;
+ import com.adobe.linguistics.spelling.codec.language.MetaPhone;
+
+ // For debug only
+ private var tsStart:int
+ private var tsEnd:int;
+
+ // An array with words only
+ private var basicWordList:Array;
+
+ // A suse dictionary object (hash) as defined in suse engine
+ private var suse:SuseDictionary;
+
+ // An array with index, word, metaphone
+ [Bindable]
+ private var advWordList:Array;
+
+ private var src:File = File.applicationDirectory;
+ private var dest:File = File.applicationDirectory;
+
+
+ private function browseInFile():void
+ {
+ try {
+ src.browseForOpen("Select a TXT file");
+ src.addEventListener(Event.SELECT, inFileSelected);
+ } catch (error:Error)
+ {
+ trace("Failed:", error.message);
+ }
+ }
+
+ private function inFileSelected(event:Event):void
+ {
+ tsStart = getTimer();
+ var file:File = event.target as File;
+ var stream:FileStream = new FileStream();
+ stream.open(file, FileMode.READ);
+ var fileData:String = stream.readUTFBytes(stream.bytesAvailable);
+
+ if (fileData.charAt(fileData.indexOf("\n")-2) == "\r") //Strange, but happened when generating the text file from mac
+ {
+ basicWordList = fileData.split("\r\r\n");
+ }
+ else if (fileData.charAt(fileData.indexOf("\n")-1) == "\r")
+ {
+ basicWordList = fileData.split("\r\n"); //Windows
+ }
+ else
+ {
+ basicWordList = fileData.split("\n"); //Mac and linux
+ }
+
+ loadTxtInfo.text = file.nativePath + " (" + basicWordList.length.toString() + " words, " + file.size.toString() + " bytes)";
+ loadTxtInfo.setStyle("color", "green");
+
+ // Debug log
+ tsEnd = getTimer();
+ debugInfo.text += "DebugInfo\n================\n" + "TxtLoaded: "+ file.nativePath + " " + (tsEnd - tsStart).toString() + "ms" + "\n";
+ prepareToShow();
+ }
+
+
+ private function browseOutFile():void
+ {
+ try {
+ dest.browseForSave("Output ZWL file");
+ dest.addEventListener(Event.SELECT, outFileSelected);
+ } catch (error:Error)
+ {
+ trace("Failed:", error.message);
+ }
+ }
+
+ private function outFileSelected(event:Event):void
+ {
+ tsStart = getTimer();
+ var bytes:ByteArray = new ByteArray();
+ bytes.writeObject(suse);
+ bytes.position = 0;
+ bytes.compress();
+ bytes.position = 0;
+ var outFile:File = new File((event.target as File).nativePath);
+ var outStream:FileStream = new FileStream();
+ outStream.open(outFile, FileMode.WRITE);
+ outStream.writeBytes(bytes, 0, bytes.length);
+ outStream.close();
+
+ exportInfo.text = outFile.nativePath + " (" + outFile.size.toString() + " bytes)";
+ exportInfo.setStyle("color", "green");
+
+ // Debug log
+ tsEnd = getTimer();
+ debugInfo.text += "\nZwlExported: " + outFile.nativePath + " " + (tsEnd - tsStart).toString() + "ms\n";
+
+ }
+
+
+
+ private function prepareToShow():void
+ {
+
+ advWordList = new Array();
+ for (var i:uint=0; i<basicWordList.length; i++) {
+ // In case some empty string are there
+ if (basicWordList[i] != "")
+ advWordList.push(new UIWord(i, basicWordList[i]));
+ }
+ }
+
+ private function genMeta():void
+ {
+
+ var _metaphone:MetaPhone= new MetaPhone();
+ tsStart = getTimer();
+ for (var i:uint=0; i<advWordList.length; i++) {
+ advWordList[i].meta = _metaphone.meta(advWordList[i].word, 4);
+ }
+ genMetaInfo.text = "Metaphone index generated";
+ genMetaInfo.setStyle("color", "green");
+ myDataGrid.dataProvider= advWordList;
+ // Debug log
+ tsEnd = getTimer();
+ debugInfo.text += "\nMetaGenerated: " + (tsEnd - tsStart).toString() + "ms\n";
+ }
+
+ private function genSuseDict():void
+ {
+ suse = new SuseDictionary();
+ tsStart = getTimer();
+ for (var i:uint=0; i<advWordList.length; i++) {
+ if (suse.MetaPhoneHash[advWordList[i].meta]) {
+ suse.MetaPhoneHash[advWordList[i].meta].insert(advWordList[i].word);
+ }
+ else {
+ if ((advWordList[i].meta == "") || (advWordList[i].meta == "-nde")) continue;
+ suse.MetaPhoneHash[advWordList[i].meta] = new WordList();
+ suse.MetaPhoneHash[advWordList[i].meta].insert(advWordList[i].word);
+ }
+ }
+ genDictInfo.text = "SquigglyDict object generated";
+ genDictInfo.setStyle("color", "green");
+
+ // Debug log
+ tsEnd = getTimer();
+ debugInfo.text += "\nSquigglyDictGenerated: " + (tsEnd - tsStart).toString() + "ms\n";
+ }
+
+ ]]>
+ </mx:Script>
+ <mx:HBox width="100%">
+ <mx:Label text="Squiggly Dictionary Generator v0.1 (txt2zwl)" fontSize="25"/>
+ </mx:HBox>
+ <mx:HBox width="100%">
+ <mx:Button label="1. Load TXT File" click="browseInFile()"/>
+ <mx:HRule visible="false" width="100%"/>
+ <mx:Label id="loadTxtInfo" text="Not loaded" color="red"/>
+ </mx:HBox>
+ <mx:HBox width="100%">
+ <mx:Button label="2. Calculate Metaphone" click="genMeta()"/>
+ <mx:HRule visible="false" width="100%"/>
+ <mx:Label id="genMetaInfo" text="Not calculated" color="red"/>
+ </mx:HBox>
+ <mx:HBox width="100%">
+ <mx:Button label="3. Generate SquigglyDict" click="genSuseDict()"/>
+ <mx:HRule visible="false" width="100%"/>
+ <mx:Label id="genDictInfo" text="Not generated" color="red"/>
+ </mx:HBox>
+ <mx:HBox width="100%">
+ <mx:Button label="4. Export ZWL File" click = "browseOutFile()"/>
+ <mx:HRule visible="false" width="100%"/>
+ <mx:Label id="exportInfo" text="Not exported" color="red"/>
+ </mx:HBox>
+ <mx:HBox width="100%" height="100%">
+ <mx:DataGrid height="100%" id="myDataGrid" dataProvider = "{ advWordList }" width="70%">
+ <mx:columns>
+ <mx:DataGridColumn headerText="Index" dataField="index"/>
+ <mx:DataGridColumn headerText="Word" dataField="word"/>
+ <mx:DataGridColumn headerText="Metaphone" dataField="meta"/>
+ </mx:columns>
+ </mx:DataGrid>
+ <mx:TextArea id="debugInfo" height="100%" width="30%" />
+ </mx:HBox>
+</mx:WindowedApplication>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/fd2bc5a5/Squiggly/main/Tools/SpellingDictGen/src/UIWord.as
----------------------------------------------------------------------
diff --git a/Squiggly/main/Tools/SpellingDictGen/src/UIWord.as b/Squiggly/main/Tools/SpellingDictGen/src/UIWord.as
new file mode 100644
index 0000000..74c32e5
--- /dev/null
+++ b/Squiggly/main/Tools/SpellingDictGen/src/UIWord.as
@@ -0,0 +1,37 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+ public class UIWord
+ {
+ public var index:uint;
+ public var word:String;
+ public var meta:String;
+
+ public function UIWord(inIndex:uint, inWord:String)
+ {
+ index = inIndex;
+ word = inWord;
+ meta = "";
+ }
+
+ }
+
+
+}
\ No newline at end of file