kopia lustrzana https://github.com/njcrawford/EmbroideryReader
Porównaj commity
132 Commity
Autor | SHA1 | Data |
---|---|---|
Nathan Crawford | ee4fe73d20 | |
Nathan Crawford | 34fb797550 | |
Nathan Crawford | 742cb94527 | |
Nathan Crawford | f25708e604 | |
Nathan Crawford | 51bc553e73 | |
Nathan Crawford | afd3e80907 | |
Nathan Crawford | c16f3e7fb0 | |
Nathan Crawford | 36e1668305 | |
Nathan Crawford | b2e8809004 | |
Nathan Crawford | de3eca27c8 | |
Nathan Crawford | aeb8aaf6e4 | |
Nathan Crawford | 612b8d0a24 | |
Nathan Crawford | 1b33c47dda | |
Nathan Crawford | 34eb10023c | |
Nathan Crawford | 8471b3519c | |
Nathan Crawford | 2d59addb2d | |
Nathan Crawford | 9c44d3ecf6 | |
Nathan Crawford | 2d78fbc5b5 | |
Nathan Crawford | fe2e9a7446 | |
Nathan Crawford | 8798fcb80c | |
Nathan Crawford | 3c9ff412ba | |
Nathan Crawford | 5d42ec4c52 | |
Nathan Crawford | 9a7c4c19b4 | |
Nathan Crawford | 7c779615dc | |
Nathan Crawford | 06e3a79874 | |
Nathan Crawford | 5f92c297f4 | |
Nathan Crawford | 09d181c1af | |
Nathan Crawford | 8a141537a7 | |
Nathan Crawford | 01e04b0a61 | |
Nathan Crawford | 54f5523484 | |
Nathan Crawford | 37c0b98487 | |
Nathan Crawford | 89c706588a | |
Nathan Crawford | 9d2b208a52 | |
Nathan Crawford | 1c7f85d98e | |
Nathan Crawford | ea38b44295 | |
Nathan Crawford | 39cdbbda3f | |
Nathan Crawford | daa67cfcdd | |
Nathan Crawford | 71f69a0b3a | |
Nathan Crawford | 06632cc768 | |
Nathan Crawford | 3bc68def33 | |
Nathan Crawford | 07e700a48d | |
Nathan Crawford | 7b024e7f27 | |
Nathan Crawford | db7902970f | |
Nathan Crawford | b1905feca1 | |
Nathan Crawford | 3fda9e60b1 | |
Nathan Crawford | d2f64f0205 | |
Nathan Crawford | 725ab4e11e | |
Nathan Crawford | 5aef99f6e5 | |
Nathan Crawford | 02ed3d8794 | |
Nathan Crawford | fc04bef577 | |
Nathan Crawford | 97cc2d8935 | |
Nathan Crawford | d0c2eb485a | |
Nathan Crawford | 5cf44ec832 | |
Nathan Crawford | 246194c2aa | |
Nathan Crawford | d32bab0edb | |
Nathan Crawford | 9c1ec936a6 | |
Nathan Crawford | c793ee83d2 | |
Nathan Crawford | b490109711 | |
Nathan Crawford | d8d135ffe5 | |
Nathan Crawford | 0e26a1644f | |
Nathan Crawford | 3fed11f544 | |
Nathan Crawford | b1d1fd0c89 | |
Nathan Crawford | cb65256d5b | |
Nathan Crawford | d9342e1180 | |
Nathan Crawford | 5aa9cc9832 | |
Nathan Crawford | f7d5589a19 | |
Nathan Crawford | adf3b6a3cd | |
Nathan Crawford | 0f11f3c63d | |
Nathan Crawford | e2604752e6 | |
Nathan Crawford | fd0e0c86f4 | |
Nathan Crawford | b1c18b1b77 | |
Nathan Crawford | f71b0fe111 | |
Nathan Crawford | 0705e4b456 | |
Nathan Crawford | 0d4ec463f2 | |
Nathan Crawford | 088682071b | |
Nathan Crawford | 2f4b84e0e8 | |
Nathan Crawford | a5f7f8e14a | |
Nathan Crawford | 5d3f5886b8 | |
Nathan Crawford | 8c198c741b | |
Nathan Crawford | 4c0d607064 | |
Nathan Crawford | be26151f95 | |
Nathan Crawford | f6deb2eab9 | |
Nathan Crawford | dc37643ee6 | |
Nathan Crawford | c570b3121d | |
Nathan Crawford | 85a022bd10 | |
Nathan Crawford | ebe1a80c50 | |
Nathan Crawford | 2d2f33115a | |
Nathan Crawford | 4ae27ec284 | |
Nathan Crawford | fb0eb1bd4d | |
Nathan Crawford | 0695371c8b | |
Nathan Crawford | 3f3ca3e9aa | |
Nathan Crawford | c5d3c9be19 | |
Nathan Crawford | f4f69fd5bd | |
Nathan Crawford | 7b3cc3f7d6 | |
Nathan Crawford | 00779d20e5 | |
Nathan Crawford | ce88147fdd | |
Nathan Crawford | dca8b020bc | |
Nathan Crawford | 9ccad2f545 | |
Nathan Crawford | 76a00f4aff | |
Nathan Crawford | 09d0eb536a | |
Nathan Crawford | 19a1b51ffd | |
Nathan Crawford | f373d5bc81 | |
Nathan Crawford | 96c38379db | |
Nathan Crawford | e0ebf2d20c | |
Nathan Crawford | 00c1ca3e37 | |
Nathan Crawford | a2eb153ba1 | |
Nathan Crawford | 0f5ce1aa43 | |
Nathan Crawford | 91331d915c | |
Nathan Crawford | edd9f83d84 | |
Nathan Crawford | 1323b50759 | |
Nathan Crawford | 046d2e82cb | |
Nathan Crawford | 0a2f9efa97 | |
njcrawford | 72158feeeb | |
Nathan Crawford | 10e7a923f1 | |
Nathan Crawford | 4e7b2e5d9e | |
Nathan Crawford | eda741d42e | |
Nathan Crawford | 042cc3abe3 | |
Nathan Crawford | 5ef18eb593 | |
Nathan Crawford | 18702b50a7 | |
Nathan Crawford | b0e3d20e9f | |
Nathan Crawford | b014ab3499 | |
Nathan Crawford | 341a97e4d8 | |
Chris Stefano | 9dffd4b251 | |
Nathan Crawford | 61b4aad803 | |
Nathan Crawford | a642a33595 | |
Nathan Crawford | 97a728b74f | |
Nathan Crawford | 7c810f386f | |
Nathan Crawford | 09cc4aaa68 | |
Nathan Crawford | a10c80ed33 | |
Nathan Crawford | 035b7d2a8a | |
Nathan Crawford | 8e07ced42c | |
Nathan Crawford | 4627214f50 |
|
@ -0,0 +1,22 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
|
@ -0,0 +1,114 @@
|
|||
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# mstest test results
|
||||
TestResults
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*
|
||||
|
||||
# NCrunch
|
||||
*.ncrunch*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish
|
||||
|
||||
# Publish Web Output
|
||||
*.Publish.xml
|
||||
|
||||
# NuGet Packages Directory
|
||||
packages
|
||||
|
||||
# Windows Azure Build Output
|
||||
csx
|
||||
*.build.csdef
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
[Bb]in
|
||||
[Oo]bj
|
||||
sql
|
||||
TestResults
|
||||
[Tt]est[Rr]esult*
|
||||
*.Cache
|
||||
ClientBin
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*.dbmdl
|
||||
Generated_Code #added for RIA/Silverlight projects
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
|
||||
*.bak
|
||||
*.wixpdb
|
||||
*.wixobj
|
||||
Thumbs.db
|
||||
/.vs
|
|
@ -0,0 +1 @@
|
|||
/*.msi
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 103 KiB |
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 318 B |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 318 B |
|
@ -0,0 +1,186 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v.NET Framework 4 Client Profile"/></startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Accessibility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="cscompmgd" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="CustomMarshalers" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="IEExecRemote" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="IEHost" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="IIEHost" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ISymWrapper" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.JScript" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualBasic.Compatibility.Data" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualBasic.Compatibility" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualBasic" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualBasic.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.VisualC" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Vsa" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Vsa.Vb.CodeDOMProcessor" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft_VsaVb" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="mscorcfg" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Configuration.Install" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Design" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.DirectoryServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Drawing.Design" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.EnterpriseServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Management" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Messaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Remoting" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.Serialization.Formatters.Soap" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ServiceProcess" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mobile" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Services" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Windows.Forms" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjscor" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="VJSharpCodeProvider" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="7.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjslib" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjslibcw" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjswfc" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="VJSWfcBrowserStubLib" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjswfccw" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="vjswfchtml" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="1.0.3300.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding></runtime></configuration>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<!-- ProductGuid should change whenever ProductVersion changes -->
|
||||
<?define ProductVersion="2.2.4" ?>
|
||||
<?define ProductGuid="{39447850-C068-4C91-8142-AEA9630470C5}" ?>
|
||||
<Product Id="$(var.ProductGuid)" Name="Embroidery Reader" Language="1033" Version="$(var.ProductVersion)" Manufacturer="Nathan Crawford" UpgradeCode="CE1642E2-5EE0-454F-B7DF-5C9C92D6D40D">
|
||||
<Package Description="Test file in a Product" Comments="Simple test" InstallerVersion="200" Compressed="yes" />
|
||||
<Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="ProgramFilesFolder" Name="PFiles">
|
||||
<Directory Id="ROOTDIR" Name="NJCrawford Software">
|
||||
<Directory Id="PRODUCTDIR" Name="Embroidery Reader">
|
||||
<Component Id="RequiredFiles" DiskId="1" Guid="ad3defbe-e276-41ab-9d76-9ab9f2976ac2">
|
||||
<File Id="EMBROIDERYREADER.EXE" Name="embroideryReader.exe" Source="..\embroideryReader\bin\Release\embroideryReader.exe" KeyPath="yes">
|
||||
<Shortcut Id="ExeShortcut" Directory="ProgramMenuDir" Name="Embroidery Reader" Advertise="yes" Icon="StartMenuIcon.ico" />
|
||||
</File>
|
||||
<ProgId Id="EmbroideryDesign" Description="Embroidery Design File" Icon="StartMenuIcon.ico" Advertise="yes">
|
||||
<Extension Id="pes" Advertise="yes">
|
||||
<Verb Id="open" Command="&Open" Argument=""%1"" Sequence="1" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<File Id="PESFILE.DLL" Name="PesFile.dll" Source="..\embroideryReader\bin\Release\PesFile.dll" />
|
||||
<File Id="INIFILE.DLL" Name="IniFile.dll" Source="..\embroideryReader\bin\Release\IniFile.dll" />
|
||||
<File Id="ERRORREPORTER.DLL" Name="ErrorReporter.dll" Source="..\embroideryReader\bin\Release\ErrorReporter.dll" />
|
||||
</Component>
|
||||
<Directory Id="TRANSLATIONS" Name="translations">
|
||||
<Component Id="Translations" DiskId="1" KeyPath="yes" Guid="4ac2c11d-b2c9-4557-a618-fa4bacf50889">
|
||||
<File Id="EN_US.INI" Name="en-US.ini" Source="..\translations\en-US.ini" />
|
||||
<File Id="IT_IT.INI" Name="it-IT.ini" Source="..\translations\it-IT.ini" />
|
||||
<File Id="ZH_HANS.INI" Name="zh-Hans.ini" Source="..\translations\zh-Hans.ini" />
|
||||
<File Id="ZH_HANT.INI" Name="zh-Hant.ini" Source="..\translations\zh-Hant.ini" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<Directory Id="ProgramMenuFolder">
|
||||
<Directory Id="ProgramMenuDir" Name="Embroidery Reader">
|
||||
<Component Id="StartMenuShortcuts" Guid="DDE4256E-E2D5-477F-A006-929245B20219">
|
||||
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
|
||||
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<Feature Id="DefaultFeature" Title="Main Feature" Level="1">
|
||||
<ComponentRef Id="RequiredFiles" />
|
||||
<ComponentRef Id="Translations" />
|
||||
<ComponentRef Id="StartMenuShortcuts" />
|
||||
</Feature>
|
||||
<UI />
|
||||
<UIRef Id="WixUI_InstallDir" />
|
||||
<Property Id="WIXUI_INSTALLDIR" Value="PRODUCTDIR" />
|
||||
<!-- Require .Net Framework 4.0 Client profile -->
|
||||
<PropertyRef Id="NETFRAMEWORK40CLIENT" />
|
||||
<Condition Message="This application requires .NET Framework X.Y.">Installed OR NETFRAMEWORK40CLIENT</Condition>
|
||||
<!-- Icon for start menu and file association -->
|
||||
<Icon Id="StartMenuIcon.ico" SourceFile="..\embroideryReader\icon.ico" />
|
||||
<!-- Allow upgrades from any older version with a Wix-based installer -->
|
||||
<MajorUpgrade DowngradeErrorMessage="Downgrades are not supported. If you would like to install this version, you must uninstall the newer version first." />
|
||||
<!-- Install for all users (or highest available level) by default -->
|
||||
<Property Id="ALLUSERS" Value="2" />
|
||||
<!-- Show help link in Programs and Features -->
|
||||
<Property Id="ARPHELPLINK" Value="http://www.njcrawford.com/contact/" />
|
||||
<!-- Show contact in Programs and Features -->
|
||||
<Property Id="ARPCONTACT" Value="http://www.njcrawford.com/contact/" />
|
||||
<!-- Show info/about URL in Programs and Features -->
|
||||
<Property Id="ARPURLINFOABOUT" Value="http://www.njcrawford.com/programs/embroidery-reader/" />
|
||||
<!-- Show icon in Programs and Features -->
|
||||
<Property Id="ARPPRODUCTICON" Value="StartMenuIcon.ico" />
|
||||
<!-- Search for pre-Wix installer versions -->
|
||||
<Property Id="OLD_INSTALL">
|
||||
<RegistrySearch Id="SearchForOldVersions" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Embroidery Reader" Name="DisplayName" Type="raw" />
|
||||
</Property>
|
||||
<Condition Message="Embroidery Reader 1.5 or earlier is installed. Please remove previous versions of Embroidery Reader and run the installer again.">OLD_INSTALL = null</Condition>
|
||||
<!-- It doesn't appear that PREVIOUSVERSIONSINSTALLED is needed with MajorUpgrade -->
|
||||
<!-- <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" /> -->
|
||||
<!-- Specify license file -->
|
||||
<WixVariable Id="WixUILicenseRtf" Value="..\docs\license.rtf" />
|
||||
<!-- Specify custom banner bitmap 493x58 -->
|
||||
<WixVariable Id="WixUIBannerBmp" Value="images\banner.bmp" />
|
||||
<!-- Specify custom dialog bitmap 493x312 -->
|
||||
<WixVariable Id="WixUIDialogBmp" Value="images\dialog.bmp" />
|
||||
</Product>
|
||||
</Wix>
|
|
@ -0,0 +1,26 @@
|
|||
Installer must:
|
||||
1. Install files into program files, in Embroidery Reader folder (or a user-selected folder)
|
||||
a. Program .exe and .dlls
|
||||
b. Translation .inis
|
||||
2. Install Start menu Folder
|
||||
a. Short cut to .exe
|
||||
b. Must install for all users
|
||||
3. Check for required .net version before installing
|
||||
a. Should also direct user to download page, if not installed
|
||||
4. Check for old non-Wix versions before installing
|
||||
a. Version 1.5.1 and older
|
||||
b. Would be nice if it would offer to uninstall old version as well
|
||||
5. Only allow upgrades
|
||||
a. If downgrade is required, uninstall current version and install older version
|
||||
b. Older Wix-based installers must be removed during upgrade (to maintain a single Programs and Features entry)
|
||||
6. Must have a respectable Programs and Features presence
|
||||
a. Correct program name
|
||||
b. Program icon
|
||||
c. Contact URL
|
||||
d. Support URL
|
||||
e. Help URL
|
||||
7. Must include correct license in installer
|
||||
8. Must install a file association
|
||||
a. Show icon for .pes files
|
||||
b. Open .pes file with double click
|
||||
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 112 KiB |
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 601 KiB |
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
Open source .PES file viewer
|
||||
Copyright (C) 2013 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
{signature of Ty Coon}, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
PesFile.cs
|
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
Embroidery Reader - an application to view .pes embroidery designs
|
||||
|
||||
Copyright (C) 2019 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
|
||||
A copy of the full GPL 2 license can be found in the docs directory.
|
||||
You can contact me at http://www.njcrawford.com/contact/.
|
||||
*/
|
||||
|
||||
namespace PesFile
|
||||
{
|
||||
public class PesColors
|
||||
{
|
||||
public static int[,] colorMap = new int[,] {
|
||||
//red grn blu
|
||||
{ 0, 0, 0}, // 0 Not used
|
||||
{ 14, 31, 124}, // 1
|
||||
{ 10, 85, 163}, // 2
|
||||
{ 48, 135, 119}, // 3
|
||||
{ 75, 107, 175}, // 4
|
||||
{237, 23, 31}, // 5
|
||||
{209, 92, 0}, // 6
|
||||
{145, 54, 151}, // 7
|
||||
{228, 154, 203}, // 8
|
||||
{145, 95, 172}, // 9
|
||||
{157, 214, 125}, // 10
|
||||
{232, 169, 0}, // 11
|
||||
{254, 186, 53}, // 12
|
||||
{255, 255, 0}, // 13
|
||||
{112, 188, 31}, // 14
|
||||
{186, 152, 0}, // 15
|
||||
{168, 168, 168}, // 16
|
||||
{123, 111, 0}, // 17
|
||||
{255, 255, 179}, // 18
|
||||
{ 79, 85, 86}, // 19
|
||||
{ 0, 0, 0}, // 20
|
||||
{ 11, 61, 145}, // 21
|
||||
{119, 1, 118}, // 22
|
||||
{ 41, 49, 51}, // 23
|
||||
{ 42, 19, 1}, // 24
|
||||
{246, 74, 138}, // 25
|
||||
{178, 118, 36}, // 26
|
||||
{252, 187, 196}, // 27
|
||||
{254, 55, 15}, // 28
|
||||
{240, 240, 240}, // 29
|
||||
{106, 28, 138}, // 30
|
||||
{168, 221, 196}, // 31
|
||||
{ 37, 132, 187}, // 32
|
||||
{254, 179, 67}, // 33
|
||||
{255, 240, 141}, // 34
|
||||
{208, 166, 96}, // 35
|
||||
{209, 84, 0}, // 36
|
||||
{102, 186, 73}, // 37
|
||||
{ 19, 74, 70}, // 38
|
||||
{135, 135, 135}, // 39
|
||||
{216, 202, 198}, // 40
|
||||
{ 67, 86, 7}, // 41
|
||||
{254, 227, 197}, // 42
|
||||
{249, 147, 188}, // 43
|
||||
{ 0, 56, 34}, // 44
|
||||
{178, 175, 212}, // 45
|
||||
{104, 106, 176}, // 46
|
||||
{239, 227, 185}, // 47
|
||||
{247, 56, 102}, // 48
|
||||
{181, 76, 100}, // 49
|
||||
{ 19, 43, 26}, // 50
|
||||
{199, 1, 85}, // 51
|
||||
{254, 158, 50}, // 52
|
||||
{168, 222, 235}, // 53
|
||||
{ 0, 103, 26}, // 54
|
||||
{ 78, 41, 144}, // 55
|
||||
{ 47, 126, 32}, // 56
|
||||
{253, 217, 222}, // 57
|
||||
{255, 217, 17}, // 58
|
||||
{ 9, 91, 166}, // 59
|
||||
{240, 249, 112}, // 60
|
||||
{227, 243, 91}, // 61
|
||||
{255, 200, 100}, // 62
|
||||
{255, 200, 150}, // 63
|
||||
{255, 200, 200} // 64
|
||||
};
|
||||
}
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{66EF662E-F52C-4104-9C15-A14266D8F3B8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PesFile</RootNamespace>
|
||||
<AssemblyName>PesFile</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PesFile.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,58 +0,0 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{66EF662E-F52C-4104-9C15-A14266D8F3B8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PesFile</RootNamespace>
|
||||
<AssemblyName>PesFile</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>2.0</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PesFile.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>"$(ProjectDir)IncrementVersionNumber.exe" --postbuild</PostBuildEvent>
|
||||
<PreBuildEvent>"$(ProjectDir)IncrementVersionNumber.exe" --prebuild</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
1233
PesFile/PesFile.cs
1233
PesFile/PesFile.cs
Plik diff jest za duży
Load Diff
|
@ -1,92 +1,97 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{66EF662E-F52C-4104-9C15-A14266D8F3B8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PesFile</RootNamespace>
|
||||
<AssemblyName>PesFile</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PesFile.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>"$(ProjectDir)IncrementVersionNumber.exe" --postbuild</PostBuildEvent>
|
||||
<PreBuildEvent>"$(ProjectDir)IncrementVersionNumber.exe" --prebuild</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{DBF6F9B8-D00A-4BC0-BECF-EE4081F22375}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>PesFile</RootNamespace>
|
||||
<AssemblyName>PesFile</AssemblyName>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PesColors.cs" />
|
||||
<Compile Include="PesFile.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Stitch.cs" />
|
||||
<Compile Include="StitchBlock.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
Embridery Reader - an application to view .pes embroidery designs
|
||||
|
||||
Copyright (C) 2011 Nathan Crawford
|
||||
Copyright (C) 2014 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
|
@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|||
02111-1307, USA.
|
||||
|
||||
A copy of the full GPL 2 license can be found in the docs directory.
|
||||
You can contact me at http://www.njcrawford.com/contact.html.
|
||||
You can contact me at http://www.njcrawford.com/contact/.
|
||||
*/
|
||||
|
||||
using System.Reflection;
|
||||
|
@ -34,7 +34,7 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("PesFile")]
|
||||
[assembly: AssemblyCopyright("Copyright © Nathan Crawford 2011")]
|
||||
[assembly: AssemblyCopyright("Copyright © Nathan Crawford 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
|
@ -55,5 +55,5 @@ using System.Runtime.InteropServices;
|
|||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.1.0.7")]
|
||||
[assembly: AssemblyFileVersion("1.1.0.7")]
|
||||
[assembly: AssemblyVersion("1.5.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.5.4.0")]
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
Embroidery Reader - an application to view .pes embroidery designs
|
||||
|
||||
Copyright (C) 2019 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
|
||||
A copy of the full GPL 2 license can be found in the docs directory.
|
||||
You can contact me at http://www.njcrawford.com/contact/.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace PesFile
|
||||
{
|
||||
public class Stitch
|
||||
{
|
||||
public enum MoveBitSize
|
||||
{
|
||||
Unknown,
|
||||
SevenBits,
|
||||
TwelveBits
|
||||
};
|
||||
|
||||
public enum StitchType
|
||||
{
|
||||
Unknown,
|
||||
NormalStitch,
|
||||
MovementBeginAnchor,
|
||||
MovementEndAnchor,
|
||||
MovementOnly
|
||||
}
|
||||
|
||||
public Point a;
|
||||
public Point b;
|
||||
// Extra bits to output with debug info
|
||||
public int extraBits1;
|
||||
public int extraBits2;
|
||||
// Was this stitch represented as 7 bit move or 12 bit move in the file
|
||||
public MoveBitSize XMoveBits;
|
||||
public MoveBitSize YMoveBits;
|
||||
public StitchType stitchType;
|
||||
|
||||
public Stitch(Point pointA, Point pointB)
|
||||
{
|
||||
this.a = pointA;
|
||||
this.b = pointB;
|
||||
}
|
||||
|
||||
public Stitch(Point pointA, Point pointB, int extraBits1, int extraBits2, MoveBitSize XMoveBits, MoveBitSize YMoveBits, StitchType stitchType)
|
||||
{
|
||||
this.a = pointA;
|
||||
this.b = pointB;
|
||||
this.extraBits1 = extraBits1;
|
||||
this.extraBits2 = extraBits2;
|
||||
this.XMoveBits = XMoveBits;
|
||||
this.YMoveBits = YMoveBits;
|
||||
this.stitchType = stitchType;
|
||||
}
|
||||
|
||||
public double CalcLength()
|
||||
{
|
||||
double diffx = Math.Abs(a.X - b.X);
|
||||
double diffy = Math.Abs(a.Y - b.Y);
|
||||
return Math.Sqrt(Math.Pow(diffx, 2.0) + Math.Pow(diffy, 2.0));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
Embroidery Reader - an application to view .pes embroidery designs
|
||||
|
||||
Copyright (C) 2019 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
|
||||
A copy of the full GPL 2 license can be found in the docs directory.
|
||||
You can contact me at http://www.njcrawford.com/contact/.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace PesFile
|
||||
{
|
||||
public class StitchBlock
|
||||
{
|
||||
public Color color;
|
||||
public Int32 colorIndex;
|
||||
public Int32 stitchesTotal;
|
||||
public Stitch[] stitches;
|
||||
public byte unknownStartByte;
|
||||
public StitchBlock()
|
||||
{
|
||||
color = Color.Black;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
Embroidery Reader
|
||||
================
|
||||
|
||||
Embroidery Reader is an open source .PES file viewer written in C#.
|
||||
|
||||
For more information, see [http://www.njcrawford.com/programs/embroidery-reader/](http://www.njcrawford.com/programs/embroidery-reader/).
|
|
@ -0,0 +1,74 @@
|
|||
namespace TranslationBuilder
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.lblStatus = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(77, 113);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(133, 23);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "Build Translation Files";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// lblStatus
|
||||
//
|
||||
this.lblStatus.AutoSize = true;
|
||||
this.lblStatus.Location = new System.Drawing.Point(90, 179);
|
||||
this.lblStatus.Name = "lblStatus";
|
||||
this.lblStatus.Size = new System.Drawing.Size(38, 13);
|
||||
this.lblStatus.TabIndex = 1;
|
||||
this.lblStatus.Text = "Ready";
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(284, 262);
|
||||
this.Controls.Add(this.lblStatus);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label lblStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using OdsReadWrite;
|
||||
using System.IO;
|
||||
|
||||
namespace TranslationBuilder
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
button1.Enabled = false;
|
||||
lblStatus.Text = "Building...";
|
||||
this.Invalidate();
|
||||
Application.DoEvents();
|
||||
|
||||
List<string> languageName = new List<string>();
|
||||
List<string> outputs = new List<string>();
|
||||
DataSet theData = new OdsReaderWriter().ReadOdsFile("..\\..\\..\\translations\\translations.ods");
|
||||
int rowCounter = 0;
|
||||
foreach (DataRow thisRow in theData.Tables[0].Rows)
|
||||
{
|
||||
if (rowCounter == 0)
|
||||
{
|
||||
for (int i = 2; i < thisRow.ItemArray.Length; i++)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(thisRow.ItemArray[i].ToString()))
|
||||
{
|
||||
languageName.Add(thisRow.ItemArray[i].ToString());
|
||||
outputs.Add("");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string textId;
|
||||
if (!String.IsNullOrEmpty(thisRow.ItemArray[0].ToString()))
|
||||
{
|
||||
textId = thisRow.ItemArray[0].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int i = 2; i < thisRow.ItemArray.Length; i++)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(thisRow.ItemArray[i].ToString()))
|
||||
{
|
||||
outputs[i - 2] += textId + "=" + thisRow.ItemArray[i] + Environment.NewLine;
|
||||
}
|
||||
}
|
||||
}
|
||||
rowCounter++;
|
||||
}
|
||||
for (int i = 0; i < outputs.Count; i++)
|
||||
{
|
||||
StreamWriter outfile = new StreamWriter("..\\..\\..\\translations\\" + languageName[i] + ".ini");
|
||||
outfile.WriteLine("# Embroidery Reader language strings file. To translate Embroidery Reader to a new");
|
||||
outfile.WriteLine("# language, copy this file to a new name and translate each string.");
|
||||
outfile.WriteLine("# If you make a new translation, please contact me! I'd love to");
|
||||
outfile.WriteLine("# include your translation with Embroidery Reader.");
|
||||
outfile.WriteLine("# The best way to contact me is through http://www.njcrawford.com/contact/.");
|
||||
outfile.Write(outputs[i]);
|
||||
outfile.Close();
|
||||
//MessageBox.Show(languageName[i] + Environment.NewLine + outputs[i]);
|
||||
}
|
||||
lblStatus.Text = "Done";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,322 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
using Ionic.Zip;
|
||||
|
||||
namespace OdsReadWrite
|
||||
{
|
||||
internal sealed class OdsReaderWriter
|
||||
{
|
||||
// Namespaces. We need this to initialize XmlNamespaceManager so that we can search XmlDocument.
|
||||
private static string[,] namespaces = new string[,]
|
||||
{
|
||||
{"table", "urn:oasis:names:tc:opendocument:xmlns:table:1.0"},
|
||||
{"office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0"},
|
||||
{"style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0"},
|
||||
{"text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0"},
|
||||
{"draw", "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"},
|
||||
{"fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"},
|
||||
{"dc", "http://purl.org/dc/elements/1.1/"},
|
||||
{"meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0"},
|
||||
{"number", "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"},
|
||||
{"presentation", "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"},
|
||||
{"svg", "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"},
|
||||
{"chart", "urn:oasis:names:tc:opendocument:xmlns:chart:1.0"},
|
||||
{"dr3d", "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"},
|
||||
{"math", "http://www.w3.org/1998/Math/MathML"},
|
||||
{"form", "urn:oasis:names:tc:opendocument:xmlns:form:1.0"},
|
||||
{"script", "urn:oasis:names:tc:opendocument:xmlns:script:1.0"},
|
||||
{"ooo", "http://openoffice.org/2004/office"},
|
||||
{"ooow", "http://openoffice.org/2004/writer"},
|
||||
{"oooc", "http://openoffice.org/2004/calc"},
|
||||
{"dom", "http://www.w3.org/2001/xml-events"},
|
||||
{"xforms", "http://www.w3.org/2002/xforms"},
|
||||
{"xsd", "http://www.w3.org/2001/XMLSchema"},
|
||||
{"xsi", "http://www.w3.org/2001/XMLSchema-instance"},
|
||||
{"rpt", "http://openoffice.org/2005/report"},
|
||||
{"of", "urn:oasis:names:tc:opendocument:xmlns:of:1.2"},
|
||||
{"rdfa", "http://docs.oasis-open.org/opendocument/meta/rdfa#"},
|
||||
{"config", "urn:oasis:names:tc:opendocument:xmlns:config:1.0"}
|
||||
};
|
||||
|
||||
// Read zip stream (.ods file is zip file).
|
||||
private ZipFile GetZipFile(Stream stream)
|
||||
{
|
||||
return ZipFile.Read(stream);
|
||||
}
|
||||
|
||||
// Read zip file (.ods file is zip file).
|
||||
private ZipFile GetZipFile(string inputFilePath)
|
||||
{
|
||||
return ZipFile.Read(inputFilePath);
|
||||
}
|
||||
|
||||
private XmlDocument GetContentXmlFile(ZipFile zipFile)
|
||||
{
|
||||
// Get file(in zip archive) that contains data ("content.xml").
|
||||
ZipEntry contentZipEntry = zipFile["content.xml"];
|
||||
|
||||
// Extract that file to MemoryStream.
|
||||
Stream contentStream = new MemoryStream();
|
||||
contentZipEntry.Extract(contentStream);
|
||||
contentStream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
// Create XmlDocument from MemoryStream (MemoryStream contains content.xml).
|
||||
XmlDocument contentXml = new XmlDocument();
|
||||
contentXml.Load(contentStream);
|
||||
|
||||
return contentXml;
|
||||
}
|
||||
|
||||
private XmlNamespaceManager InitializeXmlNamespaceManager(XmlDocument xmlDocument)
|
||||
{
|
||||
XmlNamespaceManager nmsManager = new XmlNamespaceManager(xmlDocument.NameTable);
|
||||
|
||||
for (int i = 0; i < namespaces.GetLength(0); i++)
|
||||
nmsManager.AddNamespace(namespaces[i, 0], namespaces[i, 1]);
|
||||
|
||||
return nmsManager;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Read .ods file and store it in DataSet.
|
||||
/// </summary>
|
||||
/// <param name="inputFilePath">Path to the .ods file.</param>
|
||||
/// <returns>DataSet that represents .ods file.</returns>
|
||||
public DataSet ReadOdsFile(string inputFilePath)
|
||||
{
|
||||
ZipFile odsZipFile = this.GetZipFile(inputFilePath);
|
||||
|
||||
// Get content.xml file
|
||||
XmlDocument contentXml = this.GetContentXmlFile(odsZipFile);
|
||||
|
||||
// Initialize XmlNamespaceManager
|
||||
XmlNamespaceManager nmsManager = this.InitializeXmlNamespaceManager(contentXml);
|
||||
|
||||
DataSet odsFile = new DataSet(Path.GetFileName(inputFilePath));
|
||||
|
||||
foreach (XmlNode tableNode in this.GetTableNodes(contentXml, nmsManager))
|
||||
odsFile.Tables.Add(this.GetSheet(tableNode, nmsManager));
|
||||
|
||||
return odsFile;
|
||||
}
|
||||
|
||||
// In ODF sheet is stored in table:table node
|
||||
private XmlNodeList GetTableNodes(XmlDocument contentXmlDocument, XmlNamespaceManager nmsManager)
|
||||
{
|
||||
return contentXmlDocument.SelectNodes("/office:document-content/office:body/office:spreadsheet/table:table", nmsManager);
|
||||
}
|
||||
|
||||
private DataTable GetSheet(XmlNode tableNode, XmlNamespaceManager nmsManager)
|
||||
{
|
||||
DataTable sheet = new DataTable(tableNode.Attributes["table:name"].Value);
|
||||
|
||||
XmlNodeList rowNodes = tableNode.SelectNodes("table:table-row", nmsManager);
|
||||
|
||||
int rowIndex = 0;
|
||||
foreach (XmlNode rowNode in rowNodes)
|
||||
this.GetRow(rowNode, sheet, nmsManager, ref rowIndex);
|
||||
|
||||
return sheet;
|
||||
}
|
||||
|
||||
private void GetRow(XmlNode rowNode, DataTable sheet, XmlNamespaceManager nmsManager, ref int rowIndex)
|
||||
{
|
||||
XmlAttribute rowsRepeated = rowNode.Attributes["table:number-rows-repeated"];
|
||||
if (rowsRepeated == null || Convert.ToInt32(rowsRepeated.Value, CultureInfo.InvariantCulture) == 1)
|
||||
{
|
||||
while (sheet.Rows.Count < rowIndex)
|
||||
sheet.Rows.Add(sheet.NewRow());
|
||||
|
||||
DataRow row = sheet.NewRow();
|
||||
|
||||
XmlNodeList cellNodes = rowNode.SelectNodes("table:table-cell", nmsManager);
|
||||
|
||||
int cellIndex = 0;
|
||||
foreach (XmlNode cellNode in cellNodes)
|
||||
this.GetCell(cellNode, row, nmsManager, ref cellIndex);
|
||||
|
||||
sheet.Rows.Add(row);
|
||||
|
||||
rowIndex++;
|
||||
}
|
||||
else
|
||||
{
|
||||
rowIndex += Convert.ToInt32(rowsRepeated.Value, CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
// sheet must have at least one cell
|
||||
if (sheet.Rows.Count == 0)
|
||||
{
|
||||
sheet.Rows.Add(sheet.NewRow());
|
||||
sheet.Columns.Add();
|
||||
}
|
||||
}
|
||||
|
||||
private void GetCell(XmlNode cellNode, DataRow row, XmlNamespaceManager nmsManager, ref int cellIndex)
|
||||
{
|
||||
XmlAttribute cellRepeated = cellNode.Attributes["table:number-columns-repeated"];
|
||||
string cellValue = this.ReadCellValue(cellNode);
|
||||
|
||||
int repeats = 1;
|
||||
if (cellRepeated != null)
|
||||
{
|
||||
repeats = Convert.ToInt32(cellRepeated.Value, CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(cellValue))
|
||||
{
|
||||
for (int i = 0; i < repeats; i++)
|
||||
{
|
||||
DataTable sheet = row.Table;
|
||||
|
||||
while (sheet.Columns.Count <= cellIndex)
|
||||
sheet.Columns.Add();
|
||||
|
||||
row[cellIndex] = cellValue;
|
||||
|
||||
cellIndex++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cellIndex += repeats;
|
||||
}
|
||||
}
|
||||
|
||||
private string ReadCellValue(XmlNode cell)
|
||||
{
|
||||
XmlAttribute cellVal = cell.Attributes["office:value"];
|
||||
|
||||
if (cellVal == null)
|
||||
return String.IsNullOrEmpty(cell.InnerText) ? null : cell.InnerText;
|
||||
else
|
||||
return cellVal.Value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes DataSet as .ods file.
|
||||
/// </summary>
|
||||
/// <param name="odsFile">DataSet that represent .ods file.</param>
|
||||
/// <param name="outputFilePath">The name of the file to save to.</param>
|
||||
public void WriteOdsFile(DataSet odsFile, string outputFilePath)
|
||||
{
|
||||
ZipFile templateFile = this.GetZipFile(Assembly.GetExecutingAssembly().GetManifestResourceStream("OdsReadWrite.template.ods"));
|
||||
|
||||
XmlDocument contentXml = this.GetContentXmlFile(templateFile);
|
||||
|
||||
XmlNamespaceManager nmsManager = this.InitializeXmlNamespaceManager(contentXml);
|
||||
|
||||
XmlNode sheetsRootNode = this.GetSheetsRootNodeAndRemoveChildrens(contentXml, nmsManager);
|
||||
|
||||
foreach (DataTable sheet in odsFile.Tables)
|
||||
this.SaveSheet(sheet, sheetsRootNode);
|
||||
|
||||
this.SaveContentXml(templateFile, contentXml);
|
||||
|
||||
templateFile.Save(outputFilePath);
|
||||
}
|
||||
|
||||
private XmlNode GetSheetsRootNodeAndRemoveChildrens(XmlDocument contentXml, XmlNamespaceManager nmsManager)
|
||||
{
|
||||
XmlNodeList tableNodes = this.GetTableNodes(contentXml, nmsManager);
|
||||
|
||||
XmlNode sheetsRootNode = tableNodes.Item(0).ParentNode;
|
||||
// remove sheets from template file
|
||||
foreach (XmlNode tableNode in tableNodes)
|
||||
sheetsRootNode.RemoveChild(tableNode);
|
||||
|
||||
return sheetsRootNode;
|
||||
}
|
||||
|
||||
private void SaveSheet(DataTable sheet, XmlNode sheetsRootNode)
|
||||
{
|
||||
XmlDocument ownerDocument = sheetsRootNode.OwnerDocument;
|
||||
|
||||
XmlNode sheetNode = ownerDocument.CreateElement("table:table", this.GetNamespaceUri("table"));
|
||||
|
||||
XmlAttribute sheetName = ownerDocument.CreateAttribute("table:name", this.GetNamespaceUri("table"));
|
||||
sheetName.Value = sheet.TableName;
|
||||
sheetNode.Attributes.Append(sheetName);
|
||||
|
||||
this.SaveColumnDefinition(sheet, sheetNode, ownerDocument);
|
||||
|
||||
this.SaveRows(sheet, sheetNode, ownerDocument);
|
||||
|
||||
sheetsRootNode.AppendChild(sheetNode);
|
||||
}
|
||||
|
||||
private void SaveColumnDefinition(DataTable sheet, XmlNode sheetNode, XmlDocument ownerDocument)
|
||||
{
|
||||
XmlNode columnDefinition = ownerDocument.CreateElement("table:table-column", this.GetNamespaceUri("table"));
|
||||
|
||||
XmlAttribute columnsCount = ownerDocument.CreateAttribute("table:number-columns-repeated", this.GetNamespaceUri("table"));
|
||||
columnsCount.Value = sheet.Columns.Count.ToString(CultureInfo.InvariantCulture);
|
||||
columnDefinition.Attributes.Append(columnsCount);
|
||||
|
||||
sheetNode.AppendChild(columnDefinition);
|
||||
}
|
||||
|
||||
private void SaveRows(DataTable sheet, XmlNode sheetNode, XmlDocument ownerDocument)
|
||||
{
|
||||
DataRowCollection rows = sheet.Rows;
|
||||
for (int i = 0; i < rows.Count; i++)
|
||||
{
|
||||
XmlNode rowNode = ownerDocument.CreateElement("table:table-row", this.GetNamespaceUri("table"));
|
||||
|
||||
this.SaveCell(rows[i], rowNode, ownerDocument);
|
||||
|
||||
sheetNode.AppendChild(rowNode);
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveCell(DataRow row, XmlNode rowNode, XmlDocument ownerDocument)
|
||||
{
|
||||
object[] cells = row.ItemArray;
|
||||
|
||||
for (int i = 0; i < cells.Length; i++)
|
||||
{
|
||||
XmlElement cellNode = ownerDocument.CreateElement("table:table-cell", this.GetNamespaceUri("table"));
|
||||
|
||||
if (row[i] != DBNull.Value)
|
||||
{
|
||||
// We save values as text (string)
|
||||
XmlAttribute valueType = ownerDocument.CreateAttribute("office:value-type", this.GetNamespaceUri("office"));
|
||||
valueType.Value = "string";
|
||||
cellNode.Attributes.Append(valueType);
|
||||
|
||||
XmlElement cellValue = ownerDocument.CreateElement("text:p", this.GetNamespaceUri("text"));
|
||||
cellValue.InnerText = row[i].ToString();
|
||||
cellNode.AppendChild(cellValue);
|
||||
}
|
||||
|
||||
rowNode.AppendChild(cellNode);
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveContentXml(ZipFile templateFile, XmlDocument contentXml)
|
||||
{
|
||||
templateFile.RemoveEntry("content.xml");
|
||||
|
||||
MemoryStream memStream = new MemoryStream();
|
||||
contentXml.Save(memStream);
|
||||
memStream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
templateFile.AddEntry("content.xml", memStream);
|
||||
}
|
||||
|
||||
private string GetNamespaceUri(string prefix)
|
||||
{
|
||||
for (int i = 0; i < namespaces.GetLength(0); i++)
|
||||
{
|
||||
if (namespaces[i, 0] == prefix)
|
||||
return namespaces[i, 1];
|
||||
}
|
||||
|
||||
throw new InvalidOperationException("Can't find that namespace URI");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
Embroidery Reader - an application to view .pes embroidery designs
|
||||
|
||||
Copyright (C) 2018 Nathan Crawford
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
|
||||
A copy of the full GPL 2 license can be found in the docs directory.
|
||||
You can contact me at http://www.njcrawford.com/contact/.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace TranslationBuilder
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("TranslationBuilder")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("TranslationBuilder")]
|
||||
[assembly: AssemblyCopyright("Copyright © Nathan Crawford 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("0d502bfb-4e4a-4ffa-9006-8480b142ce68")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,14 +1,14 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4200
|
||||
// Runtime Version:4.0.30319.18444
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace embroideryReader.Properties {
|
||||
namespace TranslationBuilder.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ namespace embroideryReader.Properties {
|
|||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
@ -39,7 +39,7 @@ namespace embroideryReader.Properties {
|
|||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("embroideryReader.Properties.Resources", typeof(Resources).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TranslationBuilder.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -1,18 +1,18 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4200
|
||||
// Runtime Version:4.0.30319.18444
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace embroideryReader.Properties {
|
||||
namespace TranslationBuilder.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
|
@ -1,85 +1,92 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{A80DF4D8-967D-4352-9E1D-F22D23236BE2}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>embroideryTester</RootNamespace>
|
||||
<AssemblyName>embroideryTester</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources-2005.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources-2005.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings-2005.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings-2005.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PesFile\PesFile-2005.csproj">
|
||||
<Project>{66EF662E-F52C-4104-9C15-A14266D8F3B8}</Project>
|
||||
<Name>PesFile</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{470DCEFF-9178-475E-B3A0-A1ABF42AB1ED}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>TranslationBuilder</RootNamespace>
|
||||
<AssemblyName>TranslationBuilder</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Ionic.Zip">
|
||||
<HintPath>.\Ionic.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OdsReaderWriter.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
|
Plik diff jest za duży
Load Diff
|
@ -1,55 +1,55 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>CSewFigSeg</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre>
|
||||
Copyright (c) 2011 Nathan Crawford.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts.
|
||||
|
||||
$Id$
|
||||
|
||||
Most numerical values appear to be 16 bit signed ints and are shown as such in this document, unless otherwise noted.
|
||||
All characters appear to be ascii.
|
||||
|
||||
This class appears to be very similar to CEmbOne, with additional info
|
||||
for color changes.
|
||||
|
||||
CSewFigSeg
|
||||
Start stitch blocks
|
||||
Block:
|
||||
(block type)
|
||||
(color index)
|
||||
(number of stitches in this block)
|
||||
(x value)
|
||||
(y value)
|
||||
(x value)
|
||||
(y value)
|
||||
(x value)
|
||||
...
|
||||
When all the stitches in this block have been read, there will be a
|
||||
block seperator/joiner with one of these values:
|
||||
-32765 (03 80 in hex, 32771 as UInt16) Meaning another block is next.
|
||||
OR
|
||||
A smaller positive number, seems to be between 0 and 100 and seems to
|
||||
indicate a color change. If this is the case, there will be 13 more
|
||||
values (26 bytes), the last of which tells if there is another block or
|
||||
not. (-32767 (01 80 in hex) for yes, -1 (00 FF in hex) for no)
|
||||
If there is another block coming, there will be another 24 values
|
||||
(48 bytes), and then the next block will start. If not, there will be
|
||||
1 more value (2 bytes) which seems to always be 0. This seems to be
|
||||
a common ending to all the classes. (-1, 0)
|
||||
(block)
|
||||
(block seperator)
|
||||
(block)
|
||||
(block seperator)
|
||||
...
|
||||
when you get a block seperator that has the -1 value mentoined above, stitch blocks are done
|
||||
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSewFigSeg</title>
|
||||
</head>
|
||||
<body>
|
||||
<pre>
|
||||
Copyright (c) 2011 Nathan Crawford.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts.
|
||||
|
||||
$Id$
|
||||
|
||||
Most numerical values appear to be 16 bit signed ints and are shown as such in this document, unless otherwise noted.
|
||||
All characters appear to be ascii.
|
||||
|
||||
This class appears to be very similar to CEmbOne, with additional info
|
||||
for color changes.
|
||||
|
||||
CSewFigSeg
|
||||
Start stitch blocks
|
||||
Block:
|
||||
(block type)
|
||||
(color index)
|
||||
(number of stitches in this block)
|
||||
(x value)
|
||||
(y value)
|
||||
(x value)
|
||||
(y value)
|
||||
(x value)
|
||||
...
|
||||
When all the stitches in this block have been read, there will be a
|
||||
block seperator/joiner with one of these values:
|
||||
-32765 (03 80 in hex, 32771 as UInt16) Meaning another block is next.
|
||||
OR
|
||||
A smaller positive number, seems to be between 0 and 100 and seems to
|
||||
indicate a color change. If this is the case, there will be 13 more
|
||||
values (26 bytes), the last of which tells if there is another block or
|
||||
not. (-32767 (01 80 in hex) for yes, -1 (00 FF in hex) for no)
|
||||
If there is another block coming, there will be another 24 values
|
||||
(48 bytes), and then the next block will start. If not, there will be
|
||||
1 more value (2 bytes) which seems to always be 0. This seems to be
|
||||
a common ending to all the classes. (-1, 0)
|
||||
(block)
|
||||
(block seperator)
|
||||
(block)
|
||||
(block seperator)
|
||||
...
|
||||
when you get a block seperator that has the -1 value mentoined above, stitch blocks are done
|
||||
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
|
678
docs/gpl-2.0.txt
678
docs/gpl-2.0.txt
|
@ -1,339 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
|
|
@ -0,0 +1,343 @@
|
|||
{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
|
||||
{\*\generator Riched20 10.0.10586}\viewkind4\uc1
|
||||
\pard\sa200\sl276\slmult1\f0\fs22\lang9\tab\tab GNU GENERAL PUBLIC LICENSE\par
|
||||
\tab\tab Version 2, June 1991\par
|
||||
\par
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\par
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\par
|
||||
Everyone is permitted to copy and distribute verbatim copies\par
|
||||
of this license document, but changing it is not allowed.\par
|
||||
\par
|
||||
\tab\tab\tab Preamble\par
|
||||
\par
|
||||
The licenses for most software are designed to take away your\par
|
||||
freedom to share and change it. By contrast, the GNU General Public\par
|
||||
License is intended to guarantee your freedom to share and change free\par
|
||||
software--to make sure the software is free for all its users. This\par
|
||||
General Public License applies to most of the Free Software\par
|
||||
Foundation's software and to any other program whose authors commit to\par
|
||||
using it. (Some other Free Software Foundation software is covered by\par
|
||||
the GNU Lesser General Public License instead.) You can apply it to\par
|
||||
your programs, too.\par
|
||||
\par
|
||||
When we speak of free software, we are referring to freedom, not\par
|
||||
price. Our General Public Licenses are designed to make sure that you\par
|
||||
have the freedom to distribute copies of free software (and charge for\par
|
||||
this service if you wish), that you receive source code or can get it\par
|
||||
if you want it, that you can change the software or use pieces of it\par
|
||||
in new free programs; and that you know you can do these things.\par
|
||||
\par
|
||||
To protect your rights, we need to make restrictions that forbid\par
|
||||
anyone to deny you these rights or to ask you to surrender the rights.\par
|
||||
These restrictions translate to certain responsibilities for you if you\par
|
||||
distribute copies of the software, or if you modify it.\par
|
||||
\par
|
||||
For example, if you distribute copies of such a program, whether\par
|
||||
gratis or for a fee, you must give the recipients all the rights that\par
|
||||
you have. You must make sure that they, too, receive or can get the\par
|
||||
source code. And you must show them these terms so they know their\par
|
||||
rights.\par
|
||||
\par
|
||||
We protect your rights with two steps: (1) copyright the software, and\par
|
||||
(2) offer you this license which gives you legal permission to copy,\par
|
||||
distribute and/or modify the software.\par
|
||||
\par
|
||||
Also, for each author's protection and ours, we want to make certain\par
|
||||
that everyone understands that there is no warranty for this free\par
|
||||
software. If the software is modified by someone else and passed on, we\par
|
||||
want its recipients to know that what they have is not the original, so\par
|
||||
that any problems introduced by others will not reflect on the original\par
|
||||
authors' reputations.\par
|
||||
\par
|
||||
Finally, any free program is threatened constantly by software\par
|
||||
patents. We wish to avoid the danger that redistributors of a free\par
|
||||
program will individually obtain patent licenses, in effect making the\par
|
||||
program proprietary. To prevent this, we have made it clear that any\par
|
||||
patent must be licensed for everyone's free use or not licensed at all.\par
|
||||
\par
|
||||
The precise terms and conditions for copying, distribution and\par
|
||||
modification follow.\par
|
||||
\par
|
||||
\tab\tab GNU GENERAL PUBLIC LICENSE\par
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par
|
||||
\par
|
||||
0. This License applies to any program or other work which contains\par
|
||||
a notice placed by the copyright holder saying it may be distributed\par
|
||||
under the terms of this General Public License. The "Program", below,\par
|
||||
refers to any such program or work, and a "work based on the Program"\par
|
||||
means either the Program or any derivative work under copyright law:\par
|
||||
that is to say, a work containing the Program or a portion of it,\par
|
||||
either verbatim or with modifications and/or translated into another\par
|
||||
language. (Hereinafter, translation is included without limitation in\par
|
||||
the term "modification".) Each licensee is addressed as "you".\par
|
||||
\par
|
||||
Activities other than copying, distribution and modification are not\par
|
||||
covered by this License; they are outside its scope. The act of\par
|
||||
running the Program is not restricted, and the output from the Program\par
|
||||
is covered only if its contents constitute a work based on the\par
|
||||
Program (independent of having been made by running the Program).\par
|
||||
Whether that is true depends on what the Program does.\par
|
||||
\par
|
||||
1. You may copy and distribute verbatim copies of the Program's\par
|
||||
source code as you receive it, in any medium, provided that you\par
|
||||
conspicuously and appropriately publish on each copy an appropriate\par
|
||||
copyright notice and disclaimer of warranty; keep intact all the\par
|
||||
notices that refer to this License and to the absence of any warranty;\par
|
||||
and give any other recipients of the Program a copy of this License\par
|
||||
along with the Program.\par
|
||||
\par
|
||||
You may charge a fee for the physical act of transferring a copy, and\par
|
||||
you may at your option offer warranty protection in exchange for a fee.\par
|
||||
\par
|
||||
2. You may modify your copy or copies of the Program or any portion\par
|
||||
of it, thus forming a work based on the Program, and copy and\par
|
||||
distribute such modifications or work under the terms of Section 1\par
|
||||
above, provided that you also meet all of these conditions:\par
|
||||
\par
|
||||
a) You must cause the modified files to carry prominent notices\par
|
||||
stating that you changed the files and the date of any change.\par
|
||||
\par
|
||||
b) You must cause any work that you distribute or publish, that in\par
|
||||
whole or in part contains or is derived from the Program or any\par
|
||||
part thereof, to be licensed as a whole at no charge to all third\par
|
||||
parties under the terms of this License.\par
|
||||
\par
|
||||
c) If the modified program normally reads commands interactively\par
|
||||
when run, you must cause it, when started running for such\par
|
||||
interactive use in the most ordinary way, to print or display an\par
|
||||
announcement including an appropriate copyright notice and a\par
|
||||
notice that there is no warranty (or else, saying that you provide\par
|
||||
a warranty) and that users may redistribute the program under\par
|
||||
these conditions, and telling the user how to view a copy of this\par
|
||||
License. (Exception: if the Program itself is interactive but\par
|
||||
does not normally print such an announcement, your work based on\par
|
||||
the Program is not required to print an announcement.)\par
|
||||
\par
|
||||
These requirements apply to the modified work as a whole. If\par
|
||||
identifiable sections of that work are not derived from the Program,\par
|
||||
and can be reasonably considered independent and separate works in\par
|
||||
themselves, then this License, and its terms, do not apply to those\par
|
||||
sections when you distribute them as separate works. But when you\par
|
||||
distribute the same sections as part of a whole which is a work based\par
|
||||
on the Program, the distribution of the whole must be on the terms of\par
|
||||
this License, whose permissions for other licensees extend to the\par
|
||||
entire whole, and thus to each and every part regardless of who wrote it.\par
|
||||
\par
|
||||
Thus, it is not the intent of this section to claim rights or contest\par
|
||||
your rights to work written entirely by you; rather, the intent is to\par
|
||||
exercise the right to control the distribution of derivative or\par
|
||||
collective works based on the Program.\par
|
||||
\par
|
||||
In addition, mere aggregation of another work not based on the Program\par
|
||||
with the Program (or with a work based on the Program) on a volume of\par
|
||||
a storage or distribution medium does not bring the other work under\par
|
||||
the scope of this License.\par
|
||||
\par
|
||||
3. You may copy and distribute the Program (or a work based on it,\par
|
||||
under Section 2) in object code or executable form under the terms of\par
|
||||
Sections 1 and 2 above provided that you also do one of the following:\par
|
||||
\par
|
||||
a) Accompany it with the complete corresponding machine-readable\par
|
||||
source code, which must be distributed under the terms of Sections\par
|
||||
1 and 2 above on a medium customarily used for software interchange; or,\par
|
||||
\par
|
||||
b) Accompany it with a written offer, valid for at least three\par
|
||||
years, to give any third party, for a charge no more than your\par
|
||||
cost of physically performing source distribution, a complete\par
|
||||
machine-readable copy of the corresponding source code, to be\par
|
||||
distributed under the terms of Sections 1 and 2 above on a medium\par
|
||||
customarily used for software interchange; or,\par
|
||||
\par
|
||||
c) Accompany it with the information you received as to the offer\par
|
||||
to distribute corresponding source code. (This alternative is\par
|
||||
allowed only for noncommercial distribution and only if you\par
|
||||
received the program in object code or executable form with such\par
|
||||
an offer, in accord with Subsection b above.)\par
|
||||
\par
|
||||
The source code for a work means the preferred form of the work for\par
|
||||
making modifications to it. For an executable work, complete source\par
|
||||
code means all the source code for all modules it contains, plus any\par
|
||||
associated interface definition files, plus the scripts used to\par
|
||||
control compilation and installation of the executable. However, as a\par
|
||||
special exception, the source code distributed need not include\par
|
||||
anything that is normally distributed (in either source or binary\par
|
||||
form) with the major components (compiler, kernel, and so on) of the\par
|
||||
operating system on which the executable runs, unless that component\par
|
||||
itself accompanies the executable.\par
|
||||
\par
|
||||
If distribution of executable or object code is made by offering\par
|
||||
access to copy from a designated place, then offering equivalent\par
|
||||
access to copy the source code from the same place counts as\par
|
||||
distribution of the source code, even though third parties are not\par
|
||||
compelled to copy the source along with the object code.\par
|
||||
\par
|
||||
4. You may not copy, modify, sublicense, or distribute the Program\par
|
||||
except as expressly provided under this License. Any attempt\par
|
||||
otherwise to copy, modify, sublicense or distribute the Program is\par
|
||||
void, and will automatically terminate your rights under this License.\par
|
||||
However, parties who have received copies, or rights, from you under\par
|
||||
this License will not have their licenses terminated so long as such\par
|
||||
parties remain in full compliance.\par
|
||||
\par
|
||||
5. You are not required to accept this License, since you have not\par
|
||||
signed it. However, nothing else grants you permission to modify or\par
|
||||
distribute the Program or its derivative works. These actions are\par
|
||||
prohibited by law if you do not accept this License. Therefore, by\par
|
||||
modifying or distributing the Program (or any work based on the\par
|
||||
Program), you indicate your acceptance of this License to do so, and\par
|
||||
all its terms and conditions for copying, distributing or modifying\par
|
||||
the Program or works based on it.\par
|
||||
\par
|
||||
6. Each time you redistribute the Program (or any work based on the\par
|
||||
Program), the recipient automatically receives a license from the\par
|
||||
original licensor to copy, distribute or modify the Program subject to\par
|
||||
these terms and conditions. You may not impose any further\par
|
||||
restrictions on the recipients' exercise of the rights granted herein.\par
|
||||
You are not responsible for enforcing compliance by third parties to\par
|
||||
this License.\par
|
||||
\par
|
||||
7. If, as a consequence of a court judgment or allegation of patent\par
|
||||
infringement or for any other reason (not limited to patent issues),\par
|
||||
conditions are imposed on you (whether by court order, agreement or\par
|
||||
otherwise) that contradict the conditions of this License, they do not\par
|
||||
excuse you from the conditions of this License. If you cannot\par
|
||||
distribute so as to satisfy simultaneously your obligations under this\par
|
||||
License and any other pertinent obligations, then as a consequence you\par
|
||||
may not distribute the Program at all. For example, if a patent\par
|
||||
license would not permit royalty-free redistribution of the Program by\par
|
||||
all those who receive copies directly or indirectly through you, then\par
|
||||
the only way you could satisfy both it and this License would be to\par
|
||||
refrain entirely from distribution of the Program.\par
|
||||
\par
|
||||
If any portion of this section is held invalid or unenforceable under\par
|
||||
any particular circumstance, the balance of the section is intended to\par
|
||||
apply and the section as a whole is intended to apply in other\par
|
||||
circumstances.\par
|
||||
\par
|
||||
It is not the purpose of this section to induce you to infringe any\par
|
||||
patents or other property right claims or to contest validity of any\par
|
||||
such claims; this section has the sole purpose of protecting the\par
|
||||
integrity of the free software distribution system, which is\par
|
||||
implemented by public license practices. Many people have made\par
|
||||
generous contributions to the wide range of software distributed\par
|
||||
through that system in reliance on consistent application of that\par
|
||||
system; it is up to the author/donor to decide if he or she is willing\par
|
||||
to distribute software through any other system and a licensee cannot\par
|
||||
impose that choice.\par
|
||||
\par
|
||||
This section is intended to make thoroughly clear what is believed to\par
|
||||
be a consequence of the rest of this License.\par
|
||||
\par
|
||||
8. If the distribution and/or use of the Program is restricted in\par
|
||||
certain countries either by patents or by copyrighted interfaces, the\par
|
||||
original copyright holder who places the Program under this License\par
|
||||
may add an explicit geographical distribution limitation excluding\par
|
||||
those countries, so that distribution is permitted only in or among\par
|
||||
countries not thus excluded. In such case, this License incorporates\par
|
||||
the limitation as if written in the body of this License.\par
|
||||
\par
|
||||
9. The Free Software Foundation may publish revised and/or new versions\par
|
||||
of the General Public License from time to time. Such new versions will\par
|
||||
be similar in spirit to the present version, but may differ in detail to\par
|
||||
address new problems or concerns.\par
|
||||
\par
|
||||
Each version is given a distinguishing version number. If the Program\par
|
||||
specifies a version number of this License which applies to it and "any\par
|
||||
later version", you have the option of following the terms and conditions\par
|
||||
either of that version or of any later version published by the Free\par
|
||||
Software Foundation. If the Program does not specify a version number of\par
|
||||
this License, you may choose any version ever published by the Free Software\par
|
||||
Foundation.\par
|
||||
\par
|
||||
10. If you wish to incorporate parts of the Program into other free\par
|
||||
programs whose distribution conditions are different, write to the author\par
|
||||
to ask for permission. For software which is copyrighted by the Free\par
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes\par
|
||||
make exceptions for this. Our decision will be guided by the two goals\par
|
||||
of preserving the free status of all derivatives of our free software and\par
|
||||
of promoting the sharing and reuse of software generally.\par
|
||||
\par
|
||||
\tab\tab\tab NO WARRANTY\par
|
||||
\par
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\par
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\par
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\par
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\par
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\par
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\par
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\par
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\par
|
||||
REPAIR OR CORRECTION.\par
|
||||
\par
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\par
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\par
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\par
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\par
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\par
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\par
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\par
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\par
|
||||
POSSIBILITY OF SUCH DAMAGES.\par
|
||||
\par
|
||||
\tab\tab END OF TERMS AND CONDITIONS\par
|
||||
\par
|
||||
\tab How to Apply These Terms to Your New Programs\par
|
||||
\par
|
||||
If you develop a new program, and you want it to be of the greatest\par
|
||||
possible use to the public, the best way to achieve this is to make it\par
|
||||
free software which everyone can redistribute and change under these terms.\par
|
||||
\par
|
||||
To do so, attach the following notices to the program. It is safest\par
|
||||
to attach them to the start of each source file to most effectively\par
|
||||
convey the exclusion of warranty; and each file should have at least\par
|
||||
the "copyright" line and a pointer to where the full notice is found.\par
|
||||
\par
|
||||
<one line to give the program's name and a brief idea of what it does.>\par
|
||||
Copyright (C) <year> <name of author>\par
|
||||
\par
|
||||
This program is free software; you can redistribute it and/or modify\par
|
||||
it under the terms of the GNU General Public License as published by\par
|
||||
the Free Software Foundation; either version 2 of the License, or\par
|
||||
(at your option) any later version.\par
|
||||
\par
|
||||
This program is distributed in the hope that it will be useful,\par
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of\par
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par
|
||||
GNU General Public License for more details.\par
|
||||
\par
|
||||
You should have received a copy of the GNU General Public License along\par
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,\par
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\par
|
||||
\par
|
||||
Also add information on how to contact you by electronic and paper mail.\par
|
||||
\par
|
||||
If the program is interactive, make it output a short notice like this\par
|
||||
when it starts in an interactive mode:\par
|
||||
\par
|
||||
Gnomovision version 69, Copyright (C) year name of author\par
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\par
|
||||
This is free software, and you are welcome to redistribute it\par
|
||||
under certain conditions; type `show c' for details.\par
|
||||
\par
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate\par
|
||||
parts of the General Public License. Of course, the commands you use may\par
|
||||
be called something other than `show w' and `show c'; they could even be\par
|
||||
mouse-clicks or menu items--whatever suits your program.\par
|
||||
\par
|
||||
You should also get your employer (if you work as a programmer) or your\par
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if\par
|
||||
necessary. Here is a sample; alter the names:\par
|
||||
\par
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program\par
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.\par
|
||||
\par
|
||||
<signature of Ty Coon>, 1 April 1989\par
|
||||
Ty Coon, President of Vice\par
|
||||
\par
|
||||
This General Public License does not permit incorporating your program into\par
|
||||
proprietary programs. If your program is a subroutine library, you may\par
|
||||
consider it more useful to permit linking proprietary applications with the\par
|
||||
library. If this is what you want to do, use the GNU Lesser General\par
|
||||
Public License instead of this License.\par
|
||||
}
|
||||
|