├── .github ├── FUNDING.yml └── workflows │ ├── c-cpp.yml │ └── static.yml ├── .gitignore ├── FigletUtils ├── .gitignore ├── .travis.yml ├── CHANGES ├── FAQ ├── LICENSE ├── Makefile ├── Makefile.tc ├── README ├── chkfont.6 ├── chkfont.c ├── crc.c ├── crc.h ├── figfont.txt ├── figlet.6 ├── figlet.c ├── figlist ├── figlist.6 ├── figmagic ├── fonts │ ├── 646-ca.flc │ ├── 646-ca2.flc │ ├── 646-cn.flc │ ├── 646-cu.flc │ ├── 646-de.flc │ ├── 646-dk.flc │ ├── 646-es.flc │ ├── 646-es2.flc │ ├── 646-fr.flc │ ├── 646-gb.flc │ ├── 646-hu.flc │ ├── 646-irv.flc │ ├── 646-it.flc │ ├── 646-jp.flc │ ├── 646-kr.flc │ ├── 646-no.flc │ ├── 646-no2.flc │ ├── 646-pt.flc │ ├── 646-pt2.flc │ ├── 646-se.flc │ ├── 646-se2.flc │ ├── 646-yu.flc │ ├── 8859-2.flc │ ├── 8859-3.flc │ ├── 8859-4.flc │ ├── 8859-5.flc │ ├── 8859-7.flc │ ├── 8859-8.flc │ ├── 8859-9.flc │ ├── banner.flf │ ├── big.flf │ ├── block.flf │ ├── bubble.flf │ ├── digital.flf │ ├── frango.flc │ ├── hz.flc │ ├── ilhebrew.flc │ ├── ivrit.flf │ ├── jis0201.flc │ ├── koi8r.flc │ ├── lean.flf │ ├── mini.flf │ ├── mnemonic.flf │ ├── moscow.flc │ ├── script.flf │ ├── shadow.flf │ ├── slant.flf │ ├── small.flf │ ├── smscript.flf │ ├── smshadow.flf │ ├── smslant.flf │ ├── standard.flf │ ├── term.flf │ ├── upper.flc │ ├── ushebrew.flc │ ├── uskata.flc │ └── utf8.flc ├── getopt.c ├── inflate.c ├── inflate.h ├── run-tests.sh ├── showfigfonts ├── showfigfonts.6 ├── snapcraft.yaml ├── tests │ ├── emboss.tlf │ ├── flowerpower.flf │ ├── input.txt │ ├── longtext.txt │ ├── res001.txt │ ├── res002.txt │ ├── res003.txt │ ├── res004.txt │ ├── res005.txt │ ├── res006.txt │ ├── res007.txt │ ├── res008.txt │ ├── res009.txt │ ├── res010.txt │ ├── res011.txt │ ├── res012.txt │ ├── res013.txt │ ├── res014.txt │ ├── res015.txt │ ├── res016.txt │ ├── res017.txt │ ├── res018.txt │ ├── res019.txt │ ├── res020.txt │ ├── res021.txt │ ├── res022.txt │ ├── res023.txt │ ├── res024.txt │ ├── res025.txt │ ├── res026.txt │ └── res027.txt ├── utf8.c ├── utf8.h ├── zipio.c └── zipio.h ├── LICENSE ├── Makefile ├── README.md ├── Tailcast ├── .astro │ └── settings.json ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── README.md ├── astro.config.mjs ├── license ├── package-lock.json ├── package.json ├── tailwind.config.cjs └── tsconfig.json ├── UpdataUtils ├── makefile └── src │ └── bootstrap.c ├── auto └── lib │ └── curses │ ├── conf │ └── make ├── cil ├── cil.repo ├── cil.spec ├── configure ├── figlet ├── fonts ├── banner.flf ├── big.flf ├── block.flf ├── bubble.flf ├── digital.flf ├── mnemonic.flf ├── script.flf ├── shadow.flf ├── slant.flf ├── small.flf ├── smscript.flf ├── smshadow.flf ├── smslant.flf ├── standard.flf └── term.flf ├── home ├── _astro │ ├── Blog.CzbR5YfR.js │ ├── Brands.Cujc4VxP.js │ ├── CheckArrowIcon.CxGWFn1k.js │ ├── FAQ.GKwlVlK_.js │ ├── Features1.YojVybgf.js │ ├── Features2.Dy1YAtHV.js │ ├── FeaturesDiagonal.xEtQiNik.js │ ├── Hero.CJvU5FJz.js │ ├── InvitationModal.CJwUACTQ.js │ ├── Navbar.46hrEXnf.js │ ├── Pricing.B87mCdZu.js │ ├── ScrollUpButton.BD0-oT8M.js │ ├── TailcastLogo.BM_u8Q9F.js │ ├── Testimonials.Byk7BMrU.js │ ├── blog1.CivBcP1Y.png │ ├── blog1.UgsBnp9Y.jpg │ ├── blog2.BsuPzAat.png │ ├── blog3.BedtnBGo.png │ ├── client.BIGLHmRd.js │ ├── dashboard.CJUpUggb.jpg │ ├── feature1.CzWyNRQ6.jpg │ ├── feature2.DrnEVr6_.jpg │ ├── feature3.BDhSYK7X.jpg │ ├── feature4.Bl4cjQX_.jpg │ ├── feature5.CXfXwEaP.jpg │ ├── feature6.BY2O3PWM.jpg │ ├── featuresdiagonal.Odwo-D4x.jpg │ ├── index.Bh3B-97P.css │ ├── index.DhYZZe0J.js │ ├── inter-cyrillic-400-normal.Df6ckaLK.woff2 │ ├── inter-cyrillic-400-normal.JrS_4yms.woff │ ├── inter-cyrillic-500-normal.BRrLR67x.woff2 │ ├── inter-cyrillic-500-normal.DskEQOpE.woff │ ├── inter-cyrillic-600-normal.DDpWG8g5.woff2 │ ├── inter-cyrillic-600-normal.iz1--dBq.woff │ ├── inter-cyrillic-700-normal.6zNX8Blf.woff2 │ ├── inter-cyrillic-700-normal.DsxIEgNh.woff │ ├── inter-cyrillic-800-normal.Bw_Vu5Ee.woff2 │ ├── inter-cyrillic-800-normal.C8nH20WF.woff │ ├── inter-cyrillic-900-normal.BG5v33Wi.woff │ ├── inter-cyrillic-900-normal.DtlToosL.woff2 │ ├── inter-cyrillic-ext-400-normal.CzG7Kr3z.woff │ ├── inter-cyrillic-ext-400-normal.tyfMZHQw.woff2 │ ├── inter-cyrillic-ext-500-normal.DOnSzjnx.woff2 │ ├── inter-cyrillic-ext-500-normal.Xebo2OyJ.woff │ ├── inter-cyrillic-ext-600-normal.DpA2xaRd.woff2 │ ├── inter-cyrillic-ext-600-normal.KAwcVx6H.woff │ ├── inter-cyrillic-ext-700-normal.CAj4IH3j.woff │ ├── inter-cyrillic-ext-700-normal.CMkYcdkw.woff2 │ ├── inter-cyrillic-ext-800-normal.Cat3deYP.woff2 │ ├── inter-cyrillic-ext-800-normal.dIVUhhNV.woff │ ├── inter-cyrillic-ext-900-normal.CN3cujew.woff2 │ ├── inter-cyrillic-ext-900-normal.DVNhnXg3.woff │ ├── inter-greek-400-normal.DQXyrmoy.woff2 │ ├── inter-greek-400-normal.DvIPHDQ7.woff │ ├── inter-greek-500-normal.BjpBGs91.woff │ ├── inter-greek-500-normal.CmOavsDc.woff2 │ ├── inter-greek-600-normal.B-l8Lzzd.woff2 │ ├── inter-greek-600-normal.BLZsI-P3.woff │ ├── inter-greek-700-normal.4IUP0jwf.woff2 │ ├── inter-greek-700-normal.CmOaYR_c.woff │ ├── inter-greek-800-normal.Cs_VTgIm.woff2 │ ├── inter-greek-800-normal.D3g1mjIX.woff │ ├── inter-greek-900-normal.CBSgWsEG.woff2 │ ├── inter-greek-900-normal.DA9K28vX.woff │ ├── inter-greek-ext-400-normal.CIdlr5YK.woff2 │ ├── inter-greek-ext-400-normal._Rr29XE2.woff │ ├── inter-greek-ext-500-normal.2pdUafRD.woff2 │ ├── inter-greek-ext-500-normal.Dtavx3qw.woff │ ├── inter-greek-ext-600-normal.BmtRFZgT.woff │ ├── inter-greek-ext-600-normal.CkBLDEl_.woff2 │ ├── inter-greek-ext-700-normal.Cwql_mmq.woff │ ├── inter-greek-ext-700-normal.DqOFU2GX.woff2 │ ├── inter-greek-ext-800-normal.C1dxFMOn.woff │ ├── inter-greek-ext-800-normal.D_pOHBce.woff2 │ ├── inter-greek-ext-900-normal.D9CzSSR0.woff2 │ ├── inter-greek-ext-900-normal.rPRJRDrO.woff │ ├── inter-latin-400-normal.BT1H-PT_.woff2 │ ├── inter-latin-400-normal.Cdi8t5Mu.woff │ ├── inter-latin-500-normal.D4I8BKCx.woff │ ├── inter-latin-500-normal.kWhwEdDH.woff2 │ ├── inter-latin-600-normal.B2Ssfs8e.woff2 │ ├── inter-latin-600-normal.Dbvh0wvx.woff │ ├── inter-latin-700-normal.C2zfFY7I.woff2 │ ├── inter-latin-700-normal.CHFldGL2.woff │ ├── inter-latin-800-normal.CLqhIfb-.woff │ ├── inter-latin-800-normal.mdTeNKyI.woff2 │ ├── inter-latin-900-normal.CcqMf2mW.woff │ ├── inter-latin-900-normal.Cr0vH05x.woff2 │ ├── inter-latin-ext-400-normal.8tIzm-yw.woff │ ├── inter-latin-ext-400-normal.D3W-OpO-.woff2 │ ├── inter-latin-ext-500-normal.B9u8Q_zH.woff2 │ ├── inter-latin-ext-500-normal.SuUkSNTU.woff │ ├── inter-latin-ext-600-normal.Dg0Bk0Yr.woff │ ├── inter-latin-ext-600-normal.ao35dkSb.woff2 │ ├── inter-latin-ext-700-normal.Bu7lG2nd.woff │ ├── inter-latin-ext-700-normal.CAa3MqUt.woff2 │ ├── inter-latin-ext-800-normal.CIDt3IZN.woff │ ├── inter-latin-ext-800-normal.Q1lcP4yj.woff2 │ ├── inter-latin-ext-900-normal.B5ldlAC-.woff │ ├── inter-latin-ext-900-normal.D3daLhYN.woff2 │ ├── inter-vietnamese-400-normal.Cnt0N5Vm.woff2 │ ├── inter-vietnamese-400-normal.DIOGfGLL.woff │ ├── inter-vietnamese-500-normal.0i6yoQMg.woff │ ├── inter-vietnamese-500-normal.5IkPJ6Nk.woff2 │ ├── inter-vietnamese-600-normal.BQ_dbMbg.woff │ ├── inter-vietnamese-600-normal.DjnxGF-L.woff2 │ ├── inter-vietnamese-700-normal.ByO5Ry5o.woff2 │ ├── inter-vietnamese-700-normal.Db0hjN_z.woff │ ├── inter-vietnamese-800-normal.Br1KEVll.woff2 │ ├── inter-vietnamese-800-normal.cw0-maV3.woff │ ├── inter-vietnamese-900-normal.BR79VtJG.woff2 │ ├── inter-vietnamese-900-normal.P5U8xor3.woff │ ├── jsx-runtime.7faW4zRM.js │ ├── motion.DIEilGlj.js │ ├── testimonial1.SejLjzBe.png │ ├── testimonial2.BHlnIVkU.png │ └── testimonial3.BwLG7L0d.png ├── blog │ └── article │ │ └── index.html ├── favicon.svg └── index.html ├── includes ├── ExamAll.h ├── FileInfo.h ├── PrintColor.h ├── Version.h ├── cmd_utils.h ├── install_utils.h ├── print_figlet.h ├── shell_utils.h ├── sl.h └── updata_utils.h ├── lib └── libprintcolor.a ├── objs ├── ExamAll.o ├── FileInfo.o ├── FileSize.o ├── PrintColor.o ├── Version.o ├── bootstrap.o ├── cmd_utils.o ├── install_utils.o ├── shell_utils.o ├── sl.o └── updata_utils.o ├── release.md ├── shell └── print.sh ├── src ├── FileManagement │ ├── FileCurl_no.c │ └── FileInfo.c ├── Library │ └── PrintColor.c ├── LoginShell │ └── ExamAll.c ├── Utils │ ├── Version.c │ ├── cmd_utils.c │ ├── install_utils.c │ ├── print_figlet.c │ ├── shell_utils.c │ └── updata_utils.c ├── bootstrap.c ├── game │ └── sl.c └── git │ ├── clone_no.c │ └── push_no.c └── updata /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [lmliheng] 4 | custom: ['https://paypal.me/lmliheng?country.x=C2&locale.x=zh_XC'] 5 | -------------------------------------------------------------------------------- /.github/workflows/c-cpp.yml: -------------------------------------------------------------------------------- 1 | name: C/C++ CI 2 | 3 | on: 4 | push: 5 | branches: [ "main" ] 6 | pull_request: 7 | branches: [ "main" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: 编译 17 | run: make 18 | -------------------------------------------------------------------------------- /.github/workflows/static.yml: -------------------------------------------------------------------------------- 1 | # Simple workflow for deploying static content to GitHub Pages 2 | name: Deploy static content to Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["main"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. 19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. 20 | concurrency: 21 | group: "pages" 22 | cancel-in-progress: false 23 | 24 | jobs: 25 | # Single deploy job since we're just deploying 26 | deploy: 27 | environment: 28 | name: github-pages 29 | url: ${{ steps.deployment.outputs.page_url }} 30 | runs-on: ubuntu-latest 31 | steps: 32 | - name: Checkout 33 | uses: actions/checkout@v4 34 | - name: Setup Pages 35 | uses: actions/configure-pages@v5 36 | - name: Upload artifact 37 | uses: actions/upload-pages-artifact@v3 38 | with: 39 | # Upload entire repository 40 | path: './home' 41 | - name: Deploy to GitHub Pages 42 | id: deployment 43 | uses: actions/deploy-pages@v4 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build.sh 2 | push.sh 3 | configure copy 4 | cil.zip -------------------------------------------------------------------------------- /FigletUtils/.gitignore: -------------------------------------------------------------------------------- 1 | chkfont 2 | figlet 3 | tags 4 | *.o 5 | core 6 | *~ 7 | tests.log 8 | *.tar.gz 9 | -------------------------------------------------------------------------------- /FigletUtils/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | sudo: false 4 | 5 | compiler: 6 | - gcc 7 | - clang 8 | 9 | os: 10 | - linux 11 | - osx 12 | 13 | script: make CC="$CC" LD="$CC" && make check 14 | 15 | matrix: 16 | include: 17 | - os: linux 18 | compiler: i586-mingw32msvc-gcc 19 | script: make CC="$CC" XCFLAGS= LD="$CC" 20 | - os: linux 21 | compiler: '"clang -fsanitize=address"' 22 | script: make CC="$CC" LD="$CC" && make check 23 | - os: linux 24 | compiler: '"clang -fsanitize=memory"' 25 | script: make CC="$CC" LD="$CC" && make check 26 | 27 | -------------------------------------------------------------------------------- /FigletUtils/FAQ: -------------------------------------------------------------------------------- 1 | _____ _____ _____ __ __ _____ _____ _____ 2 | | __| | __| |____| |_ | __| _ | | This FIGlet FAQ is 3 | | __|- -| | | | - _| _| | __| | | | posted once a month 4 | |__| |_____|_____|__|____|__| |__| |__|__|__ _| on figlet@figlet.org 5 | info@figlet.org http://www.figlet.org/ |__| [FIGlet FAQ v0.91] 6 | 7 | =========================================================================== 8 | The latest version of FIGlet is 2.2.5 and can be downloaded from 9 | ftp://ftp.figlet.org/pub/figlet/program 10 | =========================================================================== 11 | 12 | 1 What is FIGlet? 13 | 2 Where can I get FIGlet from? 14 | 3 Where can I get more fonts for FIGlet? 15 | 4 Where can I hear about regular FIGlet program and font updates? 16 | 5 How can I contribute? 17 | 6 Why am I getting this mail and can you make it stop? 18 | 7 Where does the name FIGlet come from? 19 | 20 | =========================================================================== 21 | 22 | 1. What is FIGlet? 23 | FIGlet is a program for making large letters out of ordinary text 24 | _ _ _ _ _ _ 25 | | (_) | _____ | |_| |__ (_)___ 26 | | | | |/ / _ \ | __| '_ \| / __| 27 | | | | < __/ | |_| | | | \__ \ 28 | |_|_|_|\_\___| \__|_| |_|_|___/ 29 | 30 | 2. Where can I get FIGlet from? 31 | From the official FIGlet website at http://www.figlet.org/ 32 | or from the FIGlet FTP site at ftp://ftp.figlet.org/pub/figlet/ 33 | 34 | 3. Where can I get more fonts for FIGlet? 35 | From the FTP site at ftp://ftp.figlet.org/pub/figlet/fonts/ 36 | There are currently over 400 fonts available for download 37 | 38 | 4 Where can I hear about regular FIGlet program and font updates? 39 | There is a mailing list for FIGlet for general discussions about 40 | FIGlet and a place where you can ask questions or share ideas 41 | with other FIGlet users. It is also the place where we will publish 42 | news about new fonts, new software updates etc. 43 | 44 | To subscribe or unsubscribe from the FIGlet mailing list, 45 | please send email to figlet-subscribe@figlet.org or visit the 46 | following web page: http://www.figlet.org/mailman/listinfo/figlet 47 | 48 | 5. How can I contribute? 49 | To contribute new fonts, software or information, please contact 50 | us at info@figlet.org 51 | 52 | 6. Why am I getting this mail and can you make it stop? 53 | If you received this email it is probably because you are subscribed 54 | to the FIGlet mailing list. Please see Question 4 of this FAQ on how 55 | to unsubscribe from the FIGlet list. 56 | 57 | 7. Where does the name FIGlet come from? 58 | "Frank, Ian and Glen's letters" 59 | 60 | 61 | = FAQ Maintainer ========================================================== 62 | Christiaan Keet keet@plig.net July 2005 63 | =========================================================================== 64 | -------------------------------------------------------------------------------- /FigletUtils/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 1991, 1993, 1994 Glenn Chappell and Ian Chai 2 | Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 John Cowan 3 | Copyright (C) 2002 Christiaan Keet 4 | Copyright (C) 2011 Claudio Matsuoka 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | 1. Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 2. Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | 3. Neither the name of the copyright holders nor the names of their 17 | contributors may be used to endorse or promote products derived 18 | from this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24 | COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 | OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 29 | TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 30 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /FigletUtils/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for figlet version 2.2.4 (26 Jan 2011) 2 | # adapted from Makefile for figlet version 2.2.2 (05 July 2005) 3 | # adapted from Makefile for figlet version 2.2 (15 Oct 1996) 4 | # Copyright 1993, 1994,1995 Glenn Chappell and Ian Chai 5 | # Copyright 1996, 1997, 1998, 1999, 2000, 2001 John Cowan 6 | # Copyright 2002 Christiaan Keet 7 | # Copyright 2011 Claudio Matsuoka 8 | 9 | # Please notice that to follow modern standards and ease third-party 10 | # package creation, binaries are now installed under BINDIR, and DESTDIR 11 | # is reserved for the installation pathname prefix. 12 | # 13 | # Please make sure BINDIR, MANDIR, DEFAULTFONTDIR and 14 | # DEFAULTFONTFILE are defined to reflect the situation 15 | # on your computer. See README for details. 16 | 17 | # Don't change this even if your shell is different. The only reason 18 | # for changing this is if sh is not in the same place. 19 | SHELL = /bin/sh 20 | 21 | # The C compiler and linker to use 22 | CC = gcc 23 | CFLAGS = -g -O2 -Wall -Wno-unused-value 24 | LD = gcc 25 | LDFLAGS = 26 | 27 | # Feature flags: 28 | # define TLF_FONTS to use TOIlet TLF fonts 29 | XCFLAGS = -DTLF_FONTS 30 | 31 | # Where to install files 32 | prefix = /usr/local 33 | 34 | # Where the executables should be put 35 | BINDIR = $(prefix)/bin 36 | 37 | # Where the man page should be put 38 | MANDIR = $(prefix)/man 39 | 40 | # Where figlet will search first for fonts (the ".flf" files). 41 | DEFAULTFONTDIR = $(prefix)/share/figlet 42 | # Use this definition if you can't put things in $(prefix)/share/figlet 43 | #DEFAULTFONTDIR = fonts 44 | 45 | # The filename of the font to be used if no other is specified, 46 | # without suffix.(standard is recommended, but any other can be 47 | # used). This font file should reside in the directory specified 48 | # by DEFAULTFONTDIR. 49 | DEFAULTFONTFILE = standard 50 | 51 | ## 52 | ## END OF CONFIGURATION SECTION 53 | ## 54 | 55 | VERSION = 2.2.5 56 | DIST = figlet-$(VERSION) 57 | OBJS = figlet.o zipio.o crc.o inflate.o utf8.o 58 | BINS = figlet chkfont figlist showfigfonts 59 | MANUAL = figlet.6 chkfont.6 figlist.6 showfigfonts.6 60 | DFILES = Makefile Makefile.tc $(MANUAL) $(OBJS:.o=.c) chkfont.c getopt.c \ 61 | figlist showfigfonts CHANGES FAQ README LICENSE figfont.txt \ 62 | crc.h inflate.h zipio.h utf8.h run-tests.sh figmagic 63 | 64 | .c.o: 65 | $(CC) -c $(CFLAGS) $(XCFLAGS) -DDEFAULTFONTDIR=\"$(DEFAULTFONTDIR)\" \ 66 | -DDEFAULTFONTFILE=\"$(DEFAULTFONTFILE)\" -o $*.o $< 67 | 68 | all: $(BINS) 69 | 70 | figlet: $(OBJS) 71 | $(LD) $(LDFLAGS) -o $@ $(OBJS) 72 | 73 | chkfont: chkfont.o 74 | $(LD) $(LDFLAGS) -o $@ chkfont.o 75 | 76 | clean: 77 | rm -f *.o *~ core figlet chkfont 78 | 79 | install: all 80 | mkdir -p $(DESTDIR)$(BINDIR) 81 | mkdir -p $(DESTDIR)$(MANDIR)/man6 82 | mkdir -p $(DESTDIR)$(DEFAULTFONTDIR) 83 | cp $(BINS) $(DESTDIR)$(BINDIR) 84 | cp $(MANUAL) $(DESTDIR)$(MANDIR)/man6 85 | cp fonts/*.flf $(DESTDIR)$(DEFAULTFONTDIR) 86 | cp fonts/*.flc $(DESTDIR)$(DEFAULTFONTDIR) 87 | 88 | dist: 89 | rm -Rf $(DIST) $(DIST).tar.gz 90 | mkdir $(DIST)/ 91 | cp $(DFILES) $(DIST)/ 92 | mkdir $(DIST)/fonts 93 | cp fonts/*.fl[fc] $(DIST)/fonts 94 | mkdir $(DIST)/tests 95 | cp tests/*txt tests/emboss.tlf $(DIST)/tests 96 | tar cvf - $(DIST) | gzip -9c > $(DIST).tar.gz 97 | rm -Rf $(DIST) 98 | tar xf $(DIST).tar.gz 99 | (cd $(DIST); make all check vercheck) 100 | @rm -Rf $(DIST) 101 | @echo 102 | @ls -l $(DIST).tar.gz 103 | 104 | check: 105 | @echo "Run tests in `pwd`" 106 | @./run-tests.sh fonts 107 | @echo 108 | 109 | vercheck: 110 | @printf "Infocode: "; ./figlet -I1 111 | @./figlet -v|sed -n '/Version/s/.*\(Version\)/\1/p' 112 | @printf "README: "; head -1 < README|sed 's/.*) //' 113 | @printf "FAQ: "; grep latest FAQ|sed 's/ and can.*//' 114 | @grep -h "^\.TH" *.6 115 | 116 | $(OBJS) chkfont.o getopt.o: Makefile 117 | chkfont.o: chkfont.c 118 | crc.o: crc.c crc.h 119 | figlet.o: figlet.c zipio.h 120 | getopt.o: getopt.c 121 | inflate.o: inflate.c inflate.h 122 | zipio.o: zipio.c zipio.h inflate.h crc.h 123 | -------------------------------------------------------------------------------- /FigletUtils/Makefile.tc: -------------------------------------------------------------------------------- 1 | # Turbo C makefile for figlet 2 | # adapted from Makefile for figlet version 2.3.0 (11 Jan 2011) 3 | # adapted from Makefile for figlet version 2.2.2 (05 July 2005) 4 | # adapted from Makefile for figlet version 2.2 (15 Oct 1996) 5 | # Copyright 1993, 1994,1995 Glenn Chappell and Ian Chai 6 | # Copyright 1996, 1997, 1998, 1999, 2000, 2001 John Cowan 7 | # Copyright 2002 Christiaan Keet 8 | # Copyright 2011 Claudio Matsuoka 9 | 10 | # The C compiler and linker to use 11 | CC = tcc 12 | CFLAGS = -mc -I\tc\include 13 | LD = tcc 14 | LDFLAGS = -mc -L\tc\lib 15 | 16 | # Use this definition if you can't put things in /usr/local/share/figlet 17 | DEFAULTFONTDIR = fonts 18 | 19 | # The filename of the font to be used if no other is specified 20 | # (standard.flf is recommended, but any other can be used). 21 | # This font file should reside in the directory specified by 22 | # DEFAULTFONTDIR. 23 | DEFAULTFONTFILE = standard.flf 24 | 25 | ## 26 | ## END OF CONFIGURATION SECTION 27 | ## 28 | 29 | OBJS = figlet.obj zipio.obj crc.obj inflate.obj getopt.obj 30 | BINS = figlet.exe chkfont.exe 31 | 32 | .c.obj: 33 | $(CC) -c $(CFLAGS) -DDEFAULTFONTDIR="$(DEFAULTFONTDIR)" \ 34 | -DDEFAULTFONTFILE="$(DEFAULTFONTFILE)" -o$*.obj $< 35 | 36 | all: $(BINS) 37 | 38 | figlet.exe: $(OBJS) 39 | $(LD) $(LDFLAGS) -o$@ $(OBJS) 40 | 41 | chkfont.exe: chkfont.obj 42 | $(LD) $(LDFLAGS) -o$@ chkfont.obj 43 | -------------------------------------------------------------------------------- /FigletUtils/chkfont.6: -------------------------------------------------------------------------------- 1 | .\" chkfont 2 | .\" By Glenn Chappell 3 | .\" 4 | .\" This program checks figlet 2.0/2.1 font files for format errors. 5 | .\" It also looks for signs of common problems and gives warnings. 6 | .\" chkfont does not modify font files. 7 | .\" 8 | .\" Usage: chkfont fontfile ... 9 | .\" 10 | .\" Note: This is very much a spare-time project. It's probably 11 | .\" full o' bugs. 12 | .\" 13 | .\" Manual page by Jonathon Abbott, for the Debian Project 14 | .\" slightly modified by Francesco Tapparo, for the Debian Project 15 | .TH CHKFONT 6 "31 May 2012" "v2.2.5" 16 | 17 | .SH NAME 18 | chkfont \- checks figlet 2.0 and up font files for format errors 19 | 20 | .SH SYNOPSIS 21 | .B chkfont 22 | [ 23 | .I fontfile 24 | ] 25 | 26 | .SH DESCRIPTION 27 | This program checks figlet 2.0 and up font files for format errors. 28 | It also looks for signs of common problems and gives warnings. 29 | chkfont does not modify font files. 30 | 31 | .SH EXAMPLES 32 | To use 33 | .B chkfont 34 | on the "big" font 35 | .RS 36 | 37 | .B example% chkfont /usr/share/figlet/big.flf 38 | 39 | .RE 40 | 41 | .SH BUGS 42 | Doesn't work on compressed font files. 43 | 44 | .SH AUTHORS 45 | chkfont was written by Glenn Chappell 46 | 47 | This manual page was written by Jonathon Abbott for the Debian Project. 48 | 49 | .SH "SEE ALSO" 50 | .BR figlet (6), 51 | .BR showfigfonts (6), 52 | .BR figlist (6) 53 | -------------------------------------------------------------------------------- /FigletUtils/crc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * crc.h - CRC calculation routine 3 | * 4 | * Version 1.0.1 5 | */ 6 | 7 | /* 8 | * Copyright (C) 1995, Edward B. Hamrick 9 | * 10 | * Permission to use, copy, modify, and distribute this software and 11 | * its documentation for any purpose and without fee is hereby granted, 12 | * provided that the above copyright notice appear in all copies and 13 | * that both that copyright notice and this permission notice appear in 14 | * supporting documentation, and that the name of the copyright holders 15 | * not be used in advertising or publicity pertaining to distribution of 16 | * the software without specific, written prior permission. The copyright 17 | * holders makes no representations about the suitability of this software 18 | * for any purpose. It is provided "as is" without express or implied warranty. 19 | * 20 | * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS 21 | * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 22 | * IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT 23 | * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 24 | * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 25 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 26 | * OF THIS SOFTWARE. 27 | */ 28 | 29 | /* 30 | * Changes from 1.0 to 1.0.1: 31 | * Relicensed under the MIT license, with consent of the copyright holders. 32 | * Claudio Matsuoka (Jan 11 2011) 33 | */ 34 | 35 | /* 36 | * This CRC algorithm is the same as that used in zip. Normally it 37 | * should be initialized with 0xffffffff, and the final CRC stored 38 | * should be crc ^ 0xffffffff. 39 | * 40 | * It implements the polynomial: 41 | * 42 | * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1 43 | */ 44 | 45 | #ifndef __CRC_H 46 | #define __CRC_H 47 | 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | 52 | unsigned long CrcUpdate( /* returns updated crc */ 53 | unsigned long crc, /* starting crc */ 54 | unsigned char *buffer, /* buffer to use to update crc */ 55 | long length /* length of buffer */ 56 | ); 57 | 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /FigletUtils/figfont.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/FigletUtils/figfont.txt -------------------------------------------------------------------------------- /FigletUtils/figlist: -------------------------------------------------------------------------------- 1 | #!/bin/sh - 2 | # figlist by Glenn Chappell 3 | # figlet release 2.1.1 -- 25 Aug 1994 4 | # 5 | # Lists all fonts and control files in figlet's default font directory. 6 | # Replaces "figlet -F", which was removed from figlet version 2.1. 7 | # 8 | # Usage: figlist [ -d directory ] 9 | 10 | DIR=`dirname $0` 11 | FIGLET=$DIR/figlet 12 | 13 | # Get figlet version 14 | FIGLETVERSION=`$FIGLET -I1 2>/dev/null` 15 | if [ -z "$FIGLETVERSION" ]; then 16 | FIGLETVERSION=20000 17 | fi 18 | 19 | USAGE="Usage: `basename $0` [ -d directory ]" 20 | 21 | if [ "$1" = "-d" ]; then 22 | FONTDIROPT="-d $2" 23 | if [ $# -ne 2 ]; then 24 | echo "$USAGE" 25 | exit 1 26 | fi 27 | else 28 | FONTDIROPT="" 29 | if [ $# -ne 0 ]; then 30 | echo "$USAGE" 31 | exit 1 32 | fi 33 | fi 34 | 35 | if [ "$FIGLETVERSION" -lt 20100 ]; then 36 | # figlet 2.0 37 | $FIGLET $FONTDIROPT -F 38 | exit 39 | fi 40 | 41 | # From here on we may assume figlet 2.1 or later 42 | 43 | FONTDIR=`$FIGLET $FONTDIROPT -I2` 44 | FONT=`$FIGLET -I3` 45 | echo "Default font: $FONT" 46 | echo "Font directory: $FONTDIR" 47 | 48 | if [ -d "$FONTDIR" ] && [ -r "$FONTDIR" ]; then 49 | cd "$FONTDIR" 50 | if ls *.flf >/dev/null 2>&1 ; then 51 | echo "Figlet fonts in this directory:" 52 | ls *.flf 2>/dev/null | sed s/\.flf$// 53 | else 54 | echo 'No figlet fonts in this directory' 55 | fi 56 | if ls *.flc >/dev/null 2>&1 ; then 57 | echo "Figlet control files in this directory:" 58 | ls *.flc 2>/dev/null | sed s/\.flc$// 59 | else 60 | echo 'No figlet control files in this directory' 61 | fi 62 | else 63 | echo 'Unable to open directory' 64 | fi 65 | -------------------------------------------------------------------------------- /FigletUtils/figlist.6: -------------------------------------------------------------------------------- 1 | .\" figlist by Glenn Chappell 2 | .\" figlet release 2.1.1 -- 25 Aug 1994 3 | .\" 4 | .\" Lists all fonts and control files in figlet's default font directory. 5 | .\" Replaces "figlet -F", which was removed from figlet version 2.1. 6 | .\" 7 | .\" Usage: figlist [ -d directory ] 8 | .\" 9 | .\" Manual page by Jonathon Abbott, for the Debian Project 10 | .\" slightly modified by Francesco Tapparo, for the Debian Project 11 | .TH FIGLIST 6 "31 May 2012" "v2.2.5" 12 | 13 | .SH NAME 14 | figlist \- lists figlet fonts and control files 15 | 16 | .SH SYNOPSIS 17 | .B figlist 18 | [ 19 | .B \-d 20 | .I directory 21 | ] 22 | 23 | .SH DESCRIPTION 24 | Lists all fonts and control files in figlet's default font directory. 25 | Replaces "figlet \-F", which was removed from figlet version 2.1. 26 | 27 | .SH EXAMPLES 28 | To use 29 | .B figlist 30 | with its default settings, simply type 31 | .RS 32 | 33 | .B example% figlist 34 | 35 | .RE 36 | 37 | To list all the font and control files in /usr/share/fonts/figlet 38 | .RS 39 | 40 | .B example% figlist \-d /usr/share/fonts/figlet 41 | 42 | .RE 43 | 44 | .SH AUTHORS 45 | figlist was written by Glenn Chappell 46 | 47 | This manual page was written by Jonathon Abbott for the Debian Project. 48 | 49 | .SH "SEE ALSO" 50 | .BR figlet (6), 51 | .BR chkfont (6), 52 | .BR showfigfonts (6) 53 | -------------------------------------------------------------------------------- /FigletUtils/figmagic: -------------------------------------------------------------------------------- 1 | # Append this file to your /etc/magic or /usr/share/misc/magic file 2 | # to enable the ``file'' command to report on FIGlet fonts and controlfiles. 3 | 0 string flf FIGlet font 4 | >3 string >2a version %-2.2s 5 | 0 string flc FIGlet controlfile 6 | >3 string >2a version %-2.2s 7 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-cn.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: GB_1988-80 to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # GB_1988-80 characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the GB_1988-80 code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in GB_1988-80 order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &rem source: ECMA registry 25 | # &alias iso-ir-57 26 | # &g0esc x2854 &g1esc x2954 &g2esc x2a54 &g3esc x2b54 27 | # &alias cn 28 | # &alias ISO646-CN 29 | 0x00 0x0000 # NULL (NUL) 30 | 0x01 0x0001 # START OF HEADING (SOH) 31 | 0x02 0x0002 # START OF TEXT (STX) 32 | 0x03 0x0003 # END OF TEXT (ETX) 33 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 34 | 0x05 0x0005 # ENQUIRY (ENQ) 35 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 36 | 0x07 0x0007 # BELL (BEL) 37 | 0x08 0x0008 # BACKSPACE (BS) 38 | 0x09 0x0009 # CHARACTER TABULATION (HT) 39 | 0x0A 0x000A # LINE FEED (LF) 40 | 0x0B 0x000B # LINE TABULATION (VT) 41 | 0x0C 0x000C # FORM FEED (FF) 42 | 0x0D 0x000D # CARRIAGE RETURN (CR) 43 | 0x0E 0x000E # SHIFT OUT (SO) 44 | 0x0F 0x000F # SHIFT IN (SI) 45 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 46 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 47 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 48 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 49 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 50 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 51 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 52 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 53 | 0x18 0x0018 # CANCEL (CAN) 54 | 0x19 0x0019 # END OF MEDIUM (EM) 55 | 0x1A 0x001A # SUBSTITUTE (SUB) 56 | 0x1B 0x001B # ESCAPE (ESC) 57 | 0x1C 0x001C # FILE SEPARATOR (IS4) 58 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 59 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 60 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 61 | 0x20 0x0020 # SPACE 62 | 0x21 0x0021 # EXCLAMATION MARK 63 | 0x22 0x0022 # QUOTATION MARK 64 | 0x23 0x0023 # NUMBER SIGN 65 | 0x24 0x00A5 # YEN SIGN 66 | 0x25 0x0025 # PERCENT SIGN 67 | 0x26 0x0026 # AMPERSAND 68 | 0x27 0x0027 # APOSTROPHE 69 | 0x28 0x0028 # LEFT PARENTHESIS 70 | 0x29 0x0029 # RIGHT PARENTHESIS 71 | 0x2A 0x002A # ASTERISK 72 | 0x2B 0x002B # PLUS SIGN 73 | 0x2C 0x002C # COMMA 74 | 0x2D 0x002D # HYPHEN-MINUS 75 | 0x2E 0x002E # FULL STOP 76 | 0x2F 0x002F # SOLIDUS 77 | 0x30 0x0030 # DIGIT ZERO 78 | 0x31 0x0031 # DIGIT ONE 79 | 0x32 0x0032 # DIGIT TWO 80 | 0x33 0x0033 # DIGIT THREE 81 | 0x34 0x0034 # DIGIT FOUR 82 | 0x35 0x0035 # DIGIT FIVE 83 | 0x36 0x0036 # DIGIT SIX 84 | 0x37 0x0037 # DIGIT SEVEN 85 | 0x38 0x0038 # DIGIT EIGHT 86 | 0x39 0x0039 # DIGIT NINE 87 | 0x3A 0x003A # COLON 88 | 0x3B 0x003B # SEMICOLON 89 | 0x3C 0x003C # LESS-THAN SIGN 90 | 0x3D 0x003D # EQUALS SIGN 91 | 0x3E 0x003E # GREATER-THAN SIGN 92 | 0x3F 0x003F # QUESTION MARK 93 | 0x40 0x0040 # COMMERCIAL AT 94 | 0x41 0x0041 # LATIN CAPITAL LETTER A 95 | 0x42 0x0042 # LATIN CAPITAL LETTER B 96 | 0x43 0x0043 # LATIN CAPITAL LETTER C 97 | 0x44 0x0044 # LATIN CAPITAL LETTER D 98 | 0x45 0x0045 # LATIN CAPITAL LETTER E 99 | 0x46 0x0046 # LATIN CAPITAL LETTER F 100 | 0x47 0x0047 # LATIN CAPITAL LETTER G 101 | 0x48 0x0048 # LATIN CAPITAL LETTER H 102 | 0x49 0x0049 # LATIN CAPITAL LETTER I 103 | 0x4A 0x004A # LATIN CAPITAL LETTER J 104 | 0x4B 0x004B # LATIN CAPITAL LETTER K 105 | 0x4C 0x004C # LATIN CAPITAL LETTER L 106 | 0x4D 0x004D # LATIN CAPITAL LETTER M 107 | 0x4E 0x004E # LATIN CAPITAL LETTER N 108 | 0x4F 0x004F # LATIN CAPITAL LETTER O 109 | 0x50 0x0050 # LATIN CAPITAL LETTER P 110 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 111 | 0x52 0x0052 # LATIN CAPITAL LETTER R 112 | 0x53 0x0053 # LATIN CAPITAL LETTER S 113 | 0x54 0x0054 # LATIN CAPITAL LETTER T 114 | 0x55 0x0055 # LATIN CAPITAL LETTER U 115 | 0x56 0x0056 # LATIN CAPITAL LETTER V 116 | 0x57 0x0057 # LATIN CAPITAL LETTER W 117 | 0x58 0x0058 # LATIN CAPITAL LETTER X 118 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 119 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 120 | 0x5B 0x005B # LEFT SQUARE BRACKET 121 | 0x5C 0x005C # REVERSE SOLIDUS 122 | 0x5D 0x005D # RIGHT SQUARE BRACKET 123 | 0x5E 0x005E # CIRCUMFLEX ACCENT 124 | 0x5F 0x005F # LOW LINE 125 | 0x60 0x0060 # GRAVE ACCENT 126 | 0x61 0x0061 # LATIN SMALL LETTER A 127 | 0x62 0x0062 # LATIN SMALL LETTER B 128 | 0x63 0x0063 # LATIN SMALL LETTER C 129 | 0x64 0x0064 # LATIN SMALL LETTER D 130 | 0x65 0x0065 # LATIN SMALL LETTER E 131 | 0x66 0x0066 # LATIN SMALL LETTER F 132 | 0x67 0x0067 # LATIN SMALL LETTER G 133 | 0x68 0x0068 # LATIN SMALL LETTER H 134 | 0x69 0x0069 # LATIN SMALL LETTER I 135 | 0x6A 0x006A # LATIN SMALL LETTER J 136 | 0x6B 0x006B # LATIN SMALL LETTER K 137 | 0x6C 0x006C # LATIN SMALL LETTER L 138 | 0x6D 0x006D # LATIN SMALL LETTER M 139 | 0x6E 0x006E # LATIN SMALL LETTER N 140 | 0x6F 0x006F # LATIN SMALL LETTER O 141 | 0x70 0x0070 # LATIN SMALL LETTER P 142 | 0x71 0x0071 # LATIN SMALL LETTER Q 143 | 0x72 0x0072 # LATIN SMALL LETTER R 144 | 0x73 0x0073 # LATIN SMALL LETTER S 145 | 0x74 0x0074 # LATIN SMALL LETTER T 146 | 0x75 0x0075 # LATIN SMALL LETTER U 147 | 0x76 0x0076 # LATIN SMALL LETTER V 148 | 0x77 0x0077 # LATIN SMALL LETTER W 149 | 0x78 0x0078 # LATIN SMALL LETTER X 150 | 0x79 0x0079 # LATIN SMALL LETTER Y 151 | 0x7A 0x007A # LATIN SMALL LETTER Z 152 | 0x7B 0x007B # LEFT CURLY BRACKET 153 | 0x7C 0x007C # VERTICAL LINE 154 | 0x7D 0x007D # RIGHT CURLY BRACKET 155 | 0x7E 0x203E # OVERLINE 156 | 0x7F 0x007F # DELETE (DEL) 157 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-es.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: ES to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # ES characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the ES code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in ES order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &rem source: ECMA registry 25 | # &alias iso-ir-17 26 | # &alias ISO646-ES 27 | # &g0esc x285a &g1esc x295a &g2esc x2a5a &g3esc x2b5a 28 | 0x00 0x0000 # NULL (NUL) 29 | 0x01 0x0001 # START OF HEADING (SOH) 30 | 0x02 0x0002 # START OF TEXT (STX) 31 | 0x03 0x0003 # END OF TEXT (ETX) 32 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 33 | 0x05 0x0005 # ENQUIRY (ENQ) 34 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 35 | 0x07 0x0007 # BELL (BEL) 36 | 0x08 0x0008 # BACKSPACE (BS) 37 | 0x09 0x0009 # CHARACTER TABULATION (HT) 38 | 0x0A 0x000A # LINE FEED (LF) 39 | 0x0B 0x000B # LINE TABULATION (VT) 40 | 0x0C 0x000C # FORM FEED (FF) 41 | 0x0D 0x000D # CARRIAGE RETURN (CR) 42 | 0x0E 0x000E # SHIFT OUT (SO) 43 | 0x0F 0x000F # SHIFT IN (SI) 44 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 45 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 46 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 47 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 48 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 49 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 50 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 51 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 52 | 0x18 0x0018 # CANCEL (CAN) 53 | 0x19 0x0019 # END OF MEDIUM (EM) 54 | 0x1A 0x001A # SUBSTITUTE (SUB) 55 | 0x1B 0x001B # ESCAPE (ESC) 56 | 0x1C 0x001C # FILE SEPARATOR (IS4) 57 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 58 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 59 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 60 | 0x20 0x0020 # SPACE 61 | 0x21 0x0021 # EXCLAMATION MARK 62 | 0x22 0x0022 # QUOTATION MARK 63 | 0x23 0x00A3 # POUND SIGN 64 | 0x24 0x0024 # DOLLAR SIGN 65 | 0x25 0x0025 # PERCENT SIGN 66 | 0x26 0x0026 # AMPERSAND 67 | 0x27 0x0027 # APOSTROPHE 68 | 0x28 0x0028 # LEFT PARENTHESIS 69 | 0x29 0x0029 # RIGHT PARENTHESIS 70 | 0x2A 0x002A # ASTERISK 71 | 0x2B 0x002B # PLUS SIGN 72 | 0x2C 0x002C # COMMA 73 | 0x2D 0x002D # HYPHEN-MINUS 74 | 0x2E 0x002E # FULL STOP 75 | 0x2F 0x002F # SOLIDUS 76 | 0x30 0x0030 # DIGIT ZERO 77 | 0x31 0x0031 # DIGIT ONE 78 | 0x32 0x0032 # DIGIT TWO 79 | 0x33 0x0033 # DIGIT THREE 80 | 0x34 0x0034 # DIGIT FOUR 81 | 0x35 0x0035 # DIGIT FIVE 82 | 0x36 0x0036 # DIGIT SIX 83 | 0x37 0x0037 # DIGIT SEVEN 84 | 0x38 0x0038 # DIGIT EIGHT 85 | 0x39 0x0039 # DIGIT NINE 86 | 0x3A 0x003A # COLON 87 | 0x3B 0x003B # SEMICOLON 88 | 0x3C 0x003C # LESS-THAN SIGN 89 | 0x3D 0x003D # EQUALS SIGN 90 | 0x3E 0x003E # GREATER-THAN SIGN 91 | 0x3F 0x003F # QUESTION MARK 92 | 0x40 0x00A7 # SECTION SIGN 93 | 0x41 0x0041 # LATIN CAPITAL LETTER A 94 | 0x42 0x0042 # LATIN CAPITAL LETTER B 95 | 0x43 0x0043 # LATIN CAPITAL LETTER C 96 | 0x44 0x0044 # LATIN CAPITAL LETTER D 97 | 0x45 0x0045 # LATIN CAPITAL LETTER E 98 | 0x46 0x0046 # LATIN CAPITAL LETTER F 99 | 0x47 0x0047 # LATIN CAPITAL LETTER G 100 | 0x48 0x0048 # LATIN CAPITAL LETTER H 101 | 0x49 0x0049 # LATIN CAPITAL LETTER I 102 | 0x4A 0x004A # LATIN CAPITAL LETTER J 103 | 0x4B 0x004B # LATIN CAPITAL LETTER K 104 | 0x4C 0x004C # LATIN CAPITAL LETTER L 105 | 0x4D 0x004D # LATIN CAPITAL LETTER M 106 | 0x4E 0x004E # LATIN CAPITAL LETTER N 107 | 0x4F 0x004F # LATIN CAPITAL LETTER O 108 | 0x50 0x0050 # LATIN CAPITAL LETTER P 109 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 110 | 0x52 0x0052 # LATIN CAPITAL LETTER R 111 | 0x53 0x0053 # LATIN CAPITAL LETTER S 112 | 0x54 0x0054 # LATIN CAPITAL LETTER T 113 | 0x55 0x0055 # LATIN CAPITAL LETTER U 114 | 0x56 0x0056 # LATIN CAPITAL LETTER V 115 | 0x57 0x0057 # LATIN CAPITAL LETTER W 116 | 0x58 0x0058 # LATIN CAPITAL LETTER X 117 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 118 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 119 | 0x5B 0x00A1 # INVERTED EXCLAMATION MARK 120 | 0x5C 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE 121 | 0x5D 0x00BF # INVERTED QUESTION MARK 122 | 0x5E 0x005E # CIRCUMFLEX ACCENT 123 | 0x5F 0x005F # LOW LINE 124 | 0x60 0x0060 # GRAVE ACCENT 125 | 0x61 0x0061 # LATIN SMALL LETTER A 126 | 0x62 0x0062 # LATIN SMALL LETTER B 127 | 0x63 0x0063 # LATIN SMALL LETTER C 128 | 0x64 0x0064 # LATIN SMALL LETTER D 129 | 0x65 0x0065 # LATIN SMALL LETTER E 130 | 0x66 0x0066 # LATIN SMALL LETTER F 131 | 0x67 0x0067 # LATIN SMALL LETTER G 132 | 0x68 0x0068 # LATIN SMALL LETTER H 133 | 0x69 0x0069 # LATIN SMALL LETTER I 134 | 0x6A 0x006A # LATIN SMALL LETTER J 135 | 0x6B 0x006B # LATIN SMALL LETTER K 136 | 0x6C 0x006C # LATIN SMALL LETTER L 137 | 0x6D 0x006D # LATIN SMALL LETTER M 138 | 0x6E 0x006E # LATIN SMALL LETTER N 139 | 0x6F 0x006F # LATIN SMALL LETTER O 140 | 0x70 0x0070 # LATIN SMALL LETTER P 141 | 0x71 0x0071 # LATIN SMALL LETTER Q 142 | 0x72 0x0072 # LATIN SMALL LETTER R 143 | 0x73 0x0073 # LATIN SMALL LETTER S 144 | 0x74 0x0074 # LATIN SMALL LETTER T 145 | 0x75 0x0075 # LATIN SMALL LETTER U 146 | 0x76 0x0076 # LATIN SMALL LETTER V 147 | 0x77 0x0077 # LATIN SMALL LETTER W 148 | 0x78 0x0078 # LATIN SMALL LETTER X 149 | 0x79 0x0079 # LATIN SMALL LETTER Y 150 | 0x7A 0x007A # LATIN SMALL LETTER Z 151 | 0x7B 0x00B0 # DEGREE SIGN 152 | 0x7C 0x00F1 # LATIN SMALL LETTER N WITH TILDE 153 | 0x7D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA 154 | 0x7E 0x007E # TILDE 155 | 0x7F 0x007F # DELETE (DEL) 156 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-gb.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: BS_4730 to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # BS_4730 characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the BS_4730 code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in BS_4730 order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &rem source: ECMA registry 25 | # &alias iso-ir-4 26 | # &alias ISO646-GB 27 | # &g0esc x2841 &g1esc x2941 &g2esc x2a41 &g3esc x2b41 28 | # &alias gb 29 | # &alias uk 30 | 0x00 0x0000 # NULL (NUL) 31 | 0x01 0x0001 # START OF HEADING (SOH) 32 | 0x02 0x0002 # START OF TEXT (STX) 33 | 0x03 0x0003 # END OF TEXT (ETX) 34 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 35 | 0x05 0x0005 # ENQUIRY (ENQ) 36 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 37 | 0x07 0x0007 # BELL (BEL) 38 | 0x08 0x0008 # BACKSPACE (BS) 39 | 0x09 0x0009 # CHARACTER TABULATION (HT) 40 | 0x0A 0x000A # LINE FEED (LF) 41 | 0x0B 0x000B # LINE TABULATION (VT) 42 | 0x0C 0x000C # FORM FEED (FF) 43 | 0x0D 0x000D # CARRIAGE RETURN (CR) 44 | 0x0E 0x000E # SHIFT OUT (SO) 45 | 0x0F 0x000F # SHIFT IN (SI) 46 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 47 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 48 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 49 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 50 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 51 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 52 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 53 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 54 | 0x18 0x0018 # CANCEL (CAN) 55 | 0x19 0x0019 # END OF MEDIUM (EM) 56 | 0x1A 0x001A # SUBSTITUTE (SUB) 57 | 0x1B 0x001B # ESCAPE (ESC) 58 | 0x1C 0x001C # FILE SEPARATOR (IS4) 59 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 60 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 61 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 62 | 0x20 0x0020 # SPACE 63 | 0x21 0x0021 # EXCLAMATION MARK 64 | 0x22 0x0022 # QUOTATION MARK 65 | 0x23 0x00A3 # POUND SIGN 66 | 0x24 0x0024 # DOLLAR SIGN 67 | 0x25 0x0025 # PERCENT SIGN 68 | 0x26 0x0026 # AMPERSAND 69 | 0x27 0x0027 # APOSTROPHE 70 | 0x28 0x0028 # LEFT PARENTHESIS 71 | 0x29 0x0029 # RIGHT PARENTHESIS 72 | 0x2A 0x002A # ASTERISK 73 | 0x2B 0x002B # PLUS SIGN 74 | 0x2C 0x002C # COMMA 75 | 0x2D 0x002D # HYPHEN-MINUS 76 | 0x2E 0x002E # FULL STOP 77 | 0x2F 0x002F # SOLIDUS 78 | 0x30 0x0030 # DIGIT ZERO 79 | 0x31 0x0031 # DIGIT ONE 80 | 0x32 0x0032 # DIGIT TWO 81 | 0x33 0x0033 # DIGIT THREE 82 | 0x34 0x0034 # DIGIT FOUR 83 | 0x35 0x0035 # DIGIT FIVE 84 | 0x36 0x0036 # DIGIT SIX 85 | 0x37 0x0037 # DIGIT SEVEN 86 | 0x38 0x0038 # DIGIT EIGHT 87 | 0x39 0x0039 # DIGIT NINE 88 | 0x3A 0x003A # COLON 89 | 0x3B 0x003B # SEMICOLON 90 | 0x3C 0x003C # LESS-THAN SIGN 91 | 0x3D 0x003D # EQUALS SIGN 92 | 0x3E 0x003E # GREATER-THAN SIGN 93 | 0x3F 0x003F # QUESTION MARK 94 | 0x40 0x0040 # COMMERCIAL AT 95 | 0x41 0x0041 # LATIN CAPITAL LETTER A 96 | 0x42 0x0042 # LATIN CAPITAL LETTER B 97 | 0x43 0x0043 # LATIN CAPITAL LETTER C 98 | 0x44 0x0044 # LATIN CAPITAL LETTER D 99 | 0x45 0x0045 # LATIN CAPITAL LETTER E 100 | 0x46 0x0046 # LATIN CAPITAL LETTER F 101 | 0x47 0x0047 # LATIN CAPITAL LETTER G 102 | 0x48 0x0048 # LATIN CAPITAL LETTER H 103 | 0x49 0x0049 # LATIN CAPITAL LETTER I 104 | 0x4A 0x004A # LATIN CAPITAL LETTER J 105 | 0x4B 0x004B # LATIN CAPITAL LETTER K 106 | 0x4C 0x004C # LATIN CAPITAL LETTER L 107 | 0x4D 0x004D # LATIN CAPITAL LETTER M 108 | 0x4E 0x004E # LATIN CAPITAL LETTER N 109 | 0x4F 0x004F # LATIN CAPITAL LETTER O 110 | 0x50 0x0050 # LATIN CAPITAL LETTER P 111 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 112 | 0x52 0x0052 # LATIN CAPITAL LETTER R 113 | 0x53 0x0053 # LATIN CAPITAL LETTER S 114 | 0x54 0x0054 # LATIN CAPITAL LETTER T 115 | 0x55 0x0055 # LATIN CAPITAL LETTER U 116 | 0x56 0x0056 # LATIN CAPITAL LETTER V 117 | 0x57 0x0057 # LATIN CAPITAL LETTER W 118 | 0x58 0x0058 # LATIN CAPITAL LETTER X 119 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 120 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 121 | 0x5B 0x005B # LEFT SQUARE BRACKET 122 | 0x5C 0x005C # REVERSE SOLIDUS 123 | 0x5D 0x005D # RIGHT SQUARE BRACKET 124 | 0x5E 0x005E # CIRCUMFLEX ACCENT 125 | 0x5F 0x005F # LOW LINE 126 | 0x60 0x0060 # GRAVE ACCENT 127 | 0x61 0x0061 # LATIN SMALL LETTER A 128 | 0x62 0x0062 # LATIN SMALL LETTER B 129 | 0x63 0x0063 # LATIN SMALL LETTER C 130 | 0x64 0x0064 # LATIN SMALL LETTER D 131 | 0x65 0x0065 # LATIN SMALL LETTER E 132 | 0x66 0x0066 # LATIN SMALL LETTER F 133 | 0x67 0x0067 # LATIN SMALL LETTER G 134 | 0x68 0x0068 # LATIN SMALL LETTER H 135 | 0x69 0x0069 # LATIN SMALL LETTER I 136 | 0x6A 0x006A # LATIN SMALL LETTER J 137 | 0x6B 0x006B # LATIN SMALL LETTER K 138 | 0x6C 0x006C # LATIN SMALL LETTER L 139 | 0x6D 0x006D # LATIN SMALL LETTER M 140 | 0x6E 0x006E # LATIN SMALL LETTER N 141 | 0x6F 0x006F # LATIN SMALL LETTER O 142 | 0x70 0x0070 # LATIN SMALL LETTER P 143 | 0x71 0x0071 # LATIN SMALL LETTER Q 144 | 0x72 0x0072 # LATIN SMALL LETTER R 145 | 0x73 0x0073 # LATIN SMALL LETTER S 146 | 0x74 0x0074 # LATIN SMALL LETTER T 147 | 0x75 0x0075 # LATIN SMALL LETTER U 148 | 0x76 0x0076 # LATIN SMALL LETTER V 149 | 0x77 0x0077 # LATIN SMALL LETTER W 150 | 0x78 0x0078 # LATIN SMALL LETTER X 151 | 0x79 0x0079 # LATIN SMALL LETTER Y 152 | 0x7A 0x007A # LATIN SMALL LETTER Z 153 | 0x7B 0x007B # LEFT CURLY BRACKET 154 | 0x7C 0x007C # VERTICAL LINE 155 | 0x7D 0x007D # RIGHT CURLY BRACKET 156 | 0x7E 0x203E # OVERLINE 157 | 0x7F 0x007F # DELETE (DEL) 158 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-irv.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: ISO_646.irv:1983 to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # ISO_646.irv:1983 characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the ISO_646.irv:1983 code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in ISO_646.irv:1983 order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &rem source: ECMA registry 25 | # &alias iso-ir-2 26 | # &alias irv 27 | # &g0esc x2840 &g1esc x2940 &g2esc x2a40 &g3esc x2b40 28 | 0x00 0x0000 # NULL (NUL) 29 | 0x01 0x0001 # START OF HEADING (SOH) 30 | 0x02 0x0002 # START OF TEXT (STX) 31 | 0x03 0x0003 # END OF TEXT (ETX) 32 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 33 | 0x05 0x0005 # ENQUIRY (ENQ) 34 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 35 | 0x07 0x0007 # BELL (BEL) 36 | 0x08 0x0008 # BACKSPACE (BS) 37 | 0x09 0x0009 # CHARACTER TABULATION (HT) 38 | 0x0A 0x000A # LINE FEED (LF) 39 | 0x0B 0x000B # LINE TABULATION (VT) 40 | 0x0C 0x000C # FORM FEED (FF) 41 | 0x0D 0x000D # CARRIAGE RETURN (CR) 42 | 0x0E 0x000E # SHIFT OUT (SO) 43 | 0x0F 0x000F # SHIFT IN (SI) 44 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 45 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 46 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 47 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 48 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 49 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 50 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 51 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 52 | 0x18 0x0018 # CANCEL (CAN) 53 | 0x19 0x0019 # END OF MEDIUM (EM) 54 | 0x1A 0x001A # SUBSTITUTE (SUB) 55 | 0x1B 0x001B # ESCAPE (ESC) 56 | 0x1C 0x001C # FILE SEPARATOR (IS4) 57 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 58 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 59 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 60 | 0x20 0x0020 # SPACE 61 | 0x21 0x0021 # EXCLAMATION MARK 62 | 0x22 0x0022 # QUOTATION MARK 63 | 0x23 0x0023 # NUMBER SIGN 64 | 0x24 0x00A4 # CURRENCY SIGN 65 | 0x25 0x0025 # PERCENT SIGN 66 | 0x26 0x0026 # AMPERSAND 67 | 0x27 0x0027 # APOSTROPHE 68 | 0x28 0x0028 # LEFT PARENTHESIS 69 | 0x29 0x0029 # RIGHT PARENTHESIS 70 | 0x2A 0x002A # ASTERISK 71 | 0x2B 0x002B # PLUS SIGN 72 | 0x2C 0x002C # COMMA 73 | 0x2D 0x002D # HYPHEN-MINUS 74 | 0x2E 0x002E # FULL STOP 75 | 0x2F 0x002F # SOLIDUS 76 | 0x30 0x0030 # DIGIT ZERO 77 | 0x31 0x0031 # DIGIT ONE 78 | 0x32 0x0032 # DIGIT TWO 79 | 0x33 0x0033 # DIGIT THREE 80 | 0x34 0x0034 # DIGIT FOUR 81 | 0x35 0x0035 # DIGIT FIVE 82 | 0x36 0x0036 # DIGIT SIX 83 | 0x37 0x0037 # DIGIT SEVEN 84 | 0x38 0x0038 # DIGIT EIGHT 85 | 0x39 0x0039 # DIGIT NINE 86 | 0x3A 0x003A # COLON 87 | 0x3B 0x003B # SEMICOLON 88 | 0x3C 0x003C # LESS-THAN SIGN 89 | 0x3D 0x003D # EQUALS SIGN 90 | 0x3E 0x003E # GREATER-THAN SIGN 91 | 0x3F 0x003F # QUESTION MARK 92 | 0x40 0x0040 # COMMERCIAL AT 93 | 0x41 0x0041 # LATIN CAPITAL LETTER A 94 | 0x42 0x0042 # LATIN CAPITAL LETTER B 95 | 0x43 0x0043 # LATIN CAPITAL LETTER C 96 | 0x44 0x0044 # LATIN CAPITAL LETTER D 97 | 0x45 0x0045 # LATIN CAPITAL LETTER E 98 | 0x46 0x0046 # LATIN CAPITAL LETTER F 99 | 0x47 0x0047 # LATIN CAPITAL LETTER G 100 | 0x48 0x0048 # LATIN CAPITAL LETTER H 101 | 0x49 0x0049 # LATIN CAPITAL LETTER I 102 | 0x4A 0x004A # LATIN CAPITAL LETTER J 103 | 0x4B 0x004B # LATIN CAPITAL LETTER K 104 | 0x4C 0x004C # LATIN CAPITAL LETTER L 105 | 0x4D 0x004D # LATIN CAPITAL LETTER M 106 | 0x4E 0x004E # LATIN CAPITAL LETTER N 107 | 0x4F 0x004F # LATIN CAPITAL LETTER O 108 | 0x50 0x0050 # LATIN CAPITAL LETTER P 109 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 110 | 0x52 0x0052 # LATIN CAPITAL LETTER R 111 | 0x53 0x0053 # LATIN CAPITAL LETTER S 112 | 0x54 0x0054 # LATIN CAPITAL LETTER T 113 | 0x55 0x0055 # LATIN CAPITAL LETTER U 114 | 0x56 0x0056 # LATIN CAPITAL LETTER V 115 | 0x57 0x0057 # LATIN CAPITAL LETTER W 116 | 0x58 0x0058 # LATIN CAPITAL LETTER X 117 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 118 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 119 | 0x5B 0x005B # LEFT SQUARE BRACKET 120 | 0x5C 0x005C # REVERSE SOLIDUS 121 | 0x5D 0x005D # RIGHT SQUARE BRACKET 122 | 0x5E 0x005E # CIRCUMFLEX ACCENT 123 | 0x5F 0x005F # LOW LINE 124 | 0x60 0x0060 # GRAVE ACCENT 125 | 0x61 0x0061 # LATIN SMALL LETTER A 126 | 0x62 0x0062 # LATIN SMALL LETTER B 127 | 0x63 0x0063 # LATIN SMALL LETTER C 128 | 0x64 0x0064 # LATIN SMALL LETTER D 129 | 0x65 0x0065 # LATIN SMALL LETTER E 130 | 0x66 0x0066 # LATIN SMALL LETTER F 131 | 0x67 0x0067 # LATIN SMALL LETTER G 132 | 0x68 0x0068 # LATIN SMALL LETTER H 133 | 0x69 0x0069 # LATIN SMALL LETTER I 134 | 0x6A 0x006A # LATIN SMALL LETTER J 135 | 0x6B 0x006B # LATIN SMALL LETTER K 136 | 0x6C 0x006C # LATIN SMALL LETTER L 137 | 0x6D 0x006D # LATIN SMALL LETTER M 138 | 0x6E 0x006E # LATIN SMALL LETTER N 139 | 0x6F 0x006F # LATIN SMALL LETTER O 140 | 0x70 0x0070 # LATIN SMALL LETTER P 141 | 0x71 0x0071 # LATIN SMALL LETTER Q 142 | 0x72 0x0072 # LATIN SMALL LETTER R 143 | 0x73 0x0073 # LATIN SMALL LETTER S 144 | 0x74 0x0074 # LATIN SMALL LETTER T 145 | 0x75 0x0075 # LATIN SMALL LETTER U 146 | 0x76 0x0076 # LATIN SMALL LETTER V 147 | 0x77 0x0077 # LATIN SMALL LETTER W 148 | 0x78 0x0078 # LATIN SMALL LETTER X 149 | 0x79 0x0079 # LATIN SMALL LETTER Y 150 | 0x7A 0x007A # LATIN SMALL LETTER Z 151 | 0x7B 0x007B # LEFT CURLY BRACKET 152 | 0x7C 0x007C # VERTICAL LINE 153 | 0x7D 0x007D # RIGHT CURLY BRACKET 154 | 0x7E 0x203E # OVERLINE 155 | 0x7F 0x007F # DELETE (DEL) 156 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-jp.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: JIS_C6220-1969-ro to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # JIS_C6220-1969-ro characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the JIS_C6220-1969-ro code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in JIS_C6220-1969-ro order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &rem source: ECMA registry 25 | # &alias iso-ir-14 26 | # &g0esc x284a &g1esc x294a &g2esc x2a4a &g3esc x2b4a 27 | # &alias jp 28 | # &alias ISO646-JP 29 | 0x00 0x0000 # NULL (NUL) 30 | 0x01 0x0001 # START OF HEADING (SOH) 31 | 0x02 0x0002 # START OF TEXT (STX) 32 | 0x03 0x0003 # END OF TEXT (ETX) 33 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 34 | 0x05 0x0005 # ENQUIRY (ENQ) 35 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 36 | 0x07 0x0007 # BELL (BEL) 37 | 0x08 0x0008 # BACKSPACE (BS) 38 | 0x09 0x0009 # CHARACTER TABULATION (HT) 39 | 0x0A 0x000A # LINE FEED (LF) 40 | 0x0B 0x000B # LINE TABULATION (VT) 41 | 0x0C 0x000C # FORM FEED (FF) 42 | 0x0D 0x000D # CARRIAGE RETURN (CR) 43 | 0x0E 0x000E # SHIFT OUT (SO) 44 | 0x0F 0x000F # SHIFT IN (SI) 45 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 46 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 47 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 48 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 49 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 50 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 51 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 52 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 53 | 0x18 0x0018 # CANCEL (CAN) 54 | 0x19 0x0019 # END OF MEDIUM (EM) 55 | 0x1A 0x001A # SUBSTITUTE (SUB) 56 | 0x1B 0x001B # ESCAPE (ESC) 57 | 0x1C 0x001C # FILE SEPARATOR (IS4) 58 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 59 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 60 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 61 | 0x20 0x0020 # SPACE 62 | 0x21 0x0021 # EXCLAMATION MARK 63 | 0x22 0x0022 # QUOTATION MARK 64 | 0x23 0x0023 # NUMBER SIGN 65 | 0x24 0x0024 # DOLLAR SIGN 66 | 0x25 0x0025 # PERCENT SIGN 67 | 0x26 0x0026 # AMPERSAND 68 | 0x27 0x0027 # APOSTROPHE 69 | 0x28 0x0028 # LEFT PARENTHESIS 70 | 0x29 0x0029 # RIGHT PARENTHESIS 71 | 0x2A 0x002A # ASTERISK 72 | 0x2B 0x002B # PLUS SIGN 73 | 0x2C 0x002C # COMMA 74 | 0x2D 0x002D # HYPHEN-MINUS 75 | 0x2E 0x002E # FULL STOP 76 | 0x2F 0x002F # SOLIDUS 77 | 0x30 0x0030 # DIGIT ZERO 78 | 0x31 0x0031 # DIGIT ONE 79 | 0x32 0x0032 # DIGIT TWO 80 | 0x33 0x0033 # DIGIT THREE 81 | 0x34 0x0034 # DIGIT FOUR 82 | 0x35 0x0035 # DIGIT FIVE 83 | 0x36 0x0036 # DIGIT SIX 84 | 0x37 0x0037 # DIGIT SEVEN 85 | 0x38 0x0038 # DIGIT EIGHT 86 | 0x39 0x0039 # DIGIT NINE 87 | 0x3A 0x003A # COLON 88 | 0x3B 0x003B # SEMICOLON 89 | 0x3C 0x003C # LESS-THAN SIGN 90 | 0x3D 0x003D # EQUALS SIGN 91 | 0x3E 0x003E # GREATER-THAN SIGN 92 | 0x3F 0x003F # QUESTION MARK 93 | 0x40 0x0040 # COMMERCIAL AT 94 | 0x41 0x0041 # LATIN CAPITAL LETTER A 95 | 0x42 0x0042 # LATIN CAPITAL LETTER B 96 | 0x43 0x0043 # LATIN CAPITAL LETTER C 97 | 0x44 0x0044 # LATIN CAPITAL LETTER D 98 | 0x45 0x0045 # LATIN CAPITAL LETTER E 99 | 0x46 0x0046 # LATIN CAPITAL LETTER F 100 | 0x47 0x0047 # LATIN CAPITAL LETTER G 101 | 0x48 0x0048 # LATIN CAPITAL LETTER H 102 | 0x49 0x0049 # LATIN CAPITAL LETTER I 103 | 0x4A 0x004A # LATIN CAPITAL LETTER J 104 | 0x4B 0x004B # LATIN CAPITAL LETTER K 105 | 0x4C 0x004C # LATIN CAPITAL LETTER L 106 | 0x4D 0x004D # LATIN CAPITAL LETTER M 107 | 0x4E 0x004E # LATIN CAPITAL LETTER N 108 | 0x4F 0x004F # LATIN CAPITAL LETTER O 109 | 0x50 0x0050 # LATIN CAPITAL LETTER P 110 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 111 | 0x52 0x0052 # LATIN CAPITAL LETTER R 112 | 0x53 0x0053 # LATIN CAPITAL LETTER S 113 | 0x54 0x0054 # LATIN CAPITAL LETTER T 114 | 0x55 0x0055 # LATIN CAPITAL LETTER U 115 | 0x56 0x0056 # LATIN CAPITAL LETTER V 116 | 0x57 0x0057 # LATIN CAPITAL LETTER W 117 | 0x58 0x0058 # LATIN CAPITAL LETTER X 118 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 119 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 120 | 0x5B 0x005B # LEFT SQUARE BRACKET 121 | 0x5C 0x00A5 # YEN SIGN 122 | 0x5D 0x005D # RIGHT SQUARE BRACKET 123 | 0x5E 0x005E # CIRCUMFLEX ACCENT 124 | 0x5F 0x005F # LOW LINE 125 | 0x60 0x0060 # GRAVE ACCENT 126 | 0x61 0x0061 # LATIN SMALL LETTER A 127 | 0x62 0x0062 # LATIN SMALL LETTER B 128 | 0x63 0x0063 # LATIN SMALL LETTER C 129 | 0x64 0x0064 # LATIN SMALL LETTER D 130 | 0x65 0x0065 # LATIN SMALL LETTER E 131 | 0x66 0x0066 # LATIN SMALL LETTER F 132 | 0x67 0x0067 # LATIN SMALL LETTER G 133 | 0x68 0x0068 # LATIN SMALL LETTER H 134 | 0x69 0x0069 # LATIN SMALL LETTER I 135 | 0x6A 0x006A # LATIN SMALL LETTER J 136 | 0x6B 0x006B # LATIN SMALL LETTER K 137 | 0x6C 0x006C # LATIN SMALL LETTER L 138 | 0x6D 0x006D # LATIN SMALL LETTER M 139 | 0x6E 0x006E # LATIN SMALL LETTER N 140 | 0x6F 0x006F # LATIN SMALL LETTER O 141 | 0x70 0x0070 # LATIN SMALL LETTER P 142 | 0x71 0x0071 # LATIN SMALL LETTER Q 143 | 0x72 0x0072 # LATIN SMALL LETTER R 144 | 0x73 0x0073 # LATIN SMALL LETTER S 145 | 0x74 0x0074 # LATIN SMALL LETTER T 146 | 0x75 0x0075 # LATIN SMALL LETTER U 147 | 0x76 0x0076 # LATIN SMALL LETTER V 148 | 0x77 0x0077 # LATIN SMALL LETTER W 149 | 0x78 0x0078 # LATIN SMALL LETTER X 150 | 0x79 0x0079 # LATIN SMALL LETTER Y 151 | 0x7A 0x007A # LATIN SMALL LETTER Z 152 | 0x7B 0x007B # LEFT CURLY BRACKET 153 | 0x7C 0x007C # VERTICAL LINE 154 | 0x7D 0x007D # RIGHT CURLY BRACKET 155 | 0x7E 0x203E # OVERLINE 156 | 0x7F 0x007F # DELETE (DEL) 157 | -------------------------------------------------------------------------------- /FigletUtils/fonts/646-kr.flc: -------------------------------------------------------------------------------- 1 | # 2 | # Name: KSC5636 to Unicode 3 | # Unicode version: 2.0 4 | # Table version: 0.1 5 | # Table format: Format A 6 | # Date: 0097-01-24 7 | # Authors: John Cowan (conversion) 8 | # Keld Simonsen (RFC 1345) 9 | # 10 | # General notes: 11 | # 12 | # This table contains data obtained from RFC 1345 on how 13 | # KSC5636 characters map into Unicode. 14 | # 15 | # Format: Three tab-separated columns 16 | # Column #1 is the KSC5636 code (in hex as 0xXX) 17 | # Column #2 is the Unicode (in hex as 0xXXXX) 18 | # Column #3 the Unicode name (follows a comment sign, '#') 19 | # 20 | # The entries are in KSC5636 order 21 | # 22 | # Any comments or problems, contact 23 | # 24 | # &alias ISO646-KR 25 | 0x00 0x0000 # NULL (NUL) 26 | 0x01 0x0001 # START OF HEADING (SOH) 27 | 0x02 0x0002 # START OF TEXT (STX) 28 | 0x03 0x0003 # END OF TEXT (ETX) 29 | 0x04 0x0004 # END OF TRANSMISSION (EOT) 30 | 0x05 0x0005 # ENQUIRY (ENQ) 31 | 0x06 0x0006 # ACKNOWLEDGE (ACK) 32 | 0x07 0x0007 # BELL (BEL) 33 | 0x08 0x0008 # BACKSPACE (BS) 34 | 0x09 0x0009 # CHARACTER TABULATION (HT) 35 | 0x0A 0x000A # LINE FEED (LF) 36 | 0x0B 0x000B # LINE TABULATION (VT) 37 | 0x0C 0x000C # FORM FEED (FF) 38 | 0x0D 0x000D # CARRIAGE RETURN (CR) 39 | 0x0E 0x000E # SHIFT OUT (SO) 40 | 0x0F 0x000F # SHIFT IN (SI) 41 | 0x10 0x0010 # DATALINK ESCAPE (DLE) 42 | 0x11 0x0011 # DEVICE CONTROL ONE (DC1) 43 | 0x12 0x0012 # DEVICE CONTROL TWO (DC2) 44 | 0x13 0x0013 # DEVICE CONTROL THREE (DC3) 45 | 0x14 0x0014 # DEVICE CONTROL FOUR (DC4) 46 | 0x15 0x0015 # NEGATIVE ACKNOWLEDGE (NAK) 47 | 0x16 0x0016 # SYNCRONOUS IDLE (SYN) 48 | 0x17 0x0017 # END OF TRANSMISSION BLOCK (ETB) 49 | 0x18 0x0018 # CANCEL (CAN) 50 | 0x19 0x0019 # END OF MEDIUM (EM) 51 | 0x1A 0x001A # SUBSTITUTE (SUB) 52 | 0x1B 0x001B # ESCAPE (ESC) 53 | 0x1C 0x001C # FILE SEPARATOR (IS4) 54 | 0x1D 0x001D # GROUP SEPARATOR (IS3) 55 | 0x1E 0x001E # RECORD SEPARATOR (IS2) 56 | 0x1F 0x001F # UNIT SEPARATOR (IS1) 57 | 0x20 0x0020 # SPACE 58 | 0x21 0x0021 # EXCLAMATION MARK 59 | 0x22 0x0022 # QUOTATION MARK 60 | 0x23 0x0023 # NUMBER SIGN 61 | 0x24 0x0024 # DOLLAR SIGN 62 | 0x25 0x0025 # PERCENT SIGN 63 | 0x26 0x0026 # AMPERSAND 64 | 0x27 0x0027 # APOSTROPHE 65 | 0x28 0x0028 # LEFT PARENTHESIS 66 | 0x29 0x0029 # RIGHT PARENTHESIS 67 | 0x2A 0x002A # ASTERISK 68 | 0x2B 0x002B # PLUS SIGN 69 | 0x2C 0x002C # COMMA 70 | 0x2D 0x002D # HYPHEN-MINUS 71 | 0x2E 0x002E # FULL STOP 72 | 0x2F 0x002F # SOLIDUS 73 | 0x30 0x0030 # DIGIT ZERO 74 | 0x31 0x0031 # DIGIT ONE 75 | 0x32 0x0032 # DIGIT TWO 76 | 0x33 0x0033 # DIGIT THREE 77 | 0x34 0x0034 # DIGIT FOUR 78 | 0x35 0x0035 # DIGIT FIVE 79 | 0x36 0x0036 # DIGIT SIX 80 | 0x37 0x0037 # DIGIT SEVEN 81 | 0x38 0x0038 # DIGIT EIGHT 82 | 0x39 0x0039 # DIGIT NINE 83 | 0x3A 0x003A # COLON 84 | 0x3B 0x003B # SEMICOLON 85 | 0x3C 0x003C # LESS-THAN SIGN 86 | 0x3D 0x003D # EQUALS SIGN 87 | 0x3E 0x003E # GREATER-THAN SIGN 88 | 0x3F 0x003F # QUESTION MARK 89 | 0x40 0x0040 # COMMERCIAL AT 90 | 0x41 0x0041 # LATIN CAPITAL LETTER A 91 | 0x42 0x0042 # LATIN CAPITAL LETTER B 92 | 0x43 0x0043 # LATIN CAPITAL LETTER C 93 | 0x44 0x0044 # LATIN CAPITAL LETTER D 94 | 0x45 0x0045 # LATIN CAPITAL LETTER E 95 | 0x46 0x0046 # LATIN CAPITAL LETTER F 96 | 0x47 0x0047 # LATIN CAPITAL LETTER G 97 | 0x48 0x0048 # LATIN CAPITAL LETTER H 98 | 0x49 0x0049 # LATIN CAPITAL LETTER I 99 | 0x4A 0x004A # LATIN CAPITAL LETTER J 100 | 0x4B 0x004B # LATIN CAPITAL LETTER K 101 | 0x4C 0x004C # LATIN CAPITAL LETTER L 102 | 0x4D 0x004D # LATIN CAPITAL LETTER M 103 | 0x4E 0x004E # LATIN CAPITAL LETTER N 104 | 0x4F 0x004F # LATIN CAPITAL LETTER O 105 | 0x50 0x0050 # LATIN CAPITAL LETTER P 106 | 0x51 0x0051 # LATIN CAPITAL LETTER Q 107 | 0x52 0x0052 # LATIN CAPITAL LETTER R 108 | 0x53 0x0053 # LATIN CAPITAL LETTER S 109 | 0x54 0x0054 # LATIN CAPITAL LETTER T 110 | 0x55 0x0055 # LATIN CAPITAL LETTER U 111 | 0x56 0x0056 # LATIN CAPITAL LETTER V 112 | 0x57 0x0057 # LATIN CAPITAL LETTER W 113 | 0x58 0x0058 # LATIN CAPITAL LETTER X 114 | 0x59 0x0059 # LATIN CAPITAL LETTER Y 115 | 0x5A 0x005A # LATIN CAPITAL LETTER Z 116 | 0x5B 0x005B # LEFT SQUARE BRACKET 117 | 0x5C 0x20A9 # WON SIGN 118 | 0x5D 0x005D # RIGHT SQUARE BRACKET 119 | 0x5E 0x005E # CIRCUMFLEX ACCENT 120 | 0x5F 0x005F # LOW LINE 121 | 0x60 0x0060 # GRAVE ACCENT 122 | 0x61 0x0061 # LATIN SMALL LETTER A 123 | 0x62 0x0062 # LATIN SMALL LETTER B 124 | 0x63 0x0063 # LATIN SMALL LETTER C 125 | 0x64 0x0064 # LATIN SMALL LETTER D 126 | 0x65 0x0065 # LATIN SMALL LETTER E 127 | 0x66 0x0066 # LATIN SMALL LETTER F 128 | 0x67 0x0067 # LATIN SMALL LETTER G 129 | 0x68 0x0068 # LATIN SMALL LETTER H 130 | 0x69 0x0069 # LATIN SMALL LETTER I 131 | 0x6A 0x006A # LATIN SMALL LETTER J 132 | 0x6B 0x006B # LATIN SMALL LETTER K 133 | 0x6C 0x006C # LATIN SMALL LETTER L 134 | 0x6D 0x006D # LATIN SMALL LETTER M 135 | 0x6E 0x006E # LATIN SMALL LETTER N 136 | 0x6F 0x006F # LATIN SMALL LETTER O 137 | 0x70 0x0070 # LATIN SMALL LETTER P 138 | 0x71 0x0071 # LATIN SMALL LETTER Q 139 | 0x72 0x0072 # LATIN SMALL LETTER R 140 | 0x73 0x0073 # LATIN SMALL LETTER S 141 | 0x74 0x0074 # LATIN SMALL LETTER T 142 | 0x75 0x0075 # LATIN SMALL LETTER U 143 | 0x76 0x0076 # LATIN SMALL LETTER V 144 | 0x77 0x0077 # LATIN SMALL LETTER W 145 | 0x78 0x0078 # LATIN SMALL LETTER X 146 | 0x79 0x0079 # LATIN SMALL LETTER Y 147 | 0x7A 0x007A # LATIN SMALL LETTER Z 148 | 0x7B 0x007B # LEFT CURLY BRACKET 149 | 0x7C 0x007C # VERTICAL LINE 150 | 0x7D 0x007D # RIGHT CURLY BRACKET 151 | 0x7E 0x007E # TILDE 152 | 0x7F 0x007F # DELETE (DEL) 153 | -------------------------------------------------------------------------------- /FigletUtils/fonts/bubble.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/FigletUtils/fonts/bubble.flf -------------------------------------------------------------------------------- /FigletUtils/fonts/digital.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/FigletUtils/fonts/digital.flf -------------------------------------------------------------------------------- /FigletUtils/fonts/frango.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # This file can be used with a Unicode-Greek FIGfont 3 | # to convert "frangovlakhika" (Greek written in Latin 4 | # letters) into real Greek. 5 | # 6 | # The mapping is the same as that used by the "ntgreek" FIGfont. 7 | 8 | t ( \0x02BD 9 | t ) \0x02BC 10 | t : \0x0387 11 | t A \0x0391 12 | t B \0x0392 13 | t C \0x03A7 14 | t D \0x0394 15 | t E \0x0395 16 | t F \0x03A6 17 | t G \0x0393 18 | t H \0x0397 19 | t I \0x0399 20 | t J \0x03D1 21 | t K \0x039A 22 | t L \0x039B 23 | t M \0x039C 24 | t N \0x039D 25 | t O \0x039F 26 | t P \0x03A0 27 | t Q \0x0398 28 | t R \0x03A1 29 | t S \0x03A3 30 | t T \0x03A4 31 | t U \0x03A5 32 | t V \0x03C2 sigma 33 | t W \0x03A9 34 | t X \0x039E 35 | t Y \0x03A8 36 | t Z \0x0396 37 | t _ \0x037A 38 | t a \0x03b1 39 | t b \0x03b2 40 | t c \0x03C7 41 | t d \0x03B4 42 | t e \0x03B5 43 | t f \0x03C6 44 | t g \0x03B3 45 | t h \0x03B7 46 | t i \0x03B9 47 | t j \0x03D5 48 | t k \0x03BA 49 | t l \0x03BB 50 | t m \0x03BC 51 | t n \0x03BD 52 | t o \0x03BF 53 | t p \0x03C0 54 | t q \0x03B8 55 | t r \0x03C1 56 | t s \0x03C3 57 | t t \0x03C4 58 | t u \0x03C5 59 | t v \0x03D6 60 | t w \0x03C9 61 | t x \0x03BE 62 | t y \0x03C8 63 | t z \0x03B6 64 | t ' \0x00A8 65 | t ~ \-5 66 | -------------------------------------------------------------------------------- /FigletUtils/fonts/hz.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # Set HZ input mode (a 7-bit encoding of GB Chinese text) 3 | # Meaningful only to FIGlet 2.2 beta 4 or better 4 | h 5 | -------------------------------------------------------------------------------- /FigletUtils/fonts/ilhebrew.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # implements a natural mapping from the Hebrew keyboard 3 | # to Hebrew letters in the Ivrit font. 4 | # Note that capital letters remain unchanged. 5 | 6 | t t \0x05d0 7 | t c \0x05d1 8 | t d \0x05d2 9 | t s \0x05d3 10 | t v \0x05d4 11 | t u \0x05d5 12 | t z \0x05d6 13 | t j \0x05d7 14 | t y \0x05d8 15 | t h \0x05d9 16 | t f \0x05db 17 | t l \0x05da 18 | t k \0x05dc 19 | t n \0x05de 20 | t o \0x05dd 21 | t b \0x05e0 22 | t i \0x05df 23 | t x \0x05e1 24 | t g \0x05e2 25 | t p \0x05e3 26 | t ; \0x05e4 27 | t m \0x05e6 28 | t . \0x05e5 29 | t e \0x05e7 30 | t r \0x05e8 31 | t a \0x05e9 32 | t , \0x05ea 33 | t ' , 34 | t / . 35 | t ` ; 36 | t q / 37 | t w ' 38 | t ~ \-2 39 | -------------------------------------------------------------------------------- /FigletUtils/fonts/koi8r.flc: -------------------------------------------------------------------------------- 1 | t \0x80 \0x2500 2 | t \0x81 \0x2502 3 | t \0x82 \0x250c 4 | t \0x83 \0x2510 5 | t \0x84 \0x2514 6 | t \0x85 \0x2518 7 | t \0x86 \0x251c 8 | t \0x87 \0x2524 9 | t \0x88 \0x252c 10 | t \0x89 \0x2534 11 | t \0x8a \0x253c 12 | t \0x8b \0x2580 13 | t \0x8c \0x2584 14 | t \0x8d \0x2588 15 | t \0x8e \0x258c 16 | t \0x8f \0x2590 17 | t \0x90 \0x2591 18 | t \0x91 \0x2592 19 | t \0x92 \0x2593 20 | t \0x93 \0x2320 21 | t \0x94 \0x25a0 22 | t \0x95 \0x2219 23 | t \0x96 \0x221a 24 | t \0x97 \0x2248 25 | t \0x98 \0x2264 26 | t \0x99 \0x2265 27 | t \0x9a \0x00a0 28 | t \0x9b \0x2321 29 | t \0x9c \0x00b0 30 | t \0x9d \0x00b2 31 | t \0x9e \0x00b7 32 | t \0x9f \0x00f7 33 | t \0xa0 \0x2550 34 | t \0xa1 \0x2551 35 | t \0xa2 \0x2552 36 | t \0xa3 \0x0451 37 | t \0xa4 \0x2553 38 | t \0xa5 \0x2554 39 | t \0xa6 \0x2555 40 | t \0xa7 \0x2556 41 | t \0xa8 \0x2557 42 | t \0xa9 \0x2558 43 | t \0xaa \0x2559 44 | t \0xab \0x255a 45 | t \0xac \0x255b 46 | t \0xad \0x255c 47 | t \0xae \0x255d 48 | t \0xaf \0x255e 49 | t \0xb0 \0x255f 50 | t \0xb1 \0x2560 51 | t \0xb2 \0x2561 52 | t \0xb3 \0x0401 53 | t \0xb4 \0x2562 54 | t \0xb5 \0x2563 55 | t \0xb6 \0x2564 56 | t \0xb7 \0x2565 57 | t \0xb8 \0x2566 58 | t \0xb9 \0x2567 59 | t \0xba \0x2568 60 | t \0xbb \0x2569 61 | t \0xbc \0x256a 62 | t \0xbd \0x256b 63 | t \0xbe \0x256c 64 | t \0xbf \0x00a9 65 | t \0xc0 \0x044e 66 | t \0xc1 \0x0430 67 | t \0xc2 \0x0431 68 | t \0xc3 \0x0446 69 | t \0xc4 \0x0434 70 | t \0xc5 \0x0435 71 | t \0xc6 \0x0444 72 | t \0xc7 \0x0433 73 | t \0xc8 \0x0445 74 | t \0xc9 \0x0438 75 | t \0xca \0x0439 76 | t \0xcb \0x043a 77 | t \0xcc \0x043b 78 | t \0xcd \0x043c 79 | t \0xce \0x043d 80 | t \0xcf \0x043e 81 | t \0xd0 \0x043f 82 | t \0xd1 \0x044f 83 | t \0xd2 \0x0440 84 | t \0xd3 \0x0441 85 | t \0xd4 \0x0442 86 | t \0xd5 \0x0443 87 | t \0xd6 \0x0436 88 | t \0xd7 \0x0432 89 | t \0xd8 \0x044c 90 | t \0xd9 \0x044b 91 | t \0xda \0x0437 92 | t \0xdb \0x0448 93 | t \0xdc \0x044d 94 | t \0xdd \0x0449 95 | t \0xde \0x0447 96 | t \0xdf \0x044a 97 | t \0xe0 \0x042e 98 | t \0xe1 \0x0410 99 | t \0xe2 \0x0411 100 | t \0xe3 \0x0426 101 | t \0xe4 \0x0414 102 | t \0xe5 \0x0415 103 | t \0xe6 \0x0424 104 | t \0xe7 \0x0413 105 | t \0xe8 \0x0425 106 | t \0xe9 \0x0418 107 | t \0xea \0x0419 108 | t \0xeb \0x041a 109 | t \0xec \0x041b 110 | t \0xed \0x041c 111 | t \0xee \0x041d 112 | t \0xef \0x041e 113 | t \0xf0 \0x041f 114 | t \0xf1 \0x042f 115 | t \0xf2 \0x0420 116 | t \0xf3 \0x0421 117 | t \0xf4 \0x0422 118 | t \0xf5 \0x0423 119 | t \0xf6 \0x0416 120 | t \0xf7 \0x0412 121 | t \0xf8 \0x042c 122 | t \0xf9 \0x042b 123 | t \0xfa \0x0417 124 | t \0xfb \0x0428 125 | t \0xfc \0x042d 126 | t \0xfd \0x0429 127 | t \0xfe \0x0427 128 | t \0xff \0x042a 129 | -------------------------------------------------------------------------------- /FigletUtils/fonts/moscow.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # This controlfile maps the U.S. keyboard to Cyrillic 3 | # in the style of the "moscow" font, but is meant for use 4 | # with a FIGlet Unicode font with Cyrillic codes, such as "banner" 5 | # 6 | # "moscow" is an upper-case-only font, so for full compatibility 7 | # use the "upper" controlfile as well and avoid "@" and "<". 8 | t / \0x044c 9 | t \0x5c \0x044a 10 | t | \0x044b 11 | t ~ \0x044d 12 | t < \0x042d 13 | t ` \0x0443 14 | t @ \0x042e 15 | t > \0x0439 16 | t A \0x0410 17 | t a \0x0430 18 | t B \0x0411 19 | t b \0x0431 20 | t C \0x0427 21 | t c \0x0447 22 | t D \0x0414 23 | t d \0x0434 24 | t E \0x0415 25 | t e \0x0435 26 | t F \0x0424 27 | t f \0x0444 28 | t G \0x0413 29 | t g \0x0433 30 | t H \0x0425 31 | t h \0x0445 32 | t I \0x0418 33 | t i \0x0438 34 | t J \0x0416 35 | t j \0x0436 36 | t K \0x041a 37 | t k \0x043a 38 | t L \0x041b 39 | t l \0x043b 40 | t M \0x041c 41 | t m \0x043c 42 | t N \0x041d 43 | t n \0x043d 44 | t O \0x041e 45 | t o \0x043e 46 | t P \0x041f 47 | t p \0x043f 48 | t Q \0x0426 49 | t q \0x0446 50 | t R \0x0420 51 | t r \0x0440 52 | t S \0x0421 53 | t s \0x0441 54 | t T \0x0422 55 | t t \0x0442 56 | t U \0x0423 57 | t u \0x0443 58 | t V \0x0412 59 | t v \0x0432 60 | t W \0x0428 61 | t w \0x0448 62 | t X \0x0429 63 | t x \0x0449 64 | t Y \0x042f 65 | t y \0x044f 66 | t Z \0x0417 67 | t z \0x0437 68 | t = \-6 69 | -------------------------------------------------------------------------------- /FigletUtils/fonts/term.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/FigletUtils/fonts/term.flf -------------------------------------------------------------------------------- /FigletUtils/fonts/upper.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # Upper by Glenn Chappell 1/94 3 | # Converts lower-case to upper-case. 4 | # Modified to support all of Unicode by John Cowan 10/96 5 | # figlet release 2.2 -- November 1996 6 | # 7 | # This is a figlet controlfile. 8 | # 9 | # Explanation of first line: 10 | # flc2 - "magic number" for file identification 11 | # a - should always be `a', for now 12 | # 13 | # File body: 14 | # The first character of any line is the "command" for that line. 15 | # Possible figlet 2.1 commands are as follows: 16 | # `#' - comment, continues until end-of-line 17 | # `t' - translate, a not-so-fancy version of the Unix "tr" command 18 | # `f' - freeze, treat further lines as if they were in a new file 19 | # 20 | # The following lines convert lower-case to upper-case. 21 | # 22 | # Standard letters: 23 | t a-z A-Z 24 | # 25 | # figlet Deutsch characters (obsolete in 2.2 and later): 26 | t \-252-\-250 \-255-\-253 27 | # 28 | # ISO Latin-1 accented letters: 29 | t \224-\246 \192-\214 30 | t \248-\254 \216-\222 31 | # Note: Latin-1 has no upper-case Y umlaut, so map to "Y". 32 | # But remove the following line for Unicode fonts. 33 | t \255 Y 34 | # This is the proper Unicode mapping, and does no harm for non-Unicode fonts. 35 | t \255 \0x0178 36 | # Latin Extended A (Latin-2,3,4,5) accented letters: 37 | t \0x01\0x01 \0x0100 38 | t \0x0103 \0x0102 39 | t \0x0105 \0x0104 40 | t \0x0107 \0x0106 41 | t \0x0109 \0x0108 42 | t \0x010B \0x010A 43 | t \0x010D \0x010C 44 | t \0x010F \0x010E 45 | t \0x01\0x01 \0x0100 46 | t \0x0103 \0x0102 47 | t \0x0105 \0x0104 48 | t \0x0117 \0x0116 49 | t \0x0119 \0x0118 50 | t \0x011B \0x011A 51 | t \0x011D \0x011C 52 | t \0x011F \0x011E 53 | t \0x01\0x01 \0x0100 54 | t \0x0103 \0x0102 55 | t \0x0105 \0x0104 56 | t \0x0127 \0x0126 57 | t \0x0129 \0x0128 58 | t \0x012B \0x012A 59 | t \0x012D \0x012C 60 | t \0x012F \0x012E 61 | t \0x0131 I 62 | t \0x0133 \0x0132 63 | t \0x0135 \0x0134 64 | t \0x0137 \0x0136 65 | t \0x0138 K 66 | t \0x013A \0x0139 67 | t \0x013C \0x013B 68 | t \0x013E \0x013D 69 | t \0x0140 \0x013F 70 | t \0x0142 \0x0141 71 | t \0x0144 \0x0143 72 | t \0x0146 \0x0145 73 | t \0x0148 \0x0147 74 | t \0x0149 N 75 | t \0x014B \0x014A 76 | t \0x014D \0x014C 77 | t \0x014F \0x014E 78 | t \0x0151 \0x0150 79 | t \0x0153 \0x0152 80 | t \0x0155 \0x0154 81 | t \0x0157 \0x0156 82 | t \0x0159 \0x0158 83 | t \0x015B \0x015A 84 | t \0x015D \0x015C 85 | t \0x015F \0x015E 86 | t \0x0161 \0x0160 87 | t \0x0163 \0x0162 88 | t \0x0165 \0x0164 89 | t \0x0167 \0x0166 90 | t \0x0169 \0x0168 91 | t \0x016B \0x016A 92 | t \0x016D \0x016C 93 | t \0x016F \0x016E 94 | t \0x0171 \0x0170 95 | t \0x0173 \0x0172 96 | t \0x0175 \0x0174 97 | t \0x0177 \0x0176 98 | t \0x017A \0x0179 99 | t \0x017C \0x017B 100 | t \0x017E \0x017D 101 | t \0x017F S 102 | # Greek letters: 103 | \0x037A \0x0399 104 | \0x0390 \0x0399 105 | \0x03AC \0x0386 106 | \0x03AD \0x0388 107 | \0x03AE \0x0389 108 | \0x03AF \0x038A 109 | \0x03B0 \0x03AB 110 | \0x03B1-\0x03C1 \0x0391-\0x03A1 111 | \0x03C2 \0x03A3 112 | \0x03C3-\0x03CB \0x03A3-\0x03AB 113 | \0x03CC \0x038C 114 | \0x03CD \0x038E 115 | \0x03CE \0x038F 116 | \0x03E3 \0x03E2 117 | \0x03E5 \0x03E4 118 | \0x03E7 \0x03E6 119 | \0x03E9 \0x03E8 120 | \0x03EB \0x03EA 121 | \0x03ED \0x03EC 122 | \0x03EF \0x03ED 123 | # Cyrillic letters: 124 | \0x0430-\0x044F \0x0410-\0x042F 125 | \0x0451-\0x045F \0x0401-\0x040F 126 | \0x0461 \0x0460 127 | \0x0463 \0x0461 128 | \0x0465 \0x0464 129 | \0x0467 \0x0466 130 | \0x0469 \0x0468 131 | \0x046B \0x046A 132 | \0x046D \0x046C 133 | \0x046F \0x046E 134 | \0x0471 \0x0470 135 | \0x0473 \0x0471 136 | \0x0475 \0x0474 137 | \0x0477 \0x0476 138 | \0x0479 \0x0478 139 | \0x047B \0x047A 140 | \0x047D \0x047C 141 | \0x047F \0x047E 142 | \0x0481 \0x0480 143 | \0x0491 \0x0490 144 | \0x0493 \0x0491 145 | \0x0495 \0x0494 146 | \0x0497 \0x0496 147 | \0x0499 \0x0498 148 | \0x049B \0x049A 149 | \0x049D \0x049C 150 | \0x049F \0x049E 151 | \0x04A1 \0x04A0 152 | \0x04A3 \0x04A1 153 | \0x04A5 \0x04A4 154 | \0x04A7 \0x04A6 155 | \0x04A9 \0x04A8 156 | \0x04AB \0x04AA 157 | \0x04AD \0x04AC 158 | \0x04AF \0x04AE 159 | \0x04B1 \0x04B0 160 | \0x04B3 \0x04B1 161 | \0x04B5 \0x04B4 162 | \0x04B7 \0x04B6 163 | \0x04B9 \0x04B8 164 | \0x04BB \0x04BA 165 | \0x04BD \0x04BC 166 | \0x04BF \0x04BE 167 | \0x04C2 \0x04C1 168 | \0x04C4 \0x04C3 169 | \0x04C8 \0x04C7 170 | \0x04CC \0x04CB 171 | \0x04D1 \0x04D0 172 | \0x04D3 \0x04D2 173 | \0x04D5 \0x04D4 174 | \0x04D7 \0x04D6 175 | \0x04D9 \0x04D8 176 | \0x04DB \0x04DA 177 | \0x04DD \0x04DC 178 | \0x04DF \0x04DE 179 | \0x04E1 \0x04E0 180 | \0x04E3 \0x04E2 181 | \0x04E5 \0x04E4 182 | \0x04E7 \0x04E6 183 | \0x04E9 \0x04E8 184 | \0x04EB \0x04EA 185 | \0x04ED \0x04EC 186 | \0x04EF \0x04EE 187 | \0x04F1 \0x04F0 188 | \0x04F3 \0x04F2 189 | \0x04F5 \0x04F4 190 | \0x04F7 \0x04F6 191 | \0x04F9 \0x04F8 192 | # Armenian letters: 193 | \0x0561-\0x0586 \0x0531-\0x0556 194 | -------------------------------------------------------------------------------- /FigletUtils/fonts/ushebrew.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # implements a natural mapping from the U.S. keyboard 3 | # to Hebrew characters in the Ivrit font. 4 | # Note that capital letters remain unchanged. 5 | 6 | t a \0x05d0 7 | t b \0x05d1 8 | t g \0x05d2 9 | t d \0x05d3 10 | t h \0x05d4 11 | t v \0x05d5 12 | t z \0x05d6 13 | t c \0x05d7 14 | t t \0x05d8 15 | t y \0x05d9 16 | t k \0x05db 17 | t f \0x05da 18 | t l \0x05dc 19 | t m \0x05de 20 | t o \0x05dd 21 | t n \0x05e0 22 | t i \0x05df 23 | t e \0x05e1 24 | t _ \0x05e2 25 | t p \0x05e4 26 | t u \0x05e3 27 | t j \0x05e6 28 | t w \0x05e5 29 | t q \0x05e7 30 | t r \0x05e8 31 | t s \0x05e9 32 | t x \0x05ea 33 | t ~ \-3 34 | -------------------------------------------------------------------------------- /FigletUtils/fonts/uskata.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # Maps the upper and lower case alphabet (A-Z and a-v) into the 3 | # 48 basic katakana Unicodes. Can be used with any Unicode katakana 4 | # font, such as Banner. 5 | t A \0x30A2 6 | t B \0x30A4 7 | t C \0x30A6 8 | t D \0x30A8 9 | t E \0x30AA 10 | t F \0x30AB 11 | t G \0x30AD 12 | t H \0x30AF 13 | t I \0x30B1 14 | t J \0x30B3 15 | t K \0x30B5 16 | t L \0x30B7 17 | t M \0x30B9 18 | t N \0x30BB 19 | t O \0x30BD 20 | t P \0x30BF 21 | t Q \0x30C1 22 | t R \0x30C4 23 | t S \0x30C6 24 | t T \0x30C8 25 | t U \0x30CA 26 | t V \0x30CB 27 | t W \0x30CC 28 | t X \0x30CD 29 | t Y \0x30CE 30 | t Z \0x30CF 31 | t a \0x30D2 32 | t b \0x30D5 33 | t c \0x30D8 34 | t d \0x30DB 35 | t e \0x30DE 36 | t f \0x30DF 37 | t g \0x30E0 38 | t h \0x30E1 39 | t i \0x30E2 40 | t j \0x30E4 41 | t k \0x30E6 42 | t l \0x30E8 43 | t m \0x30F1 44 | t n \0x30E9 45 | t o \0x30EA 46 | t p \0x30EB 47 | t q \0x30EC 48 | t r \0x30ED 49 | t s \0x30EF 50 | t t \0x30F0 51 | t u \0x30F2 52 | t v \0x30F3 53 | t ~ \-4 54 | -------------------------------------------------------------------------------- /FigletUtils/fonts/utf8.flc: -------------------------------------------------------------------------------- 1 | flc2a 2 | # Set UTF-8 input mode (an 8-bit encoding of Unicode that preserves ASCII) 3 | # Meaningful only to FIGlet 2.2 beta 4 or better 4 | u 5 | -------------------------------------------------------------------------------- /FigletUtils/getopt.c: -------------------------------------------------------------------------------- 1 | /* 2 | * * @(#)getopt.c 2.3 (smail) 5/30/87 3 | */ 4 | 5 | /* 6 | * Here's something you've all been waiting for: the AT&T public domain 7 | * source for getopt(3). It is the code which was given out at the 1985 8 | * UNIFORUM conference in Dallas. I obtained it by electronic mail directly 9 | * from AT&T. The people there assure me that it is indeed in the public 10 | * domain. 11 | * 12 | * There is no manual page. That is because the one they gave out at UNIFORUM 13 | * was slightly different from the current System V Release 2 manual page. 14 | * The difference apparently involved a note about the famous rules 5 and 6, 15 | * recommending using white space between an option and its first argument, 16 | * and not grouping options that have arguments. Getopt itself is currently 17 | * lenient about both of these things White space is allowed, but not 18 | * mandatory, and the last option in a group can have an argument. That 19 | * particular version of the man page evidently has no official existence, 20 | * and my source at AT&T did not send a copy. The current SVR2 man page 21 | * reflects the actual behavior of this getopt. However, I am not about to 22 | * post a copy of anything licensed by AT&T. 23 | */ 24 | 25 | #ifdef BSD 26 | #include 27 | #else 28 | #define index strchr 29 | #include 30 | #endif 31 | 32 | /* LINTLIBRARY */ 33 | #ifndef NULL 34 | #define NULL 0 35 | #endif 36 | 37 | #define EOF (-1) 38 | #define ERR(s, c) if(opterr){\ 39 | extern int write(int, void *, unsigned);\ 40 | char errbuf[2];\ 41 | errbuf[0] = (char)c; errbuf[1] = '\n';\ 42 | (void) write(2, strlwr(argv[0]), (unsigned)strlen(argv[0]));\ 43 | (void) write(2, s, (unsigned)strlen(s));\ 44 | (void) write(2, errbuf, 2);} 45 | 46 | extern char *index(); 47 | 48 | int opterr = 1; 49 | int optind = 1; 50 | int optopt; 51 | char *optarg; 52 | 53 | int getopt(int argc, char *argv[], char *opts) 54 | { 55 | static int sp = 1; 56 | register int c; 57 | register char *cp; 58 | 59 | if (sp == 1) 60 | { 61 | if (optind >= argc || argv[optind][0] != '-' || 62 | argv[optind][1] == '\0') 63 | return (EOF); 64 | else if (strcmp(argv[optind], "--") == 0) 65 | { 66 | optind++; 67 | return (EOF); 68 | } 69 | } 70 | optopt = c = argv[optind][sp]; 71 | if (c == ':' || (cp = index(opts, c)) == NULL) 72 | { 73 | ERR(": illegal option -- ", c); 74 | if (argv[optind][++sp] == '\0') 75 | { 76 | optind++; 77 | sp = 1; 78 | } 79 | return ('?'); 80 | } 81 | if (*++cp == ':') 82 | { 83 | if (argv[optind][sp + 1] != '\0') 84 | optarg = &argv[optind++][sp + 1]; 85 | else if (++optind >= argc) 86 | { 87 | ERR(": option requires an argument -- ", c); 88 | sp = 1; 89 | return ('?'); 90 | } 91 | else optarg = argv[optind++]; 92 | sp = 1; 93 | } 94 | else 95 | { 96 | if (argv[optind][++sp] == '\0') 97 | { 98 | sp = 1; 99 | optind++; 100 | } 101 | optarg = NULL; 102 | } 103 | return (c); 104 | } 105 | -------------------------------------------------------------------------------- /FigletUtils/inflate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * inflate.h - inflate decompression routine 3 | * 4 | * Version 1.1.2 5 | */ 6 | 7 | /* 8 | * Copyright (C) 1995, Edward B. Hamrick 9 | * 10 | * Permission to use, copy, modify, and distribute this software and 11 | * its documentation for any purpose and without fee is hereby granted, 12 | * provided that the above copyright notice appear in all copies and 13 | * that both that copyright notice and this permission notice appear in 14 | * supporting documentation, and that the name of the copyright holders 15 | * not be used in advertising or publicity pertaining to distribution of 16 | * the software without specific, written prior permission. The copyright 17 | * holders makes no representations about the suitability of this software 18 | * for any purpose. It is provided "as is" without express or implied warranty. 19 | * 20 | * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS 21 | * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 22 | * IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT 23 | * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 24 | * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 25 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 26 | * OF THIS SOFTWARE. 27 | */ 28 | 29 | /* 30 | * Changes from 1.1 to 1.1.2: 31 | * Relicensed under the MIT license, with consent of the copyright holders. 32 | * Claudio Matsuoka (Jan 11 2011) 33 | */ 34 | 35 | /* 36 | * 1) All file i/o is done externally to these routines 37 | * 2) Routines are symmetrical so inflate can feed into deflate 38 | * 3) Routines can be easily integrated into wide range of applications 39 | * 4) Routines are very portable, and use only ANSI C 40 | * 5) No #defines in inflate.h to conflict with external #defines 41 | * 6) No external routines need be called by these routines 42 | * 7) Buffers are owned by the calling routine 43 | * 8) No static non-constant variables are allowed 44 | */ 45 | 46 | /* 47 | * Note that for each call to InflatePutBuffer, there will be 48 | * 0 or more calls to (*putbuffer_ptr). All except the last 49 | * call to (*putbuffer_ptr) will be with 32768 bytes, although 50 | * this behaviour may change in the future. Before InflatePutBuffer 51 | * returns, it will have output as much uncompressed data as 52 | * is possible. 53 | */ 54 | 55 | #ifndef __INFLATE_H 56 | #define __INFLATE_H 57 | 58 | #ifdef __cplusplus 59 | extern "C" { 60 | #endif 61 | 62 | /* Routine to initialize inflate decompression */ 63 | void *InflateInitialize( /* returns InflateState */ 64 | void *AppState, /* for passing to putbuffer */ 65 | int (*putbuffer_ptr)( /* returns 0 on success */ 66 | void *AppState, /* opaque ptr from Initialize */ 67 | unsigned char *buffer, /* buffer to put */ 68 | long length /* length of buffer */ 69 | ), 70 | void *(*malloc_ptr)(long length), /* utility routine */ 71 | void (*free_ptr)(void *buffer) /* utility routine */ 72 | ); 73 | 74 | /* Call-in routine to put a buffer into inflate decompression */ 75 | int InflatePutBuffer( /* returns 0 on success */ 76 | void *InflateState, /* opaque ptr from Initialize */ 77 | unsigned char *buffer, /* buffer to put */ 78 | long length /* length of buffer */ 79 | ); 80 | 81 | /* Routine to terminate inflate decompression */ 82 | int InflateTerminate( /* returns 0 on success */ 83 | void *InflateState /* opaque ptr from Initialize */ 84 | ); 85 | 86 | #ifdef __cplusplus 87 | } 88 | #endif 89 | 90 | #endif 91 | -------------------------------------------------------------------------------- /FigletUtils/run-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | LC_ALL=POSIX 4 | export LC_ALL 5 | 6 | TESTDIR=tests 7 | OUTPUT=.test-output.txt 8 | LOGFILE=tests.log 9 | CMD="./figlet" 10 | FONTDIR="$1" 11 | 12 | run_test() { 13 | test_dsc=$1 14 | test_cmd=$2 15 | 16 | total=`expr $total + 1` 17 | test_num=`printf %03d $total` 18 | 19 | echo >> $LOGFILE 20 | printf "Run test $test_num: ${test_dsc}... " | tee -a $LOGFILE 21 | echo >> $LOGFILE 22 | echo "Command: $test_cmd" >> $LOGFILE 23 | eval "$test_cmd" > "$OUTPUT" 2>> $LOGFILE 24 | cmp "$OUTPUT" "tests/res${test_num}.txt" >> $LOGFILE 2>&1 25 | if [ $? -eq 0 ]; then 26 | echo "pass" | tee -a $LOGFILE 27 | else 28 | echo "**fail**" | tee -a $LOGFILE 29 | result=1 30 | fail=`expr $fail + 1` 31 | fi 32 | } 33 | 34 | result=0 35 | fail=0 36 | $CMD -v > $LOGFILE 37 | 38 | file="$TESTDIR/input.txt" 39 | cmd="cat $file|$CMD" 40 | 41 | printf "Default font dir: "; $CMD -I2 42 | if [ -n "$FONTDIR" ]; then 43 | FIGLET_FONTDIR="$FONTDIR" 44 | export FIGLET_FONTDIR 45 | fi 46 | printf "Current font dir: "; $CMD -I2 47 | printf "Default font: "; $CMD -I3 48 | $CMD -f small "Test results" | tee -a $LOGFILE 49 | 50 | total=0 51 | 52 | run_test "showfigfonts output" "./showfigfonts" 53 | run_test "text rendering in all fonts" \ 54 | "for i in fonts/*.flf; do $cmd -f \$i; done" 55 | run_test "long text rendering" "cat tests/longtext.txt|$CMD" 56 | run_test "left-to-right text" "$cmd -L" 57 | run_test "right-to-left text" "$cmd -R" 58 | run_test "flush-left justification" "$cmd -l" 59 | run_test "flush-right justification" "$cmd -r" 60 | run_test "center justification" "$cmd -c" 61 | run_test "kerning mode" "$cmd -k" 62 | run_test "full width mode" "$cmd -W" 63 | run_test "overlap mode" "$cmd -o" 64 | run_test "tlf2 font rendering" "$cmd -f tests/emboss" 65 | run_test "kerning flush-left right-to-left mode" "$cmd -klR" 66 | run_test "kerning centered right-to-left mode (slant)" "$cmd -kcR -f slant" 67 | run_test "full-width flush-right right-to-left mode" "$cmd -WrR" 68 | run_test "overlap flush-right mode (big)" "$cmd -or -f big" 69 | run_test "tlf2 kerning flush-right mode" "$cmd -kr -f tests/emboss" 70 | run_test "tlf2 overlap centered mode" "$cmd -oc -f tests/emboss" 71 | run_test "tlf2 full-width flush-left right-to-left mode" \ 72 | "$cmd -WRl -f tests/emboss" 73 | run_test "specify font directory" \ 74 | "X=.t;mkdir \$X;cp fonts/script.flf \$X/foo.flf;$cmd -d\$X -ffoo;rm -Rf \$X" 75 | run_test "paragraph mode long line output" "$cmd -p -w250" 76 | run_test "short line output" "$cmd -w5" 77 | run_test "kerning paragraph centered mode (small)" "$cmd -kpc -fsmall" 78 | run_test "list of control files" "ls fonts/*flc" 79 | run_test "uskata control file" "printf 'ABCDE'|$CMD -fbanner -Cuskata" 80 | run_test "jis0201 control file" "printf '\261\262\263\264\265'|$CMD -fbanner -Cjis0201" 81 | run_test "right-to-left smushing with JavE font" "$cmd -f tests/flowerpower -R" 82 | 83 | rm -f "$OUTPUT" 84 | 85 | echo 86 | if [ $result -ne 0 ]; then 87 | echo " $fail tests failed. See $LOGFILE for result details" 88 | else 89 | echo " All tests passed." 90 | fi 91 | 92 | exit $result 93 | -------------------------------------------------------------------------------- /FigletUtils/showfigfonts: -------------------------------------------------------------------------------- 1 | #!/bin/sh - 2 | # showfigfonts by Glenn Chappell 3 | # figlet release 2.1.1 -- 25 Aug 1994 4 | # Based on showfigfonts by Greg Galperin , Nov 1993. 5 | # 6 | # Prints a list of available figlet fonts, along with a sample of each 7 | # font. If directory is given, lists fonts in that directory; otherwise 8 | # uses the default font directory. If word is given, prints that word 9 | # in each font; otherwise prints the font name. 10 | # 11 | # Usage: showfigfonts [ -d directory ] [ word ] 12 | 13 | DIR=`dirname $0` 14 | FIGLET=$DIR/figlet 15 | 16 | # Get figlet version 17 | FIGLETVERSION=`$FIGLET -I1 2>/dev/null` 18 | if [ -z "$FIGLETVERSION" ]; then 19 | FIGLETVERSION=20000 20 | fi 21 | 22 | USAGE="Usage: `basename $0` [ -d directory ] [ word ]" 23 | 24 | if [ "$1" = '-d' ]; then 25 | FONTDIR="$2" 26 | WORD="$3" 27 | if [ $# -gt 3 ] || [ $# -lt 2 ]; then 28 | echo "$USAGE" 29 | exit 1 30 | fi 31 | else 32 | WORD="$1" 33 | if [ $# -gt 1 ]; then 34 | echo "$USAGE" 35 | exit 1 36 | fi 37 | if [ "$FIGLETVERSION" -lt 20100 ]; then 38 | # figlet 2.0 39 | FONTDIR="`$FIGLET -F | sed -e '1d' -e '3,$d' -e 's/Font directory: //'`" 40 | else 41 | # figlet 2.1 or later 42 | FONTDIR="`$FIGLET -I2`" 43 | fi 44 | fi 45 | 46 | FONTLIST=`ls "$FONTDIR"/*.flf | sed 's!.*/\(.*\)\.flf$!\1!'` 47 | for F in $FONTLIST ; do 48 | echo "$F :" 49 | if [ -n "$WORD" ]; then 50 | echo "$WORD" | $FIGLET -d "$FONTDIR" -f "$F" 51 | else 52 | echo "$F" | $FIGLET -d "$FONTDIR" -f "$F" 53 | fi 54 | echo "" ; echo "" 55 | done 56 | -------------------------------------------------------------------------------- /FigletUtils/showfigfonts.6: -------------------------------------------------------------------------------- 1 | .\" showfigfonts by Glenn Chappell 2 | .\" figlet release 2.1.1 -- 25 Aug 1994 3 | .\" Based on showfigfonts by Greg Galperin , Nov 1993. 4 | .\" 5 | .\" Prints a list of available figlet fonts, along with a sample of each 6 | .\" font. If directory is given, lists fonts in that directory; otherwise 7 | .\" uses the default font directory. If word is given, prints that word 8 | .\" in each font; otherwise prints the font name. 9 | .\" 10 | .\" Usage: showfigfonts [ -d directory ] [ word ] 11 | .\" 12 | .\" Manual page by Jonathon Abbott, for the Debian Project 13 | .\" slightly modified by Francesco Tapparo, for the Debian Project 14 | .TH SHOWFIGFONTS 6 "31 May 2012" "v2.2.5" 15 | 16 | .SH NAME 17 | showfigfonts \- prints a list of available figlet fonts 18 | 19 | .SH SYNOPSIS 20 | .B showfigfonts 21 | [ 22 | .B \-d 23 | .I directory 24 | ] 25 | [ 26 | .I word 27 | ] 28 | 29 | .SH "DESCRIPTION" 30 | Prints a list of available figlet fonts, along with a sample of each 31 | font. If directory is given, lists fonts in that directory; otherwise 32 | uses the default font directory. If word is given, prints that word 33 | in each font; otherwise prints the font name. 34 | 35 | .SH EXAMPLES 36 | To use 37 | .B showfigfonts 38 | with its default settings, simply type 39 | .RS 40 | 41 | .B example% showfigfonts 42 | 43 | .RE 44 | 45 | To print all the fonts in /usr/share/fonts/figlet 46 | .RS 47 | 48 | .B example% showfigfonts -d /usr/share/fonts/figlet 49 | 50 | .RE 51 | 52 | To print the word foo using all available fonts 53 | .RS 54 | 55 | .B example% showfigfonts foo 56 | 57 | .RE 58 | 59 | .SH "AUTHORS" 60 | showfigfonts was written by Glenn Chappell 61 | 62 | This manual page was written by Jonathon Abbott for the Debian Project. 63 | 64 | .SH "SEE ALSO" 65 | .BR figlet (6), 66 | .BR chkfont (6), 67 | .BR figlist (6) 68 | -------------------------------------------------------------------------------- /FigletUtils/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: figlet 2 | base: core18 3 | version: git #'2.2.5+git' 4 | summary: A program for making large letters out of ordinary text 5 | description: | 6 | FIGlet is a program to print text banners using large characters. 7 | The name derives from "Frank, Ian and Glenn's letters". 8 | 9 | grade: stable 10 | confinement: strict 11 | 12 | parts: 13 | figlet: 14 | plugin: make 15 | source: . 16 | make-parameters: 17 | - prefix= 18 | build-packages: 19 | - gcc 20 | 21 | apps: 22 | figlet: 23 | command: bin/figlet 24 | environment: 25 | FIGLET_FONTDIR: $SNAP/share/figlet 26 | plugs: 27 | - home 28 | figlist: 29 | command: bin/figlist 30 | environment: 31 | FIGLET_FONTDIR: $SNAP/share/figlet 32 | plugs: 33 | - home 34 | chkfont: 35 | command: bin/chkfont 36 | environment: 37 | FIGLET_FONTDIR: $SNAP/share/figlet 38 | plugs: 39 | - home 40 | showfigfonts: 41 | command: bin/showfigfonts 42 | environment: 43 | FIGLET_FONTDIR: $SNAP/share/figlet 44 | plugs: 45 | - home 46 | -------------------------------------------------------------------------------- /FigletUtils/tests/emboss.tlf: -------------------------------------------------------------------------------- 1 | tlf2a 3 3 8 -1 18 0 0 0 2 | =============================================================================== 3 | This is emboss.tlf, or “Emboss”, by Sam Hocevar . It was 4 | created on September 30th, 2006. 5 | 6 | This font is free software. It comes without any warranty, to the extent 7 | permitted by applicable law. You can redistribute it and/or modify it under 8 | the terms of the Do What The Fuck You Want To Public License, Version 2, 9 | as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more 10 | details. 11 | 12 | Missing characters: # $ % , ; < > 13 | 14 | To create emboss2.tlf, use the following command: 15 | $ sed '/@@/,$y/━┃┏┓┗┛/═║╔╗╚╝/' < emboss.tlf > emboss2.tlf 16 | 17 | This font is part of TOIlet’s official distribution. More information 18 | on the TOIlet website at http://caca.zoy.org/wiki/toilet 19 | =============================================================================== 20 | @ 21 | @ 22 | @@ 23 | ┃! 24 | ┛! 25 | ┛!! 26 | ┛┛" 27 | " 28 | "" 29 | @ 30 | @ 31 | #@@ 32 | @ 33 | @ 34 | $@@ 35 | @ 36 | @ 37 | %@@ 38 | ┏┛┃ & 39 | ┃━┏┛& 40 | ━━┛ && 41 | ┛' 42 | ' 43 | '' 44 | ┛( 45 | ┃ ( 46 | ┛(( 47 | ━ ) 48 | ┃) 49 | ━ )) 50 | ┛ ┛* 51 | ━┏┛* 52 | ┛ ┛** 53 | ┃ + 54 | ━┏┛+ 55 | ┛ ++ 56 | @ 57 | @ 58 | ,@@ 59 | - 60 | ━┛- 61 | -- 62 | . 63 | . 64 | ┛.. 65 | ┛/ 66 | ┛ / 67 | ┛ // 68 | ┏━┃0 69 | ┃┛┃0 70 | ━━┛00 71 | ━┃ 1 72 | ┃ 1 73 | ━━┛11 74 | ━━┃2 75 | ┏━┛2 76 | ━━┛22 77 | ━━┃3 78 | ━━┃3 79 | ━━┛33 80 | ┃ ┃4 81 | ━━┃4 82 | ┛44 83 | ┏━┛5 84 | ━━┃5 85 | ━━┛55 86 | ┏━┛6 87 | ┏━┃6 88 | ━━┛66 89 | ┏━┃7 90 | ┃7 91 | ┛77 92 | ┏━┃8 93 | ┏━┃8 94 | ━━┛88 95 | ┏━┃9 96 | ━━┃9 97 | ━━┛99 98 | : 99 | ┛: 100 | ┛:: 101 | @ 102 | @ 103 | ;@@ 104 | @ 105 | @ 106 | <@@ 107 | = 108 | ━━┛= 109 | ━━┛== 110 | @ 111 | @ 112 | >@@ 113 | ┏━┃? 114 | ┛? 115 | ┛ ?? 116 | ┏━┃@ 117 | ┃┛┛@ 118 | ━━┛@@ 119 | ┏━┃A 120 | ┏━┃A 121 | ┛ ┛AA 122 | ┏━ B 123 | ┏━┃B 124 | ━━ BB 125 | ┏━┛C 126 | ┃ C 127 | ━━┛CC 128 | ┏━ D 129 | ┃ ┃D 130 | ━━ DD 131 | ┏━┛E 132 | ┏━┛E 133 | ━━┛EE 134 | ┏━┛F 135 | ┏━┛F 136 | ┛ FF 137 | ┏━┛G 138 | ┃ ┃G 139 | ━━┛GG 140 | ┃ ┃H 141 | ┏━┃H 142 | ┛ ┛HH 143 | ┛I 144 | ┃I 145 | ┛II 146 | ┛J 147 | ┃J 148 | ━┛JJ 149 | ┃ ┃K 150 | ┏┛ K 151 | ┛ ┛KK 152 | ┃ L 153 | ┃ L 154 | ━━┛LL 155 | ┏┏ M 156 | ┃┃┃M 157 | ┛┛┛MM 158 | ┏━ N 159 | ┃ ┃N 160 | ┛ ┛NN 161 | ┏━┃O 162 | ┃ ┃O 163 | ━━┛OO 164 | ┏━┃p 165 | ┏━┛P 166 | ┛ PP 167 | ┏━┃ Q 168 | ┃ ┃ Q 169 | ━━━┛QQ 170 | ┏━┃R 171 | ┏┏┛R 172 | ┛ ┛RR 173 | ┏━┛S 174 | ━━┃S 175 | ━━┛SS 176 | ━┏┛T 177 | ┃ T 178 | ┛ TT 179 | ┃ ┃U 180 | ┃ ┃U 181 | ━━┛UU 182 | ┃ ┃V 183 | ┃ ┃V 184 | ┛ VV 185 | ┃┃┃W 186 | ┃┃┃W 187 | ━━┛WW 188 | ┃ ┃X 189 | ┛ X 190 | ┛ ┛XX 191 | ┃ ┃Y 192 | ━┏┛Y 193 | ┛ YY 194 | ━━┃Z 195 | ┏┛ Z 196 | ━━┛ZZ 197 | ┏┛[ 198 | ┃ [ 199 | ━┛[[ 200 | ┛ \ 201 | ┛ \ 202 | ┛\\ 203 | ━┃] 204 | ┃] 205 | ━┛]] 206 | ┛ ^ 207 | ┛ ┛^ 208 | ^^ 209 | _ 210 | _ 211 | ━━┛__ 212 | ┛ ` 213 | ┛` 214 | `` 215 | ┏━┃a 216 | ┏━┃a 217 | ┛ ┛aa 218 | ┏━ b 219 | ┏━┃b 220 | ━━ bb 221 | ┏━┛c 222 | ┃ c 223 | ━━┛cc 224 | ┏━ d 225 | ┃ ┃d 226 | ━━ dd 227 | ┏━┛e 228 | ┏━┛e 229 | ━━┛ee 230 | ┏━┛f 231 | ┏━┛f 232 | ┛ ff 233 | ┏━┛g 234 | ┃ ┃g 235 | ━━┛gg 236 | ┃ ┃h 237 | ┏━┃h 238 | ┛ ┛hh 239 | ┛i 240 | ┃i 241 | ┛ii 242 | ┛j 243 | ┃j 244 | ━┛jj 245 | ┃ ┃k 246 | ┏┛ k 247 | ┛ ┛kk 248 | ┃ l 249 | ┃ l 250 | ━━┛ll 251 | ┏┏ m 252 | ┃┃┃m 253 | ┛┛┛mm 254 | ┏━ n 255 | ┃ ┃n 256 | ┛ ┛nn 257 | ┏━┃o 258 | ┃ ┃o 259 | ━━┛oo 260 | ┏━┃p 261 | ┏━┛p 262 | ┛ pp 263 | ┏━┃ q 264 | ┃ ┃ q 265 | ━━━┛qq 266 | ┏━┃r 267 | ┏┏┛r 268 | ┛ ┛rr 269 | ┏━┛s 270 | ━━┃s 271 | ━━┛ss 272 | ━┏┛t 273 | ┃ t 274 | ┛ tt 275 | ┃ ┃u 276 | ┃ ┃u 277 | ━━┛uu 278 | ┃ ┃v 279 | ┃ ┃v 280 | ┛ vv 281 | ┃┃┃w 282 | ┃┃┃w 283 | ━━┛ww 284 | ┃ ┃x 285 | ┛ x 286 | ┛ ┛xx 287 | ┃ ┃y 288 | ━┏┛y 289 | ┛ yy 290 | ━━┃z 291 | ┏┛ z 292 | ━━┛zz 293 | ┏┛{ 294 | ━┃ { 295 | ━┛{{ 296 | ┃| 297 | ┃| 298 | ┛|| 299 | ━┃ } 300 | ┏┛} 301 | ━┛ }} 302 | ┛ ┛~ 303 | ┛ ┛ ~ 304 | ~~ 305 | ┏━┃┏━┛Ä 306 | ┏━┃┏━┛Ä 307 | ┛ ┛━━┛ÄÄ 308 | ┏━┃┏━┛Ö 309 | ┃ ┃┏━┛Ö 310 | ━━┛━━┛ÖÖ 311 | ┃ ┃┏━┛Ü 312 | ┃ ┃┏━┛Ü 313 | ━━┛━━┛ÜÜ 314 | ┏━┃┏━┛ä 315 | ┏━┃┏━┛ä 316 | ┛ ┛━━┛ää 317 | ┏━┃┏━┛ö 318 | ┃ ┃┏━┛ö 319 | ━━┛━━┛öö 320 | ┃ ┃┏━┛ü 321 | ┃ ┃┏━┛ü 322 | ━━┛━━┛üü 323 | ┏━┛┏━┛ß 324 | ━━┃━━┃ß 325 | ━━┛━━┛ßß 326 | -------------------------------------------------------------------------------- /FigletUtils/tests/flowerpower.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/FigletUtils/tests/flowerpower.flf -------------------------------------------------------------------------------- /FigletUtils/tests/input.txt: -------------------------------------------------------------------------------- 1 | joshk@influx:/etc/logrotate.d> sh -n * 2 | apache: line 14: syntax error near unexpected token `}' 3 | apache: line 14: `}' 4 | the plot thickens 5 | those aren't shell scripts 6 | this wasn't chicken. 7 | -- in #debian-devel 8 | -------------------------------------------------------------------------------- /FigletUtils/tests/longtext.txt: -------------------------------------------------------------------------------- 1 | What is involved in such [close] relationships is a form of emotional 2 | chemistry, so far unexplained by any school of psychiatry I am aware of, that 3 | conditions nothing so simple as a choice between the poles of attraction and 4 | repulsion. You can meet some people thirty, forty times down the years, and 5 | they remain amiable bystanders, like the shore lights of towns that a sailor 6 | passes at stated times but never calls at on the regular run. Conversely, 7 | all considerations of sex aside, you can meet some other people once or twice 8 | and they remain permanent influences on your life. 9 | Everyone is aware of this discrepancy between the acquaintance seen 10 | as familiar wallpaper or instant friend. The chemical action it entails is 11 | less worth analyzing than enjoying. At any rate, these six pieces are about 12 | men with whom I felt an immediate sympat - to use a coining of Max Beerbohm's 13 | more satisfactory to me than the opaque vogue word "empathy". 14 | -- Alistair Cooke, "Six Men" 15 | -------------------------------------------------------------------------------- /FigletUtils/tests/res001.txt: -------------------------------------------------------------------------------- 1 | banner : 2 | 3 | ##### ## # # # # ###### ##### 4 | # # # # ## # ## # # # # 5 | ##### # # # # # # # # ##### # # 6 | # # ###### # # # # # # # ##### 7 | # # # # # ## # ## # # # 8 | ##### # # # # # # ###### # # 9 | 10 | 11 | 12 | big : 13 | _ _ 14 | | | (_) 15 | | |__ _ __ _ 16 | | '_ \| |/ _` | 17 | | |_) | | (_| | 18 | |_.__/|_|\__, | 19 | __/ | 20 | |___/ 21 | 22 | 23 | block : 24 | 25 | _| _| _| 26 | _|_|_| _| _|_| _|_|_| _| _| 27 | _| _| _| _| _| _| _|_| 28 | _| _| _| _| _| _| _| _| 29 | _|_|_| _| _|_| _|_|_| _| _| 30 | 31 | 32 | 33 | 34 | bubble : 35 | _ _ _ _ _ _ 36 | / \ / \ / \ / \ / \ / \ 37 | ( b | u | b | b | l | e ) 38 | \_/ \_/ \_/ \_/ \_/ \_/ 39 | 40 | 41 | digital : 42 | +-+-+-+-+-+-+-+ 43 | |d|i|g|i|t|a|l| 44 | +-+-+-+-+-+-+-+ 45 | 46 | 47 | ivrit : 48 | _ _ _ 49 | | |_(_)_ ____ _(_) 50 | | __| | '__\ \ / / | 51 | | |_| | | \ V /| | 52 | \__|_|_| \_/ |_| 53 | 54 | 55 | 56 | lean : 57 | 58 | _/ 59 | _/ _/_/ _/_/_/ _/_/_/ 60 | _/ _/_/_/_/ _/ _/ _/ _/ 61 | _/ _/ _/ _/ _/ _/ 62 | _/ _/_/_/ _/_/_/ _/ _/ 63 | 64 | 65 | 66 | 67 | mini : 68 | 69 | ._ _ o._ o 70 | | | ||| || 71 | 72 | 73 | 74 | mnemonic : 75 | mnemonic 76 | 77 | 78 | script : 79 | 80 | o 81 | , __ ,_ _ _|_ 82 | / \_/ / | | |/ \_| 83 | \/ \___/ |_/|_/|__/ |_/ 84 | /| 85 | \| 86 | 87 | 88 | shadow : 89 | | | 90 | __| __ \ _` | _` | _ \\ \ \ / 91 | \__ \ | | | ( | ( | ( |\ \ \ / 92 | ____/_| |_|\__,_|\__,_|\___/ \_/\_/ 93 | 94 | 95 | 96 | slant : 97 | __ __ 98 | _____/ /___ _____ / /_ 99 | / ___/ / __ `/ __ \/ __/ 100 | (__ ) / /_/ / / / / /_ 101 | /____/_/\__,_/_/ /_/\__/ 102 | 103 | 104 | 105 | small : 106 | _ _ 107 | ____ __ __ _| | | 108 | (_-< ' \/ _` | | | 109 | /__/_|_|_\__,_|_|_| 110 | 111 | 112 | 113 | smscript : 114 | 115 | , , _ ,_ o _|_ 116 | / \_/|/|/| / \_/ / | | |/\_| 117 | \/ | | |_/ \/ \__/ |/|/|_/ |_/ 118 | (| 119 | 120 | 121 | smshadow : 122 | | | 123 | (_-< ` \ (_-< \ _` | _` | _ \\ \ \ / 124 | ___/_|_|_|___/_| _|\__,_|\__,_|\___/ \_/\_/ 125 | 126 | 127 | 128 | smslant : 129 | __ __ 130 | ___ __ _ ___ / /__ ____ / /_ 131 | (_- 4 | ┛┏━┃┏━┛┃ ┃┃ ┃┏━┃┛┏━ ┏━┛┃ ┃ ┃┃ ┃ ┛┏━┛━┏┛┏━┛ ┛┃ ┏━┃┏━┛┏━┃┏━┃━┏┛┏━┃━┏┛┏━┛ 5 | ┃┃ ┃━━┃┏━┃┏┛ ┃┛┛┃┃ ┃┏━┛┃ ┃ ┃ ┛ ┛ ┛ ┏━┛ ┃ ┃ ┛ ┃ ┃ ┃┃ ┃┏┏┛┃ ┃ ┃ ┏━┃ ┃ ┏━┛ 6 | ━┛━━┛━━┛┛ ┛┛ ┛━━┛┛┛ ┛┛ ━━┛━━┛┛ ┛┛┛ ━━┛ ┛ ━━┛┛ ━━┛━━┛━━┛┛ ┛━━┛ ┛ ┛ ┛ ┛ ━━┛┛ 7 | ┏━ ┏━┛┃ ┃ ┏━ ┛ ┛ 8 | ┃ ┃ ━━┃┏━┃ ━┛┃ ┃ ━┏┛ 9 | ━━ > ━━┛┛ ┛ ┛ ┛ ┛ ┛ 10 | ┛┏━┃┏━┛┃ ┃┃ ┃ ┏━┃┏━┃┏━┃┏━┛┃ ┃┏━┛ ┃ ┛┏━ ┏━┛ ━┃ ┃ ┃ ┏━┛┃ ┃┏━ ━┏┛┏━┃┃ ┃ 11 | ┃┃ ┃━━┃┏━┃┏┛ ┏━┃┏━┛┏━┃┃ ┏━┃┏━┛┛ ┃ ┃┃ ┃┏━┛ ┃ ━━┃┛ ━━┃━┏┛┃ ┃ ┃ ┏━┃ ┛ 12 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛┛ ┛ ┛━━┛┛ ┛━━┛┛ ━━┛┛┛ ┛━━┛ ━━┛ ┛┛ ━━┛ ┛ ┛ ┛ ┛ ┛ ┛┛ ┛ 13 | ┏━┛┏━┃┏━┃┏━┃┏━┃ ┏━ ┏━┛┏━┃┏━┃ ┃ ┃┏━ ┏━┛┃ ┃┏━┃┏━┛┏━┛━┏┛┏━┛┏━ ━┏┛┏━┃┃ ┃┏━┛┏━ 14 | ┏━┛┏┏┛┏┏┛┃ ┃┏┏┛ ┃ ┃┏━┛┏━┃┏┏┛ ┃ ┃┃ ┃┏━┛ ┛ ┏━┛┏━┛┃ ┃ ┏━┛┃ ┃ ┃ ┃ ┃┏┛ ┏━┛┃ ┃ 15 | ━━┛┛ ┛┛ ┛━━┛┛ ┛ ┛ ┛━━┛┛ ┛┛ ┛ ━━┛┛ ┛━━┛┛ ┛┛ ━━┛━━┛ ┛ ━━┛━━ ┛ ━━┛┛ ┛━━┛┛ ┛ 16 | ┛ ━┃ ┛ 17 | ┛ ┏┛ 18 | ━┛ 19 | ┛┏━┃┏━┛┃ ┃┃ ┃ ┏━┃┏━┃┏━┃┏━┛┃ ┃┏━┛ ┃ ┛┏━ ┏━┛ ━┃ ┃ ┃ ┛ ━┃ ┛ 20 | ┃┃ ┃━━┃┏━┃┏┛ ┏━┃┏━┛┏━┃┃ ┏━┃┏━┛┛ ┃ ┃┃ ┃┏━┛ ┃ ━━┃┛ ┛ ┏┛ 21 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛┛ ┛ ┛━━┛┛ ┛━━┛┛ ━━┛┛┛ ┛━━┛ ━━┛ ┛┛ ━┛ 22 | ┛┏━┃┏━┛┃ ┃┃ ┃ ━┏┛┃ ┃┏━┛ ┏━┃┃ ┏━┃━┏┛ ━┏┛┃ ┃┛┏━┛┃ ┃┏━┛┏━ ┏━┛ 23 | ┃┃ ┃━━┃┏━┃┏┛ ┃ ┏━┃┏━┛ ┏━┛┃ ┃ ┃ ┃ ┃ ┏━┃┃┃ ┏┛ ┏━┛┃ ┃━━┃ 24 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛ ┛━━┛ ┛ ━━┛━━┛ ┛ ┛ ┛ ┛┛━━┛┛ ┛━━┛┛ ┛━━┛ 25 | ┏━┃┏━┛┃ ┃┏━┛┏━┛┛┏━┛┃ ┏━ ━┏┛┃ ┃┏━┃┏━┛┏━┛ ┏━┃┏━┃┏━┛┏━ ┛━┏┛ ┏━┛┃ ┃┏━┛┃ ┃ 26 | ┏━┃━━┃┃ ┃┏━┛┏━┛┃┏━┛┃ ┃ ┃ ┃ ┏━┃┃ ┃━━┃┏━┛ ┏━┃┏┏┛┏━┛┃ ┃ ┃ ━━┃┏━┃┏━┛┃ ┃ 27 | <┛ ┛━━┛━━┛┛ ┛ ┛━━┛━━┛━━ > ┛ ┛ ┛━━┛━━┛━━┛ ┛ ┛┛ ┛━━┛┛ ┛ ┛ ━━┛┛ ┛━━┛━━┛━━┛ 28 | ┏━┛┏━┛┏━┃┛┏━┃━┏┛┏━┛ 29 | ━━┃┃ ┏┏┛┃┏━┛ ┃ ━━┃ 30 | ━━┛━━┛┛ ┛┛┛ ┛ ━━┛ 31 | ┏━┛┏━┃┛┏━┛┃ ┃ ━┏┛┃ ┃┛┏━┛ ┃┃┃┏━┃┏━┛┏━ ┛━┏┛ ┏━┛┃ ┃┛┏━┛┃ ┃┏━┛┏━ 32 | ┏━┛┏┏┛┃┃ ┏━┃ ┃ ┏━┃┃━━┃ ┃┃┃┏━┃━━┃┃ ┃ ┃ ┃ ┏━┃┃┃ ┏┛ ┏━┛┃ ┃ 33 | <━━┛┛ ┛┛━━┛┛ ┛> ┛ ┛ ┛┛━━┛ ━━┛┛ ┛━━┛┛ ┛ ┛ ━━┛┛ ┛┛━━┛┛ ┛━━┛┛ ┛┛ 34 | ┛┏━ ┏━ ┏━┛┏━ ┛┏━┃┏━ ┏━ ┏━┛┃ ┃┏━┛┃ 35 | ━┛━┛ ┃┃ ┃ ┃ ┃┏━┛┏━┃┃┏━┃┃ ┃━┛┃ ┃┏━┛┃ ┃┏━┛┃ 36 | ┛┛ ┛ #━━ ━━┛━━ ┛┛ ┛┛ ┛ ━━ ━━┛ ┛ ━━┛━━┛ 37 | -------------------------------------------------------------------------------- /FigletUtils/tests/res017.txt: -------------------------------------------------------------------------------- 1 | ┛┏━┃┏━┛┃ ┃┃ ┃ 2 | ┃┃ ┃━━┃┏━┃┏┛ 3 | <━┛━━┛━━┛┛ ┛┛ ┛> 4 | ┛┏━┃┏━┛┃ ┃┃ ┃┏━┃┛┏━ ┏━┛┃ ┃ ┃┃ ┃ ┛┏━┛━┏┛┏━┛ ┛┃ ┏━┃┏━┛┏━┃┏━┃━┏┛┏━┃━┏┛┏━┛ 5 | ┃┃ ┃━━┃┏━┃┏┛ ┃┛┛┃┃ ┃┏━┛┃ ┃ ┃ ┛ ┛ ┛ ┏━┛ ┃ ┃ ┛ ┃ ┃ ┃┃ ┃┏┏┛┃ ┃ ┃ ┏━┃ ┃ ┏━┛ 6 | ━┛━━┛━━┛┛ ┛┛ ┛━━┛┛┛ ┛┛ ━━┛━━┛┛ ┛┛┛ ━━┛ ┛ ━━┛┛ ━━┛━━┛━━┛┛ ┛━━┛ ┛ ┛ ┛ ┛ ━━┛┛ 7 | ┏━ ┏━┛┃ ┃ ┏━ ┛ ┛ 8 | ┃ ┃ ━━┃┏━┃ ━┛┃ ┃ ━┏┛ 9 | ━━> ━━┛┛ ┛ ┛ ┛ ┛ ┛ 10 | ┛┏━┃┏━┛┃ ┃┃ ┃ ┏━┃┏━┃┏━┃┏━┛┃ ┃┏━┛ ┃ ┛┏━ ┏━┛ ━┃┃ ┃ ┏━┛┃ ┃┏━━┏┛┏━┃┃ ┃ 11 | ┃┃ ┃━━┃┏━┃┏┛ ┏━┃┏━┛┏━┃┃ ┏━┃┏━┛┛ ┃ ┃┃ ┃┏━┛ ┃━━┃┛ ━━┃━┏┛┃ ┃┃ ┏━┃ ┛ 12 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛┛ ┛ ┛━━┛┛ ┛━━┛┛ ━━┛┛┛ ┛━━┛ ━━┛ ┛┛ ━━┛ ┛ ┛ ┛┛ ┛ ┛┛ ┛ 13 | ┏━┛┏━┃┏━┃┏━┃┏━┃ ┏━ ┏━┛┏━┃┏━┃ ┃ ┃┏━ ┏━┛┃ ┃┏━┃┏━┛┏━┛━┏┛┏━┛┏━ ━┏┛┏━┃┃ ┃┏━┛┏━ 14 | ┏━┛┏┏┛┏┏┛┃ ┃┏┏┛ ┃ ┃┏━┛┏━┃┏┏┛ ┃ ┃┃ ┃┏━┛ ┛ ┏━┛┏━┛┃ ┃ ┏━┛┃ ┃ ┃ ┃ ┃┏┛ ┏━┛┃ ┃ 15 | ━━┛┛ ┛┛ ┛━━┛┛ ┛ ┛ ┛━━┛┛ ┛┛ ┛ ━━┛┛ ┛━━┛┛ ┛┛ ━━┛━━┛ ┛ ━━┛━━ ┛ ━━┛┛ ┛━━┛┛ ┛ 16 | ┛━┃┛ 17 | ┛┏┛ 18 | ━┛ 19 | ┛┏━┃┏━┛┃ ┃┃ ┃ ┏━┃┏━┃┏━┃┏━┛┃ ┃┏━┛ ┃ ┛┏━ ┏━┛ ━┃┃ ┃ ┛━┃┛ 20 | ┃┃ ┃━━┃┏━┃┏┛ ┏━┃┏━┛┏━┃┃ ┏━┃┏━┛┛ ┃ ┃┃ ┃┏━┛ ┃━━┃┛ ┛┏┛ 21 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛┛ ┛ ┛━━┛┛ ┛━━┛┛ ━━┛┛┛ ┛━━┛ ━━┛ ┛┛ ━┛ 22 | ┛┏━┃┏━┛┃ ┃┃ ┃ ━┏┛┃ ┃┏━┛ ┏━┃┃ ┏━┃━┏┛ ━┏┛┃ ┃┛┏━┛┃ ┃┏━┛┏━ ┏━┛ 23 | ┃┃ ┃━━┃┏━┃┏┛ ┃ ┏━┃┏━┛ ┏━┛┃ ┃ ┃ ┃ ┃ ┏━┃┃┃ ┏┛ ┏━┛┃ ┃━━┃ 24 | <━┛━━┛━━┛┛ ┛┛ ┛> ┛ ┛ ┛━━┛ ┛ ━━┛━━┛ ┛ ┛ ┛ ┛┛━━┛┛ ┛━━┛┛ ┛━━┛ 25 | ┏━┃┏━┛┃ ┃┏━┛┏━┛┛┏━┛┃ ┏━ ━┏┛┃ ┃┏━┃┏━┛┏━┛ ┏━┃┏━┃┏━┛┏━┛━┏┛ ┏━┛┃ ┃┏━┛┃ ┃ 26 | ┏━┃━━┃┃ ┃┏━┛┏━┛┃┏━┛┃ ┃ ┃ ┃ ┏━┃┃ ┃━━┃┏━┛ ┏━┃┏┏┛┏━┛┃ ┃ ┃ ━━┃┏━┃┏━┛┃ ┃ 27 | <┛ ┛━━┛━━┛┛ ┛ ┛━━┛━━┛━━> ┛ ┛ ┛━━┛━━┛━━┛ ┛ ┛┛ ┛━━┛┛ ┛ ┛ ━━┛┛ ┛━━┛━━┛━━┛ 28 | ┏━┛┏━┛┏━┃┛┏━┃━┏┛┏━┛ 29 | ━━┃┃ ┏┏┛┃┏━┛ ┃ ━━┃ 30 | ━━┛━━┛┛ ┛┛┛ ┛ ━━┛ 31 | ┏━┛┏━┃┛┏━┛┃ ┃ ━┏┛┃ ┃┛┏━┛ ┃┃┃┏━┃┏━┛┏━┛━┏┛ ┏━┛┃ ┃┛┏━┛┃ ┃┏━┛┏━ 32 | ┏━┛┏┏┛┃┃ ┏━┃ ┃ ┏━┃┃━━┃ ┃┃┃┏━┃━━┃┃ ┃ ┃ ┃ ┏━┃┃┃ ┏┛ ┏━┛┃ ┃ 33 | <━━┛┛ ┛┛━━┛┛ ┛> ┛ ┛ ┛┛━━┛ ━━┛┛ ┛━━┛┛ ┛ ┛ ━━┛┛ ┛┛━━┛┛ ┛━━┛┛ ┛┛ 34 | ┛┏━ ┏━ ┏━┛┏━ ┛┏━┃┏━ ┏━ ┏━┛┃ ┃┏━┛┃ 35 | ━┛━┛ ┃┃ ┃ ┃ ┃┏━┛┏━┃┃┏━┃┃ ┃━┛┃ ┃┏━┛┃ ┃┏━┛┃ 36 | ┛┛ ┛ #━━ ━━┛━━ ┛┛ ┛┛ ┛ ━━ ━━┛ ┛ ━━┛━━┛ 37 | -------------------------------------------------------------------------------- /FigletUtils/tests/res018.txt: -------------------------------------------------------------------------------- 1 | ┏━┏━┃ ┃ ┃ ┏━┏━┃ ┃ ┏━┃┛┏━┏━┃ ┃ ┃ ┃ ┏━━┏┏━┛ ┃ ┏━┏━┏━┏━━┏┏━━┏┏━┛ ┏━ ┏━┃ ┃┏━ 2 | ┃ ━━┏━┏┛ ┃ ━━┏━┏┛┃┛┛┃┃ ┏━┃ ┃ ┃┛ ┛ ┛┏━┛┃┃ ┛┃ ┃ ┃ ┏┏┃ ┃┃┏━┃┃┏━┛ ┃ ┃━━┏━━┃ ┃ 3 | <━━━━━┛ ┛ ┛>━━━━━┛ ┛ ━━┛┛┛ ┛ ━━━━┛ ┛┛┛ ━━┛┛━━┛ ━━━━━━┛ ━━┛┛┛ ┛┛━━┛┛━━>━━┛ ┛┛ ┛ 4 | ┛ ┛ 5 | ━┏┛ 6 | ┛ ┛ 7 | ┏━┏━┃ ┃ ┃ ┏━┏━┏━┏━┃ ┏━┛ ┃ ┛┏━┏━━┃ ┃ ┏━┃ ┏━┏┏━┃ ┏━┏━┏━┏━┏━┏━┏━┏━┏━┃ 8 | ┃ ━━┏━┏┛ ┏━┏━┏━┃ ┏━┏━┛┛┃ ┃┃ ┏━┛━━┃┛━━━┏┃ ┃┏━┃┛┏━┏┏┏┏┃ ┏┏┃ ┏━┏━┏┏┛ 9 | <━━━━━┛ ┛ ┛>┛ ┛ ┛ ━━┛ ━━┛┛━━┛┛┛ ━━━━┛┛┛━━┛┛┛ ┛┛ ┛ ━━┛ ┛ ━━┛ ┛ ━━┛ ┛ ┛ 10 | ┃ ┏━┏━┃ ┏━┏━┏━━┏┏━┏━━┏┏━┃ ┏━┏━━┃┛ 11 | ┃ ┃ ┏━┛┛┏━┏━┃ ┃┏━┃ ┃┃┃ ┏┛┏━┃ ┃┏┛ 12 | ━━┛ ━━┛ ┛ ━━━━┛┛━━━━ ┛━━┛ ━━┛ ━┛ 13 | ┏━┏━┃ ┃ ┃ ┏━┏━┏━┏━┃ ┏━┛ ┃ ┛┏━┏━━┃ ┃ ━┃┛ 14 | ┃ ━━┏━┏┛ ┏━┏━┏━┃ ┏━┏━┛┛┃ ┃┃ ┏━┛━━┃┛ ┏┛ 15 | <━━━━━┛ ┛ ┛>┛ ┛ ┛ ━━┛ ━━┛┛━━┛┛┛ ━━━━┛┛┛━┛ 16 | ┏━┏━┃ ┃ ┃ ━┏┃ ┏━┏━┃ ┏━━┏━┏┃ ┃┛┏━┃ ┏━┏━┏━┛ 17 | ┃ ━━┏━┏┛ ┃┏━┏━┏━┃ ┃ ┃┃ ┃┏━┃┃┃ ┏┛┏━┃ ━━┃ 18 | <━━━━━┛ ┛ ┛> ┛┛ ━━┛ ━━━━┛┛ ┛┛ ┛┛━━┛ ━━┛ ━━┛ 19 | ┏━┏━┃ ┏━┏━┛┛┏━┃ ┏━ ━┏┃ ┏━┏━┏━┏━┏━┏━┏━┛━┏┏━┃ ┏━┃ ┃ ┏━┏━┏━┃┛┏━━┏┏━┛ 20 | ┏━━━┃ ┏━┏━┛┃┏━┃ ┃ ┃ ┃┏━┃ ━━┏━┏━┏┏┏━┃ ┃ ┃━━┏━┏━┃ ┃ ━━┃ ┏┏┛┃┏━┛┃━━┃ 21 | <┛ ━━━━┛ ┛ ┛━━━━━━> ┛┛ ━━━━━━┛ ┛ ━━┛ ┛ ┛━━┛ ━━━━━━━━━━┛ ┛┛┛ ┛━━┛ 22 | ┏━┏━┃┛┏━┃ ┃ ━┏┃ ┃┛┏━┃┃┏━┏━┏━┛━┏┏━┃ ┃┛┏━┃ ┏━┏━ 23 | ┏━┏┏┛┃┃ ┏━┃ ┃┏━┃┃━━┃┃┏━━━┃ ┃ ┃┃ ┏━┃┃┃ ┏┛┏━┃ ┃ 24 | <━━┛ ┛┛━━┛ ┛> ┛┛ ┛┛━━━━┛ ━━┛ ┛ ┛━━┛ ┛┛━━┛ ━━┛ ┛┛ 25 | ┛┏━ ┏━┏━┏━ ┛┏━┏━ ┏━┏━┃ ┏━┃ 26 | ━━┛┃┃ ┃ ┃ ┏━┏━┃┃┏━┃ ━┃ ┏━┃ ┏━┃ 27 | ┛┛ ┛#━━━━━━ ┛┛ ┛ ┛━━━━┛┛━━━━┛ 28 | -------------------------------------------------------------------------------- /FigletUtils/tests/res019.txt: -------------------------------------------------------------------------------- 1 | ┃ ┃┃ ┃┏━┛┏━┃ ┛ 2 | ┏┛ ┏━┃━━┃┃ ┃ ┃ 3 | >┛ ┛┛ ┛━━┛━━┛━┛< 4 | ┏━┛━┏┛┏━┃━┏┛┏━┃┏━┃┏━┛┏━┃┃ ┛┏━┛━┏┛┏━┛ ┛ ┃ ┃┃ ┃┃ ┏━┛┏━ ┛┏━┃┃ ┃┃ ┃┏━┛┏━┃ ┛ 5 | ┏━┛ ┃ ┏━┃ ┃ ┃ ┃┏┏┛┃ ┃┃ ┃┃ ┛ ┃ ┃ ┏━┛ ┛ ┛ ┛ ┃ ┃┃ ┏━┛┃ ┃┃┃┛┛┏┛ ┏━┃━━┃┃ ┃ ┃ 6 | ┛━━┛ ┛ ┛ ┛ ┛ ━━┛┛ ┛━━┛━━┛━━┛┛ ━━┛ ┛ ━━┛┛ ┛┛ ┛━━┛━━┛┛ ┛ ┛┛━━┛┛ ┛┛ ┛━━┛━━┛━┛ 7 | ┛ ┛ ┏━ ┃ ┃┏━┛ ┏━ 8 | ━┏┛ ┃ ┃━┛ ┏━┃━━┃ ┃ ┃ 9 | ┛ ┛ ┛ ┛ ┛ ┛━━┛ >━━ 10 | ┃ ┃┏━┃━┏┛┏━ ┃ ┃┏━┛ ┃ ┃━┃ ┏━┛┏━ ┛┃ ┏━┛┃ ┃┏━┛┏━┃┏━┃┏━┃ ┃ ┃┃ ┃┏━┛┏━┃ ┛ 11 | ┛ ┏━┃ ┃ ┃ ┃━┏┛━━┃ ┛━━┃ ┃ ┏━┛┃ ┃┃┃ ┛┏━┛┏━┃┃ ┏━┃┏━┛┏━┃ ┏┛ ┏━┃━━┃┃ ┃ ┃ 12 | ┛ ┛┛ ┛ ┛ ┛ ┛ ┛ ━━┛ ┛ ┛━━┛ ━━┛┛ ┛┛━━┛ ┛━━┛┛ ┛━━┛┛ ┛┛ ┛ ┛ >┛ ┛┛ ┛━━┛━━┛━┛< 13 | ┏━ ┏━┛┃ ┃┏━┃━┏┛ ┏━ ┏━┛━┏┛┏━┛┏━┛┏━┃┃ ┃┏━┛┏━ ┃ ┃ ┏━┃┏━┃┏━┛┏━ ┏━┃┏━┃┏━┃┏━┃┏━┛ 14 | ┃ ┃┏━┛┏┛ ┃ ┃ ┃ ┃ ┃┏━┛ ┃ ┃ ┏━┛┏━┛ ┛ ┏━┛┃ ┃┃ ┃ ┏┏┛┏━┃┏━┛┃ ┃ ┏┏┛┃ ┃┏┏┛┏┏┛┏━┛ 15 | ┛ ┛━━┛┛ ┛━━┛ ┛ ━━ ━━┛ ┛ ━━┛━━┛┛ ┛ ┛━━┛┛ ┛━━┛ ┛ ┛┛ ┛━━┛┛ ┛ ┛ ┛━━┛┛ ┛┛ ┛━━┛ 16 | ┛━┃ ┛ 17 | ┏┛ ┛ 18 | ━┛ 19 | ┛━┃ ┛ ┃ ┃━┃ ┏━┛┏━ ┛┃ ┏━┛┃ ┃┏━┛┏━┃┏━┃┏━┃ ┃ ┃┃ ┃┏━┛┏━┃ ┛ 20 | ┏┛ ┛ ┛━━┃ ┃ ┏━┛┃ ┃┃┃ ┛┏━┛┏━┃┃ ┏━┃┏━┛┏━┃ ┏┛ ┏━┃━━┃┃ ┃ ┃ 21 | ━┛ ┛ ┛━━┛ ━━┛┛ ┛┛━━┛ ┛━━┛┛ ┛━━┛┛ ┛┛ ┛ ┛ >┛ ┛┛ ┛━━┛━━┛━┛< 22 | ┏━┛┏━ ┏━┛┃ ┃┏━┛┛┃ ┃━┏┛ ━┏┛┏━┃┃ ┏━┃ ┏━┛┃ ┃━┏┛ ┃ ┃┃ ┃┏━┛┏━┃ ┛ 23 | ━━┃┃ ┃┏━┛┏┛ ┃ ┃┏━┃ ┃ ┃ ┃ ┃┃ ┏━┛ ┏━┛┏━┃ ┃ ┏┛ ┏━┃━━┃┃ ┃ ┃ 24 | ━━┛┛ ┛━━┛┛ ┛━━┛┛┛ ┛ ┛ ┛ ━━┛━━┛┛ ━━┛┛ ┛ ┛ >┛ ┛┛ ┛━━┛━━┛━┛< 25 | ┃ ┃ ┏━┛┃ ┃┏━┛ ━┏┛┛┏━ ┏━┛┏━┃┏━┃ ┏━┛┏━┛┏━┃┃ ┃━┏┛ ┏━ ┃ ┏━┛┛┏━┛┏━┛┃ ┃┏━┛┏━┃ 26 | ┃ ┃ ┏━┛┏━┃━━┃ ┃ ┃ ┃┏━┛┏┏┛┏━┃ ┏━┛━━┃┃ ┃┏━┃ ┃ ┃ ┃┃ ┏━┛┃┏━┛┏━┛┃ ┃━━┃┏━┃ 27 | ━━┛━━┛━━┛┛ ┛━━┛ ┛ ┛ ┛━━┛┛ ┛┛ ┛ ━━┛━━┛━━┛┛ ┛ ┛ >━━ ━━┛━━┛┛┛ ┛ ━━┛━━┛┛ ┛< 28 | ┏━┛━┏┛┏━┃┛┏━┃┏━┛┏━┛ 29 | ━━┃ ┃ ┏━┛┃┏┏┛┃ ━━┃ 30 | ━━┛ ┛ ┛ ┛┛ ┛━━┛━━┛ 31 | ┏━ ┏━┛┃ ┃┏━┛┛┃ ┃┏━┛ ━┏┛┛┏━ ┏━┛┏━┃┃┃┃ ┏━┛┛┃ ┃━┏┛ ┃ ┃┏━┛┛┏━┃┏━┛ 32 | ┃ ┃┏━┛┏┛ ┃ ┃┏━┃┃ ┃ ┃ ┃━━┃┏━┃┃┃┃ ━━┃┃┏━┃ ┃ ┏━┃┃ ┃┏┏┛┏━┛ 33 | ┛┛ ┛━━┛┛ ┛━━┛┛┛ ┛━━┛ ┛ ┛ ┛━━┛┛ ┛━━┛ ━━┛┛┛ ┛ ┛ >┛ ┛━━┛┛┛ ┛━━┛< 34 | ┃ ┏━┛┃ ┃┏━┛┏━ ┏━ ┏━┃┛┏━ ┏━┛┏━ ┏━ ┛ 35 | ┃ ┏━┛┃ ┃┏━┛┃ ┃━┛┃ ┃┏━┃┃┏━┃┏━┛┃ ┃ ┃ ┃┃ ━┛━┛ 36 | ━━┛━━┛ ┛ ━━┛━━ ┛ ┛┛ ┛┛━━ ━━┛━━ # ┛ ┛┛ 37 | -------------------------------------------------------------------------------- /FigletUtils/tests/res024.txt: -------------------------------------------------------------------------------- 1 | fonts/646-ca.flc 2 | fonts/646-ca2.flc 3 | fonts/646-cn.flc 4 | fonts/646-cu.flc 5 | fonts/646-de.flc 6 | fonts/646-dk.flc 7 | fonts/646-es.flc 8 | fonts/646-es2.flc 9 | fonts/646-fr.flc 10 | fonts/646-gb.flc 11 | fonts/646-hu.flc 12 | fonts/646-irv.flc 13 | fonts/646-it.flc 14 | fonts/646-jp.flc 15 | fonts/646-kr.flc 16 | fonts/646-no.flc 17 | fonts/646-no2.flc 18 | fonts/646-pt.flc 19 | fonts/646-pt2.flc 20 | fonts/646-se.flc 21 | fonts/646-se2.flc 22 | fonts/646-yu.flc 23 | fonts/8859-2.flc 24 | fonts/8859-3.flc 25 | fonts/8859-4.flc 26 | fonts/8859-5.flc 27 | fonts/8859-7.flc 28 | fonts/8859-8.flc 29 | fonts/8859-9.flc 30 | fonts/frango.flc 31 | fonts/hz.flc 32 | fonts/ilhebrew.flc 33 | fonts/jis0201.flc 34 | fonts/koi8r.flc 35 | fonts/moscow.flc 36 | fonts/upper.flc 37 | fonts/ushebrew.flc 38 | fonts/uskata.flc 39 | fonts/utf8.flc 40 | -------------------------------------------------------------------------------- /FigletUtils/tests/res025.txt: -------------------------------------------------------------------------------- 1 | ########## ## # # 2 | ### ## ########## ####### ########## 3 | # ## # # # # ## 4 | # ## # ## # ## # 5 | # # ## # ## # 6 | # # ## # ## ## 7 | # # ## ########## # 8 | 9 | -------------------------------------------------------------------------------- /FigletUtils/tests/res026.txt: -------------------------------------------------------------------------------- 1 | ########## ## # # 2 | ### ## ########## ####### ########## 3 | # ## # # # # ## 4 | # ## # ## # ## # 5 | # # ## # ## # 6 | # # ## # ## ## 7 | # # ## ########## # 8 | 9 | -------------------------------------------------------------------------------- /FigletUtils/utf8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 Alexey Vatchenko 3 | * 4 | * Permission to use, copy, modify, and/or distribute this software for any 5 | * purpose with or without fee is hereby granted, provided that the above 6 | * copyright notice and this permission notice appear in all copies. 7 | * 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | */ 16 | 17 | /* 18 | * utf8: implementation of UTF-8 charset encoding (RFC3629). 19 | */ 20 | #ifndef _UTF8_H_ 21 | #define _UTF8_H_ 22 | 23 | #include 24 | 25 | #include 26 | 27 | #define UTF8_IGNORE_ERROR 0x01 28 | #define UTF8_SKIP_BOM 0x02 29 | 30 | #ifdef __cplusplus 31 | extern "C" { 32 | #endif 33 | 34 | size_t utf8_to_wchar(const char *in, size_t insize, wchar_t *out, 35 | size_t outsize, int flags); 36 | size_t wchar_to_utf8(const wchar_t *in, size_t insize, char *out, 37 | size_t outsize, int flags); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif /* !_UTF8_H_ */ 44 | -------------------------------------------------------------------------------- /FigletUtils/zipio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * zipio.h - stdio emulation library for reading zip files 3 | * 4 | * Version 1.1.2 5 | */ 6 | 7 | /* 8 | * Copyright (C) 1995, Edward B. Hamrick 9 | * 10 | * Permission to use, copy, modify, and distribute this software and 11 | * its documentation for any purpose and without fee is hereby granted, 12 | * provided that the above copyright notice appear in all copies and 13 | * that both that copyright notice and this permission notice appear in 14 | * supporting documentation, and that the name of the copyright holders 15 | * not be used in advertising or publicity pertaining to distribution of 16 | * the software without specific, written prior permission. The copyright 17 | * holders makes no representations about the suitability of this software 18 | * for any purpose. It is provided "as is" without express or implied warranty. 19 | * 20 | * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS 21 | * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, 22 | * IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT 23 | * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 24 | * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 25 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 26 | * OF THIS SOFTWARE. 27 | */ 28 | 29 | /* 30 | * Changes from 1.1 to 1.1.1: 31 | * Changed "z*" functions to "Z*" to avoid namespace pollution. 32 | * Added "zungetc" macro. 33 | * John Cowan 34 | * 35 | * Changes from 1.1.1 to 1.1.2: 36 | * Relicensed under the MIT license, with consent of the copyright holders. 37 | * Claudio Matsuoka (Jan 11 2011) 38 | */ 39 | 40 | /* 41 | * This library of routines has the same calling sequence as 42 | * the stdio.h routines for reading files. If these routines 43 | * detect that they are reading from a zip file, they transparently 44 | * unzip the file and make the application think they're reading 45 | * from the uncompressed file. 46 | * 47 | * Note that this library is designed to work for zip files that 48 | * use the deflate compression method, and to read the first file 49 | * within the zip archive. 50 | * 51 | * There are a number of tunable parameters in the reference 52 | * implementation relating to in-memory decompression and the 53 | * use of temporary files. 54 | * 55 | * Particular care was taken to make the Zgetc() macro work 56 | * as efficiently as possible. When reading an uncompressed 57 | * file with Zgetc(), it has exactly the same performance as 58 | * when using getc(). WHen reading a compressed file with 59 | * Zgetc(), it has the same performance as fread(). The total 60 | * CPU overhead for decompression is about 50 cycles per byte. 61 | * 62 | * The Zungetc() macro is quite limited. It ignores the character 63 | * specified for pushback, and essentially just forces the last 64 | * character read to be re-read. This is essential when parsing 65 | * numbers and such. (1.1.1) 66 | * 67 | * There are a few stdio routines that aren't represented here, but 68 | * they can be layered on top of these routines if needed. 69 | */ 70 | 71 | #ifndef __ZIPIO_H 72 | #define __ZIPIO_H 73 | 74 | #include 75 | 76 | typedef struct { 77 | int len; 78 | unsigned char *ptr; 79 | } ZFILE; 80 | 81 | #define Zgetc(f) \ 82 | ((--((f)->len) >= 0) \ 83 | ? (unsigned char)(*(f)->ptr++) \ 84 | : _Zgetc (f)) 85 | 86 | #define Zungetc(c,f) \ 87 | ((f)->ptr--, (f)->len++, (c)) 88 | 89 | #ifdef __cplusplus 90 | extern "C" { 91 | #endif 92 | 93 | ZFILE *Zopen(const char *path, const char *mode); 94 | int _Zgetc(ZFILE *stream); 95 | size_t Zread(void *ptr, size_t size, size_t n, ZFILE *stream); 96 | int Zseek(ZFILE *stream, long offset, int whence); 97 | long Ztell(ZFILE *stream); 98 | int Zclose(ZFILE *stream); 99 | 100 | #ifdef __cplusplus 101 | } 102 | #endif 103 | 104 | #endif 105 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2024 liheng 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | CFLAGS = -I./includes -Wall -fPIC 3 | OBJFILES = objs/bootstrap.o objs/cmd_utils.o objs/install_utils.o objs/shell_utils.o objs/ExamAll.o objs/FileInfo.o objs/updata_utils.o objs/Version.o objs/sl.o objs/print_figlet.o 4 | TARGET = cil 5 | LIBTARGET = lib/libprintcolor.a 6 | LIBOBJS = objs/PrintColor.o 7 | 8 | all: $(TARGET) 9 | 10 | objs: 11 | @mkdir -p objs 12 | 13 | objs/PrintColor.o: src/Library/PrintColor.c objs 14 | $(CC) $(CFLAGS) -c $< -o $@ 15 | 16 | $(LIBTARGET): $(LIBOBJS) 17 | @mkdir -p lib 18 | $(AR) rcs $(LIBTARGET) $(LIBOBJS) 19 | 20 | objs/bootstrap.o: src/bootstrap.c objs 21 | $(CC) $(CFLAGS) -c $< -o $@ 22 | 23 | objs/install_utils.o: src/Utils/install_utils.c objs 24 | $(CC) $(CFLAGS) -c $< -o $@ 25 | 26 | objs/shell_utils.o: src/Utils/shell_utils.c objs 27 | $(CC) $(CFLAGS) -c $< -o $@ 28 | 29 | objs/ExamAll.o: src/LoginShell/ExamAll.c objs 30 | $(CC) $(CFLAGS) -c $< -o $@ 31 | 32 | objs/FileInfo.o: src/FileManagement/FileInfo.c objs 33 | $(CC) $(CFLAGS) -c $< -o $@ 34 | 35 | objs/cmd_utils.o: src/Utils/cmd_utils.c objs 36 | $(CC) $(CFLAGS) -c $< -o $@ 37 | 38 | objs/updata_utils.o: src/Utils/updata_utils.c objs 39 | $(CC) $(CFLAGS) -c $< -o $@ 40 | 41 | objs/Version.o: src/Utils/Version.c objs 42 | $(CC) $(CFLAGS) -c $< -o $@ 43 | 44 | objs/sl.o: src/game/sl.c objs 45 | $(CC) $(CFLAGS) -c $< -o $@ 46 | 47 | objs/print_figlet.o: src/Utils/print_figlet.c objs 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | 51 | 52 | $(TARGET): $(OBJFILES) $(LIBTARGET) 53 | $(CC) $(CFLAGS) -pie $(OBJFILES) -o $(TARGET) -L./lib -lprintcolor -lncurses 54 | 55 | clean: 56 | rm -f $(OBJFILES) $(TARGET) $(LIBTARGET) 57 | 58 | 59 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CmdUtils 2 | ![img](https://img.shields.io/badge/Faster%20use-Linux-red) ![img](https://img.shields.io/badge/Developed%20by-C-yellow) ![img](https://img.shields.io/badge/Updata-more-orange) 3 | 4 | ![Alt](https://repobeats.axiom.co/api/embed/a50babc45d7ac4f805c05399b5eb0c8e7c2263ab.svg "Repobeats analytics image") 5 | 6 | CmdUtils是一个用于查询和执行常用命令的命令行工具。它可以帮助用户快速查找和执行各种命令,提高工作效率🚡 7 | 8 | 目前拥有`🚡常用命令速查`,`🥇集成自动化安装检查脚本`,`🧮代码统计以及代码提交`等高级功能 9 | 10 | **注意仅适用于`linux centos 7.x`** 11 | 12 | ## 安装 13 | 14 | 执行脚本 15 | ```bash 16 | curl -O https://heng1.oss-cn-beijing.aliyuncs.com/cil && chmod +x cil && ./cil s cil && cil 17 | ``` 18 | 19 | ## 使用 20 | 查看可用命令: 21 | ```bash 22 | cil 23 | ``` 24 | 终端输出如下 25 | ```bash 26 | 用法:cil (<参数>) <命令名> 27 | 例如:cil i nginx 安装中间件Nginx 28 | cil version/updata :检查当前版本以及版本更新 29 | cil * :支持nginx,psql(PostgreSQL),pro(进程检查命令),exe(可执行文件操作),base(基础linux检查),sl——————提示以及更新功能 30 | cil i * :支持nginx,psql,nvm,cloc,gcc,git——————安装功能 31 | cil s * :支持cil,env,banner,exam,cpu,free,system——————shell功能 32 | cil f * :支持exam(目录检查),info(目录下所有文件检查),nginx,psql——————文件类型检查功能 33 | cil l * :支持exam——————登录自动执行功能 34 | ______ ____ ____ _ __ 35 | / ____/___ ___ ____/ / / / / /_(_) /____ 36 | / / / __ `__ \/ __ / / / / __/ / / ___/ 37 | / /___/ / / / / / /_/ / /_/ / /_/ / (__ ) 38 | \____/_/ /_/ /_/\__,_/\____/\__/_/_/____/ 39 | 40 | ``` 41 | 42 | ## 编译 43 | 如果您要修改代码则可修改后编译运行👽 44 | ```bash 45 | make 46 | ``` 47 | 48 | # 贡献 49 | 🧑如果您发现任何错误或想要添加新功能,请随时提交`issue`或`pull request` 50 | 51 | 52 | 53 | 54 | 55 | Made with [contrib.rocks](https://contrib.rocks). 56 | # 许可证 57 | CmdUtils采用`MIT`许可证。 58 | -------------------------------------------------------------------------------- /Tailcast/.astro/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "_variables": { 3 | "lastUpdateCheck": 1720159991447 4 | }, 5 | "devToolbar": { 6 | "enabled": false 7 | } 8 | } -------------------------------------------------------------------------------- /Tailcast/.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | .output/ 4 | 5 | # dependencies 6 | node_modules/ 7 | 8 | # logs 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | pnpm-debug.log* 13 | 14 | 15 | # environment variables 16 | .env 17 | .env.production 18 | 19 | # macOS-specific files 20 | .DS_Store 21 | -------------------------------------------------------------------------------- /Tailcast/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 1.0.0 (02-06-2024) 4 | 5 | - add changelog 6 | - add first tag and Github release 7 | - update package.json & readme 8 | 9 | ## 1.0.1 (03-06-2024) 10 | 11 | - update all packages 12 | - add contributing guidelines 13 | - fix console errors 14 | - hide feature divider 15 | 16 | ## 1.0.2 (05-06-2024) 17 | 18 | - add blog section and article page 19 | - optimize theme class names 20 | - fix visual bugs 21 | - improve hover states on buttons 22 | - improve accessibility 23 | -------------------------------------------------------------------------------- /Tailcast/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Thank you for your interest in contributing to Tailcast project. I appreciate your feedback, which is invaluable in helping me improve and grow this template. If you encounter any issues, have suggestions for improvements, or would like to share your thoughts, please don't hesitate to open an issue on the GitHub Issues page or to contact me directly. 2 | 3 | If you would like to support the ongoing development and maintenance of this project, you can do so through the GitHub Sponsors program. Your sponsorship helps me dedicate more time and resources to this project. To become a sponsor, you can click the "Sponsor" button on my profile. 4 | 5 | For some time, I will hold off on accepting external merge requests. While I greatly appreciate your willingness to contribute code, I am currently focused on managing the project's development internally. This may change in the future. 6 | 7 | Thank you once again for your interest and support! 8 | 9 | ~matt765 -------------------------------------------------------------------------------- /Tailcast/README.md: -------------------------------------------------------------------------------- 1 | # Tailcast 2 | 3 | Dark themed website template built on AstroJS, designed for fictional startup 4 | 5 | ## Tech stack: 6 | 7 | Astro, React, Tailwind, Framer Motion 8 | 9 | ## Live link 10 | [https://tailcast.vercel.app/](https://tailcast.vercel.app/) 11 | 12 | ## Project Structure 13 | 14 | ``` 15 | ├── public/ 16 | │ └── favicon.svg 17 | ├── src/ 18 | │ ├── assets 19 | │ │ ├── icons 20 | │ │ ├── images 21 | │ │ └── logos 22 | │ ├── components 23 | │ ├── layouts 24 | │ ├── pages 25 | │ └── styles 26 | └── package.json 27 | ``` 28 | 29 | ## How to run 30 | 31 | All commands are run from the root of the project, from a terminal: 32 | 33 | | Command | Action | 34 | | :--------------------- | :------------------------------------------------- | 35 | | `npm install` | Installs dependencies | 36 | | `npm run dev` | Starts local dev server at `localhost:3000` | 37 | | `npm run build` | Build your production site to `./dist/` | 38 | | `npm run preview` | Preview your build locally, before deploying | 39 | 40 | -------------------------------------------------------------------------------- /Tailcast/astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'astro/config'; 2 | import react from '@astrojs/react'; 3 | import tailwind from "@astrojs/tailwind"; 4 | 5 | export default defineConfig({ 6 | integrations: [react(), tailwind()] 7 | }); -------------------------------------------------------------------------------- /Tailcast/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 matt765 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Tailcast/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailcast", 3 | "type": "module", 4 | "version": "1.0.2", 5 | "license": "MIT", 6 | "description": "Dark themed website template built on AstroJS, designed for fictional startup", 7 | "author": { 8 | "name": "Mateusz Wyrębek (matt765)", 9 | "email": "mateusz.wyrebek@gmail.com", 10 | "url": "https://matt765-portfolio.vercel.app/" 11 | }, 12 | "private": true, 13 | "scripts": { 14 | "dev": "astro dev", 15 | "start": "astro dev", 16 | "build": "astro build", 17 | "preview": "astro preview", 18 | "astro": "astro" 19 | }, 20 | "dependencies": { 21 | "@astrojs/tailwind": "^5.1.0", 22 | "@fontsource/inter": "^5.0.18", 23 | "astro": "^4.9.2", 24 | "framer-motion": "^11.2.10", 25 | "npm": "^10.8.1", 26 | "npm-check-updates": "^16.14.20", 27 | "tailwindcss": "^3.4.3" 28 | }, 29 | "devDependencies": { 30 | "@astrojs/react": "^3.4.0", 31 | "react": "^18.3.1", 32 | "react-dom": "^18.3.1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Tailcast/tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], 4 | theme: { 5 | extend: { 6 | colors: { 7 | primaryColor: "rgb(99, 102, 241)", 8 | secondaryColor: "rgb(161, 163, 247)", 9 | primaryText: "rgb(255,255,255)", 10 | secondaryText: "rgb(174, 178, 183)", 11 | bgDark1: "rgb(31, 32, 35)", 12 | bgDark2: "rgb(38, 39, 43)", 13 | bgDark3: "rgb(48, 49, 54)", 14 | bgDark3Hover: "rgb(55, 56, 62)", 15 | bgDarkTransparent: "rgb(31, 32, 35, 0.7)", 16 | bgDarkTransparentDarker: "rgb(0,0,0,0.5)", 17 | bgDarkTransparentLighter: "rgb(48, 49, 54, 0.7)", 18 | mainBorder: "rgb(255,255,255,0.15)", 19 | mainBorderDarker: "rgb(255,255,255,0.07)", 20 | quoteIconColor: "rgb(178, 184, 205)" 21 | }, 22 | fontFamily: { 23 | Inter: "Inter", 24 | }, 25 | screens: { 26 | xs: "530px", 27 | sm: "640px", 28 | md: "768px", 29 | lg: "1024px", 30 | xl: "1280px", 31 | "2xl": "1536px", 32 | }, 33 | }, 34 | }, 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /Tailcast/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/base" 3 | } -------------------------------------------------------------------------------- /UpdataUtils/makefile: -------------------------------------------------------------------------------- 1 | CC_VC = gcc 2 | OBJFILES_VC = objs/bootstrap.o 3 | TARGET_VC = updata 4 | 5 | all_vc: $(TARGET_VC) 6 | 7 | objs_vc: 8 | @mkdir -p objs 9 | 10 | objs/bootstrap.o: src/bootstrap.c objs_vc 11 | $(CC_VC) $(CFLAGS_VC) -c $< -o $@ 12 | 13 | $(TARGET_VC): $(OBJFILES_VC) 14 | $(CC_VC) $(CFLAGS_VC) $(OBJFILES_VC) -o $(TARGET_VC) 15 | 16 | clean_vc: 17 | rm -f $(OBJFILES_VC) $(TARGET_VC) -------------------------------------------------------------------------------- /UpdataUtils/src/bootstrap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | int main(){ 6 | 7 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/cil && chmod +x cil && cil"); 8 | 9 | system("sudo cp cil /bin"); 10 | 11 | system("rm -rf cil updata"); 12 | 13 | printf("更新完成且cil已可全局使用!!\n"); 14 | 15 | 16 | } -------------------------------------------------------------------------------- /auto/lib/curses/conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/auto/lib/curses/conf -------------------------------------------------------------------------------- /auto/lib/curses/make: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/auto/lib/curses/make -------------------------------------------------------------------------------- /cil: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/cil -------------------------------------------------------------------------------- /cil.repo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/cil.repo -------------------------------------------------------------------------------- /cil.spec: -------------------------------------------------------------------------------- 1 | Summary: A short description of your software 2 | Name: mysoftware 3 | Version: 1.0 4 | Release: 1%{?dist} 5 | License: GPL 6 | Group: Development/Tools 7 | Source: %{name}-%{version}.tar.gz 8 | BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot 9 | %description 10 | A detailed description of your software. 11 | 12 | %prep 13 | %setup -q 14 | 15 | %build 16 | make 17 | 18 | %install 19 | make DESTDIR=%{buildroot} install 20 | 21 | %clean 22 | rm -rf %{buildroot} 23 | 24 | %files 25 | %defattr(-,root,root,-) 26 | %doc README.txt LICENSE.txt 27 | %{_bindir}/mysoftware 28 | 29 | %changelog 30 | * Tue Dec 31 2013 Your Name - 1.0-1 31 | - Initial release. -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (C) liheng 4 | 5 | 6 | 7 | LC_ALL=C 8 | export LC_ALL 9 | 10 | -------------------------------------------------------------------------------- /figlet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/figlet -------------------------------------------------------------------------------- /fonts/bubble.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/fonts/bubble.flf -------------------------------------------------------------------------------- /fonts/digital.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/fonts/digital.flf -------------------------------------------------------------------------------- /fonts/term.flf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/fonts/term.flf -------------------------------------------------------------------------------- /home/_astro/Blog.CzbR5YfR.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{m as s}from"./motion.DIEilGlj.js";import"./index.DhYZZe0J.js";const i={src:"/_astro/blog1.CivBcP1Y.png",width:1792,height:1024,format:"png"},r={src:"/_astro/blog2.BsuPzAat.png",width:1024,height:1024,format:"png"},n={src:"/_astro/blog3.BedtnBGo.png",width:1024,height:1024,format:"png"},l=[{title:"AI and Machine Learning",subtitle:"Discover insights and trends in the world of data analytics. Delve into how AI and machine learning are revolutionizing industries",image:i.src},{title:"Data-Driven Analytics",subtitle:"Explore the impact of AI and ML on data analytics.",image:r.src},{title:"Real-Time Data Processing",subtitle:"Learn about the importance of processing real-time.",image:n.src}],c=()=>e.jsxs("section",{className:"w-screen flex justify-center bg-bgDark2 relative ",children:[e.jsx("div",{className:"absolute -top-16",id:"blog"}),e.jsx("div",{className:"pb-0 pt-4 bg-bgDark2 2xl:w-[1200px] lg:w-[1000px] xl:w-[1150px] ",children:e.jsx(s.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsxs("div",{className:"container px-4 mb-20",children:[e.jsxs("div",{className:"max-w-2xl text-center lg:text-left mb-16 mx-auto lg:ml-0 lg:mr-0",children:[e.jsx("span",{className:"block-subtitle",children:"Our Blog"}),e.jsx("h2",{className:"mt-6 mb-6 text-4xl lg:text-5xl font-bold font-heading text-primaryText",children:"Latest Insights"}),e.jsx("p",{className:"mb-6 text-secondaryText",children:"Stay updated with the latest trends and insights in our industry."})]}),e.jsxs("div",{className:"flex 2xl:w-[1200px] lg:w-[1000px] xl:w-[1150px] flex-wrap -mx-4 items-start h-auto sm:h-[30rem] lg:h-[31rem] xl:h-[35rem]",children:[e.jsx("div",{className:"flex sm:hidden lg:flex w-11/12 mx-auto sm:ml-0 sm:mr-0 lg:w-1/2 xl:w-3/5 px-4 mb-8 lg:mb-0 h-full",children:e.jsx("a",{href:"/blog/article",children:e.jsxs("div",{className:"p-6 sm:p-10 bg-bgDark3 rounded-3xl h-full hover:bg-bgDark3Hover transition cursor-pointer",children:[e.jsx("img",{src:l[0].image,alt:l[0].title,className:"rounded-3xl mb-6 w-full","aria-label":l[0].title}),e.jsx("h3",{className:"mb-4 text-2xl font-bold font-heading text-primaryText",children:l[0].title}),e.jsx("p",{className:"text-secondaryText leading-loose",children:l[0].subtitle})]})})}),e.jsx("div",{className:"hidden sm:flex mx-auto lg:ml-0 lg:mr-0 w-11/12 sm:w-4/5 lg:w-1/2 xl:w-2/5 px-4 flex-col justify-between h-full",children:l.slice(1).map((t,a)=>e.jsxs("a",{href:"/blog/article",className:` flex gap-4 p-10 bg-bgDark3 rounded-3xl min-h-1/2 h-1/2 max-h-[47%]\r 2 | hover:bg-bgDark3Hover transition cursor-pointer`,children:[e.jsxs("div",{className:"pt-2",children:[e.jsx("h3",{className:"mb-4 text-xl font-bold font-heading text-primaryText",children:t.title}),e.jsx("p",{className:"text-secondaryText leading-loose",children:t.subtitle})]}),e.jsx("img",{src:t.image,alt:t.title,className:"rounded-3xl mb-6 w-[9rem] h-[9rem] lg:w-auto lg:h-auto xl:w-full","aria-label":t.title})]},`${t.title}-${a}`))})]})]})})})]});export{c as Blog}; 3 | -------------------------------------------------------------------------------- /home/_astro/CheckArrowIcon.CxGWFn1k.js: -------------------------------------------------------------------------------- 1 | import{j as s}from"./jsx-runtime.7faW4zRM.js";const r=()=>s.jsx("div",{className:"rounded-full bg-transparent w-5 h-5 flex justify-center items-center mr-4",children:s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",width:"20px",height:"20px",className:"fill-secondaryColor",children:s.jsx("path",{d:"M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})})});export{r as C}; 2 | -------------------------------------------------------------------------------- /home/_astro/FAQ.GKwlVlK_.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r}from"./index.DhYZZe0J.js";import{m as i}from"./motion.DIEilGlj.js";const l=[{question:"Can I upgrade or downgrade my plan at any time?",answer:"Yes, you can easily upgrade or downgrade your plan at any time. Simply navigate to the account settings in your dashboard and choose the desired plan. The changes will be reflected immediately, and any adjustments in pricing will be applied on your next billing cycle. Our support team is more than happy to provide guidance and recommendations."},{question:"How to claim your 25% discount offer?",answer:"To claim your 25% discount, simply sign up for an account and enter the promotional code at checkout. The discount will be applied automatically to your purchase."},{question:"What's your refund policy?",answer:"We offer a 30-day money-back guarantee on all our plans. If you're not satisfied with our product, simply contact our support team within 30 days of purchase for a full refund."},{question:"How to get support for the product?",answer:"Our dedicated support team is here to help. You can reach out to us through the contact form on our website, send an email, or engage with us via live chat. We'll be happy to assist you with any questions or concerns you may have"}],m=()=>e.jsxs("section",{className:"relative -mt-8 sm:mt-0 pt-12 sm:pt-16 pb-16 bg-blueGray-50 overflow-hidden",children:[e.jsx("div",{className:"absolute -top-10",id:"FAQ"}),e.jsx(i.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsx("div",{className:"relative z-10 container px-2 sm:px-8 lg:px-4 mx-auto w-11/12 sm:w-full",children:e.jsxs("div",{className:"md:max-w-4xl mx-auto",children:[e.jsx("p",{className:"mb-7 block-subtitle text-center",children:"Have any questions?"}),e.jsx("h2",{className:"mb-16 block-big-title text-center",children:"Frequently Asked Questions"}),e.jsx("div",{className:"mb-11 flex flex-wrap -m-1",children:l.map((t,a)=>e.jsx("div",{className:"w-full p-1",children:e.jsx(c,{title:t.question,content:t.answer,defaultOpen:a===0},`${t.question}-${t.answer}`)},`${t.question}-${a}`))})]})})})]}),c=({defaultOpen:t,title:a,content:o})=>{const[s,n]=r.useState(t);return e.jsxs("div",{className:"pt-2 sm:pt-6 pb-2 px-3 sm:px-8 rounded-3xl bg-bgDark3 main-border-gray-darker mb-4 relative hover:bg-bgDark3Hover cursor-pointer transition",onClick:()=>n(!s),children:[e.jsxs("div",{className:"flex flex-col p-2 justify-center items-start",children:[e.jsx("h3",{className:" content-title pt-3 sm:pt-0 pr-8 sm:pr-0",children:a}),e.jsx("p",{className:`text-secondaryText pt-4 transition-height duration-300 overflow-hidden ${s?"max-h-96":"max-h-0"}`,children:o})]}),e.jsx("div",{className:"absolute top-6 right-4 sm:top-8 sm:right-8",children:e.jsx("svg",{width:"28px",height:"30px",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:`transition-all duration-500 ${s?"rotate-[180deg]":"rotate-[270deg]"}`,children:e.jsx("path",{d:"M4.16732 12.5L10.0007 6.66667L15.834 12.5",stroke:"#4F46E5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]})};export{m as FAQ}; 2 | -------------------------------------------------------------------------------- /home/_astro/Features1.YojVybgf.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{C as a}from"./CheckArrowIcon.CxGWFn1k.js";import{m as s}from"./motion.DIEilGlj.js";import"./index.DhYZZe0J.js";const l={src:"/_astro/feature1.CzWyNRQ6.jpg",width:355,height:351,format:"png"},r={src:"/_astro/feature2.DrnEVr6_.jpg",width:351,height:351,format:"png"},t={src:"/_astro/feature3.BDhSYK7X.jpg",width:351,height:349,format:"png"},i={src:"/_astro/feature4.Bl4cjQX_.jpg",width:351,height:348,format:"png"},o=()=>e.jsx("section",{className:"w-full bg-bgDark2 pt-24 -mt-8 mb-8 sm:-mt-8 sm:mb-24 xl:-mt-8 2xl:mt-0 md:pt-[12vw] lg:pt-16",id:"features",children:e.jsx(s.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsxs("div",{className:"flex flex-wrap items-center 2xl:w-[1450px] xl:w-[1300px] w-11/12 mx-auto md:pl-4 xl:pr-16 xl:pl-16",children:[e.jsx("div",{className:"w-full lg:w-1/2 mb-12 lg:mb-0",children:e.jsxs("div",{className:"mx-auto lg:mx-auto w-11/12 sm:w-4/5 md:w-3/4 lg:w-unset",children:[e.jsx("span",{className:"block-subtitle",children:"Embrace Innovation"}),e.jsx("h2",{className:"mt-6 mb-8 text-4xl lg:text-5xl block-big-title",children:"Unlike any tool you used before"}),e.jsx("p",{className:"mb-10 text-secondaryText leading-loose",children:"Discover a new level of data analysis with our innovative and user-friendly platform. Transform your business needs with actionable insights."}),e.jsxs("ul",{className:"mb-6 text-primaryText",children:[e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(a,{}),e.jsx("span",{children:"Real-time data visualization"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(a,{}),e.jsx("span",{children:"Advanced predictive analytics"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(a,{}),e.jsx("span",{children:"Seamless integration with APIs"})]})]})]})}),e.jsxs("div",{className:"w-3/4 mx-auto lg:w-1/2 flex flex-wrap lg:-mx-4 sm:pr-8 lg:pt-10 justify-center lg:pl-4 xl:px-8",children:[e.jsxs("div",{className:"mb-8 lg:mb-0 w-full sm:w-1/2 px-2 lg:px-0",children:[e.jsx("div",{className:"mb-4 py-3 pl-3 pr-2 rounded",children:e.jsx("img",{src:l.src,alt:"Feature image 1",className:"rounded-xl main-border-gray mx-auto sm:mx-unset","aria-label":"Feature image 1"})}),e.jsx("div",{className:"py-3 pl-3 pr-2 rounded ",children:e.jsx("img",{src:r.src,alt:"Feature image 2",className:"rounded-xl main-border-gray mx-auto sm:mx-unset","aria-label":"Feature image 2"})})]}),e.jsxs("div",{className:"w-1/2 lg:mt-20 pt-12 lg:pt-0 px-2 hidden sm:inline-block",children:[e.jsx("div",{className:"mb-4 py-3 pl-3 pr-2 rounded-lg ",children:e.jsx("img",{src:t.src,alt:"Feature image 3",className:"rounded-xl main-border-gray","aria-label":"Feature image 3"})}),e.jsx("div",{className:"py-3 pl-3 pr-2 rounded-lg ",children:e.jsx("img",{src:i.src,alt:"Feature image 4",className:"rounded-xl main-border-gray","aria-label":"Feature image 4"})})]})]})]})})});export{o as Features1}; 2 | -------------------------------------------------------------------------------- /home/_astro/Features2.Dy1YAtHV.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{C as s}from"./CheckArrowIcon.CxGWFn1k.js";import{m as l}from"./motion.DIEilGlj.js";import"./index.DhYZZe0J.js";const a={src:"/_astro/feature5.CXfXwEaP.jpg",width:504,height:277,format:"png"},i={src:"/_astro/feature6.BY2O3PWM.jpg",width:505,height:273,format:"png"},o=()=>e.jsx("section",{className:"w-full bg-bgDark2 mt-12 sm:mt-24 mb-12 lg:my-20 lg:mb-24 pt-4",children:e.jsx(l.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsxs("div",{className:"flex flex-wrap items-center 2xl:w-[1450px] xl:w-[1300px] w-11/12 mx-auto md:pl-4 xl:pr-16 xl:pl-16",children:[e.jsx("div",{className:"w-11/12 sm:w-3/4 mx-auto lg:w-1/2 flex flex-wrap lg:-mx-4 sm:pr-8 justify-center order-last lg:order-first",children:e.jsxs("div",{className:"mb-8 lg:mb-0 w-full px-2 lg:pl-16 flex flex-col justify-center md:pl-8",children:[e.jsx("div",{className:"mb-4 py-3 md:pl-3 md:pr-20 lg:pr-12 rounded",children:e.jsx("img",{src:a.src,alt:"Feature image 5",className:"rounded-xl main-border-gray"})}),e.jsx("div",{className:"py-3 md:pl-20 lg:pl-12 md:pr-2 rounded ",children:e.jsx("img",{src:i.src,alt:"Feature image 6",className:"rounded-xl main-border-gray"})})]})}),e.jsx("div",{className:"w-full lg:w-1/2 mb-12 lg:mb-0 xl:pl-8",children:e.jsxs("div",{className:"mx-auto lg:mx-auto w-11/12 sm:w-4/5 md:w-3/4 lg:w-unset",children:[e.jsx("span",{className:"block-subtitle",children:"Make Data-Driven Decisions"}),e.jsx("h2",{className:"mt-6 mb-8 text-4xl lg:text-5xl block-big-title",children:"Issue tracking you’ll enjoy using"}),e.jsx("p",{className:"mb-12 text-secondaryText leading-loose",children:"Monitor and track data issues with ease using our intuitive and efficient issue tracking system. Stay ahead of potential problems and improve your workflow."}),e.jsxs("ul",{className:"mb-6 text-primaryText",children:[e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Collaborative environment"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Smart issue categorization"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Customizable notifications"})]})]})]})})]})})});export{o as Features2}; 2 | -------------------------------------------------------------------------------- /home/_astro/FeaturesDiagonal.xEtQiNik.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r as s}from"./index.DhYZZe0J.js";import{I as l}from"./InvitationModal.CJwUACTQ.js";import{m as r}from"./motion.DIEilGlj.js";import"./CheckArrowIcon.CxGWFn1k.js";import"./TailcastLogo.BM_u8Q9F.js";const i={src:"/_astro/featuresdiagonal.Odwo-D4x.jpg",width:788,height:536,format:"jpg"},p=()=>{const[a,t]=s.useState(!1);return e.jsxs("section",{className:"lg:mb-16 w-full flex flex-col justify-center items-center bg-bgDark1",children:[e.jsx("div",{className:"shape-divider-bottom-1665696614",children:e.jsx("svg",{"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1200 120",preserveAspectRatio:"none",className:"bg-bgDark2 fill-bgDark2",children:e.jsx("path",{d:"M1200 120L0 16.48 0 0 1200 0 1200 120z",className:"bg-bgDark1 fill-bgDark1"})})}),e.jsx(r.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsxs("div",{className:" 2xl:w-[1150px] xl:w-[1050px] md:w-4/5 flex justify-center bg-bgDark1 pt-12 lg:pt-24 pb-8 lg:pb-20 mx-auto lg:flex-row flex-col",children:[e.jsxs("div",{className:"w-3/4 lg:w-1/2 flex flex-col lg:mx-unset mx-auto",children:[e.jsx("span",{className:"block-subtitle",children:"Accelerate Your Success"}),e.jsx("h2",{className:"mt-10 mb-8 text-4xl lg:text-5xl block-big-title",children:"Build & Launch without problems"}),e.jsx("p",{className:"mb-16 text-secondaryText leading-loose",children:"Our platform enables you to launch your data-driven projects with ease. Boost productivity and achieve better results. Empower your decision-making with advanced analytics"}),e.jsx("button",{className:"w-[210px] h-12 contained-button mr-10 ",onClick:()=>t(!0),"aria-label":"Get started",children:"Get Started"})]}),e.jsx("div",{className:"w-4/5 lg:w-1/2 lg:pl-16 flex justify-center mx-auto pt-16 lg:pt-0",children:e.jsx("img",{src:i.src,alt:"Feature image",className:"rounded-xl main-border-gray"})})]})}),e.jsx("div",{className:"shape-divider-top-1665696661 w-full",children:e.jsx("svg",{"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1200 120",preserveAspectRatio:"none",className:"bg-bgDark2 fill-bgDark2",children:e.jsx("path",{d:"M1200 120L0 16.48 0 0 1200 0 1200 120z",className:"bg-bgDark1 fill-bgDark1"})})}),a&&e.jsx(l,{isOpen:a,setIsOpen:t})]})};export{p as FeaturesDiagonal}; 2 | -------------------------------------------------------------------------------- /home/_astro/Hero.CJvU5FJz.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r as a}from"./index.DhYZZe0J.js";import{I as r}from"./InvitationModal.CJwUACTQ.js";import{m as t}from"./motion.DIEilGlj.js";import"./CheckArrowIcon.CxGWFn1k.js";import"./TailcastLogo.BM_u8Q9F.js";const l={src:"/_astro/dashboard.CJUpUggb.jpg",width:1895,height:891,format:"png"},p=()=>{const[i,s]=a.useState(!1);return e.jsxs("section",{className:"w-screen flex justify-center items-center bg-bgDark1 mb-[28vw] md:mb-[18vw] lg:mb-[10vw] xl:mb-[13vw] 2xl:mb-60 hero-bg-gradient pb-24 sm:pb-32 md:pb-44 lg:pb-0",id:"home",children:[e.jsxs("div",{className:"w-full md:w-[800px] xl:w-[900px] flex flex-col justify-center items-center pt-16 md:pt-16 lg:pt-20 text-center",children:[e.jsx(t.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5},children:e.jsx("h3",{className:"text-secondaryColor text-sm sm:text-base mb-6 sm:mt-32 mt-16 font-bold",children:"Discover new data flow"})}),e.jsxs(t.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5,delay:.05},children:[e.jsxs("div",{className:"text-5xl sm:text-6xl lg:text-7xl xl:text-7xl font-bold tracking-wide text-primaryText px-8 sm:px-8 md:px-20 lg:px-4",children:[e.jsx("h1",{className:"inline md:hidden",children:"CmdUtils"}),e.jsx("h1",{className:"hidden md:inline",children:"Linux fast tools "})]}),e.jsx("h1",{className:"mt-2 sm:mt-2 text-4xl sm:text-6xl lg:text-7xl xl:text-7xl font-bold tracking-wide text-primaryText px-8 sm:px-20 md:px-24 lg:px-24",children:"for developers"})]}),e.jsx(t.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5,delay:.1},children:e.jsx("h2",{className:"text-secondaryText text-sm lg:text-base xl:text-lg sm:text-base mt-10 px-12 sm:px-48 ",children:"Experience seamless business integrations and powerful insights with our cutting-edge analytic tools."})}),e.jsx(t.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.5,delay:.15},children:e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row mt-14 mb-24 sm:mb-40 justify-center",children:[e.jsx("button",{className:"contained-button w-64 sm:w-52 h-12 mr-0 sm:mr-4 lg:mr-6 mb-2 sm:mb-0",onClick:()=>s(!0),"aria-label":"Get started",children:"Get Started"}),e.jsx("button",{className:"w-64 sm:w-52 h-12 rounded-xl font-bold text-primaryText border border-solid flex justify-center items-center cursor-pointer bg-bgDark2 hover:bg-bgDark3 border-primaryColor transition",onClick:()=>s(!0),"aria-label":"Live demo",children:"Live demo"})]})}),e.jsx(t.div,{initial:{opacity:0,y:10,zIndex:20},animate:{opacity:1,y:0,zIndex:20},transition:{duration:.5,delay:.15},children:e.jsx("div",{className:"relative w-screen flex justify-center ",children:e.jsx("img",{src:l.src,alt:"Dashboard image",className:"w-4/5 2xl:w-[1200px] mx-auto absolute z-10 rounded-xl main-border-gray hero-dashboard-border-gradient lg:top-6 xl:top-0"})})}),e.jsx("div",{className:"relative w-screen flex justify-center ",children:e.jsx("div",{className:"shape-divider-bottom-1665343298 mt-4 sm:mt-16 md:mt-52 hidden lg:block",children:e.jsx("svg",{"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1200 120",preserveAspectRatio:"none",className:"bg-bgDark2",children:e.jsx("path",{d:"M1200 0L0 0 598.97 114.72 1200 0z",className:"shape-fill bg-bgDark1 fill-bgDark1"})})})})]}),i&&e.jsx(r,{isOpen:i,setIsOpen:s})]})};export{p as Hero}; 2 | -------------------------------------------------------------------------------- /home/_astro/InvitationModal.CJwUACTQ.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{C as s}from"./CheckArrowIcon.CxGWFn1k.js";import{A as l,T as r}from"./TailcastLogo.BM_u8Q9F.js";import{m as a}from"./motion.DIEilGlj.js";const n=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",fill:"currentColor",children:e.jsx("path",{d:"M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"})}),m=({setIsOpen:t})=>e.jsx(l,{children:e.jsx(a.div,{initial:{opacity:0,zIndex:50},animate:{opacity:1,zIndex:50},transition:{duration:.1},exit:{opacity:0},children:e.jsx("div",{className:"w-full h-full bg-bgDarkTransparentDarker fixed top-0 left-0 flex z-50 justify-center items-center",onClick:()=>t(!1),children:e.jsx("div",{className:"w-full h-screen sm:h-auto sm:w-3/4 md:w-3/5 lg:w-[1000px] xl:w-[1100px] sm:rounded-2xl bg-bgDarkTransparentLighter main-border-gray-darker py-12 px-8 sm:px-16 backdrop-blur-xl fixed sm:mb-8 fixed mx-auto z-50",onClick:i=>i.stopPropagation(),children:e.jsxs("div",{className:"flex relative",children:[e.jsxs("div",{className:"w-1/2 hidden lg:inline",children:[e.jsx("h2",{className:"mt-6 mb-2 text-5xl font-bold tracking-normal text-primaryText",children:"Subscribe Now"}),e.jsx("h2",{className:"text-5xl font-bold tracking-normal text-secondaryColor",children:"Winter is coming"}),e.jsxs("ul",{className:"mb-6 text-primaryText mt-12",children:[e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Vestibulum viverra"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Morbi mollis metus pretium"})]}),e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(s,{}),e.jsx("span",{children:"Etiam lectus nunc, commodo"})]})]})]}),e.jsxs("div",{className:"w-full lg:w-1/2 flex items-center flex-col justify-center pt-24 sm:pt-0",children:[e.jsxs("div",{className:"flex inline lg:hidden justify-start items-center grow basis-0 mb-8 pr-6",children:[e.jsx("div",{className:"text-white mr-2 text-8xl",children:e.jsx(r,{})}),e.jsx("div",{className:"text-white font-['Inter'] font-bold text-3xl",children:"CmdUtils"})]}),e.jsx("h3",{className:"mb-7 text-2xl text-primaryText font-bold leading-snug text-center",children:"Join 3,953 other developers"}),e.jsxs("div",{className:"flex flex-wrap -m-2",children:[e.jsx("div",{className:"w-full sm:w-4/5 p-2 mx-auto",children:e.jsx("input",{className:"px-4 py-4 w-full text-gray-500 font-medium text-center placeholder-gray-500 outline-none border bg-gray-300 border-gray-300 rounded-lg focus:ring focus:ring-indigo-300",id:"newsletterInput3-1",type:"text",placeholder:"Your email address"})}),e.jsx("div",{className:"w-full sm:w-4/5 p-2 mt-4 mx-auto",children:e.jsx("button",{className:"py-4 px-6 w-full text-primaryText font-semibold rounded-xl shadow-4xl focus:ring focus:ring-indigo-300 bg-primaryColor hover:bg-[#7274f3] transition ease-in-out duration-200",type:"button","aria-label":"Join now",children:"Join Now"})})]})]}),e.jsx("div",{className:"fixed top-6 right-6 z-50 w-5 h-5 cursor-pointer text-[rgb(255,255,255,0.7)] hover:text-white transition",onClick:()=>t(!1),children:e.jsx(n,{})})]})})})})});export{m as I}; 2 | -------------------------------------------------------------------------------- /home/_astro/Navbar.46hrEXnf.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r as c}from"./index.DhYZZe0J.js";import{T as d,A as m}from"./TailcastLogo.BM_u8Q9F.js";import{m as i}from"./motion.DIEilGlj.js";const n=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 496 512",className:"w-6 h-6 mr-3 fill-gray-400",children:e.jsx("path",{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"})}),o=[{label:"Home",href:"/#home",ariaLabel:"Home"},{label:"Features",href:"/#features",ariaLabel:"Features"},{label:"Pricing",href:"/#pricing",ariaLabel:"Pricing"},{label:"Feedback",href:"/#feedback",ariaLabel:"Feedback"},{label:"FAQ",href:"/#FAQ",ariaLabel:"FAQ"}],g=()=>{const[r,s]=c.useState(!1);return e.jsxs("nav",{className:"w-full h-20 flex flex-col justify-center items-center fixed bg-bgDark1 lg:bg-bgDarkTransparent z-40 lg:backdrop-blur-xl","aria-label":"Main navigation",children:[e.jsxs("div",{className:"2xl:w-[1280px] xl:w-10/12 w-11/12 flex justify-between items-center relative",children:[e.jsx(i.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},exit:{opacity:0},children:e.jsx("a",{href:"/#home","aria-label":"Home",children:e.jsxs("div",{className:"flex justify-start items-center grow basis-0",children:[e.jsx("div",{className:"text-white mr-2 text-6xl",children:e.jsx(d,{})}),e.jsx("div",{className:"text-white font-['Inter'] font-bold text-xl",children:"CmdUtils"})]})})}),e.jsx(i.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},exit:{opacity:0},children:e.jsx("div",{className:"hidden lg:flex h-full pl-12 pb-2",children:o.map(({href:t,label:a,ariaLabel:l})=>e.jsx("a",{className:"text-white lg:text-base text-2xl leading-6 mr-4 ml-4 2xl:mr-6 2xl:ml-6 cursor-pointer font-normal lg:font-medium hover:scale-110 transition h-full pt-2",href:t,"aria-label":l,children:a},a))})}),e.jsx(i.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},exit:{opacity:0},children:e.jsx("div",{className:"grow basis-0 justify-end hidden lg:flex",children:e.jsxs("a",{className:`text-white main-border-gray rounded-xl\r 2 | bg-bgDark2 hover:bg-bgDark3 border-gray-700 pl-6 pr-8 pt-2 pb-2 text-sm flex`,href:"https://github.com/lmliheng/CmdUtils",target:"_blank","aria-label":"source code",children:[e.jsx(n,{}),e.jsx("span",{className:"pt-px",children:"Source code"})]})})}),e.jsxs("div",{className:"lg:hidden flex flex-col px-2 py-3 border-solid border border-gray-600 rounded-md cursor-pointer hover:bg-bgDark2",onClick:()=>s(!r),children:[e.jsx("div",{className:"w-5 h-0.5 bg-gray-500 mb-1"}),e.jsx("div",{className:"w-5 h-0.5 bg-gray-500 mb-1"}),e.jsx("div",{className:"w-5 h-0.5 bg-gray-500 "})]})]}),e.jsx(m,{children:r&&e.jsx(i.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.3},exit:{opacity:0},children:e.jsxs("div",{className:`flex flex-col mt-16 lg:hidden absolute top-4 left-0 bg-bgDark1 z-50 w-full \r 3 | items-center gap-10 pb-10 border-y border-solid border-bgDark3 pt-10\r 4 | `,children:[o.map(({label:t,href:a,ariaLabel:l})=>e.jsx("a",{className:"text-white lg:text-base text-2xl leading-6 mr-4 ml-4 2xl:mr-6 2xl:ml-6 cursor-pointer font-normal lg:font-medium hover:scale-110 transition duration-300 h-full pt-2",href:a,onClick:()=>s(!1),"aria-label":l,children:t},a)),e.jsxs("a",{className:"outlined-button pl-6 pr-8 pt-2 pb-2 flex",href:"https://github.com/lmliheng/CmdUtils",target:"_blank",children:[e.jsx(n,{}),"Source code"]})]})})})]})};export{g as Navbar}; 5 | -------------------------------------------------------------------------------- /home/_astro/Pricing.B87mCdZu.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r as x}from"./index.DhYZZe0J.js";import{I as d}from"./InvitationModal.CJwUACTQ.js";import{C as r}from"./CheckArrowIcon.CxGWFn1k.js";import{m as c}from"./motion.DIEilGlj.js";import"./TailcastLogo.BM_u8Q9F.js";const n=["Seamless integration","Real-time data visualization","Advanced predictive analytics","Collaborative environment","Responsive customer support"],g=()=>{const[t,o]=x.useState(!0),[i,l]=x.useState(!1),m=()=>{o(!t)};return e.jsxs("section",{className:"w-screen flex justify-center bg-bgDark2 relative",children:[e.jsx("div",{className:"absolute -top-16",id:"pricing"}),e.jsx("div",{className:"pb-20 pt-12 bg-bgDark2 2xl:w-[1150px] lg:w-[1050px] md:w-4/5 ",children:e.jsx(c.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.5,delay:.2},children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("div",{className:"max-w-2xl mx-auto text-center mb-16",children:[e.jsx("span",{className:"block-subtitle",children:"Find Your Perfect Fit"}),e.jsx("h2",{className:"mt-6 mb-6 text-4xl lg:text-5xl font-bold font-heading text-primaryText",children:"Choose your best plan"}),e.jsx("p",{className:"mb-6 text-secondaryText",children:"Select the plan that suits your needs and benefit from our analytics tools."}),e.jsxs("label",{className:"mx-auto bg-bgDark3 relative flex justify-between items-center group text-xl w-44 h-12 rounded-lg pr-36 pl-1 cursor-pointer",children:[e.jsx("input",{type:"checkbox",className:"peer appearance-none",checked:!t,onChange:m}),e.jsx("span",{className:"h-8 w-[5.5rem] flex items-center pr-2 bg-bgDark3 after:rounded-lg duration-300 ease-in-out after:w-[30rem] after:h-10 after:bg-primaryColor after:shadow-md after:duration-300 peer-checked:after:translate-x-[5.5rem] cursor-pointer"}),e.jsxs("div",{className:"flex absolute text-primaryText text-sm font-bold",children:[e.jsx("div",{className:t?"mr-9 ml-3":"mr-9 ml-3 text-gray-400",children:"Monthly"}),e.jsx("div",{className:t?"text-gray-400":"",children:"Yearly"})]})]})]}),e.jsxs("div",{className:"flex flex-wrap flex-col lg:flex-row -mx-4 items-center mt-20",children:[e.jsx("div",{className:"w-[350px] sm:w-[380px] lg:w-1/3 px-4 mb-8 lg:mb-0",children:e.jsxs("div",{className:"p-8 bg-bgDark3 rounded-3xl",children:[e.jsx("h3",{className:"mb-2 text-xl font-bold font-heading text-primaryText text-left",children:"Beginner"}),e.jsxs("div",{className:"flex justify-start items-end",children:[e.jsx("div",{className:"text-4xl sm:text-5xl font-bold text-primaryText text-left mt-4 mr-2",children:"$0"}),e.jsx("div",{className:"text-gray-500",children:t?"/ month":"/ year"})]}),e.jsx("p",{className:"mt-4 mb-6 2xl:mb-10 text-gray-500 leading-loose text-left",children:"The perfect way to get started and get used to our tools."}),e.jsx("ul",{className:"mb-2 2xl:mb-6 text-primaryText",children:n.map((s,a)=>e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(r,{}),e.jsx("span",{children:s})]},`${s}-${a}`))}),e.jsx("button",{className:"inline-block text-center py-2 px-4 w-full rounded-xl rounded-t-xl contained-button font-bold leading-loose mt-16",onClick:()=>l(!0),"aria-label":"Get started",children:"Get Started"})]})}),e.jsx("div",{className:"w-[350px] sm:w-[380px] lg:w-1/3 px-4 mb-8 lg:mb-0",children:e.jsxs("div",{className:"px-8 py-8 bg-bgDark3 rounded-3xl",children:[e.jsx("h3",{className:"mb-2 2xl:mb-4 text-2xl font-bold font-heading text-primaryText text-left",children:"Standard"}),e.jsxs("div",{className:"flex justify-start items-end",children:[e.jsx("div",{className:"text-4xl sm:text-5xl font-bold text-primaryText text-left mt-4 mr-2",children:t?"$19":"$180"}),e.jsx("div",{className:"text-gray-500",children:t?"/ month":"/ year"})]}),e.jsx("p",{className:"mt-8 mb-8 2xl:mb-12 text-gray-500 leading-loose text-left",children:"Unlock more features and elevate your data analysis."}),e.jsx("ul",{className:"mb-14 text-primaryText",children:n.map((s,a)=>e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(r,{}),e.jsx("span",{children:s})]},`${s}-${a}`))}),e.jsx("button",{className:"inline-block text-center py-2 px-4 w-full contained-button leading-loose transition duration-200 mt-20",onClick:()=>l(!0),"aria-label":"Get started",children:"Get Started"})]})}),e.jsx("div",{className:"w-[350px] sm:w-[380px] lg:w-1/3 px-4 mb-8 lg:mb-0",children:e.jsxs("div",{className:"p-8 bg-bgDark3 rounded-3xl",children:[e.jsx("h3",{className:"mb-2 text-xl font-bold font-heading text-primaryText text-left",children:"Premium"}),e.jsxs("div",{className:"flex justify-start items-end",children:[e.jsx("div",{className:"text-4xl sm:text-5xl font-bold text-primaryText text-left mt-4 mr-2",children:t?"$36":"$390"}),e.jsx("div",{className:"text-gray-500",children:t?"/ month":"/ year"})]}),e.jsx("p",{className:"mt-4 mb-6 2xl:mb-10 text-gray-500 leading-loose text-left",children:"Experience the full power of our analytic platform"}),e.jsx("ul",{className:"mb-2 2xl:mb-6 text-primaryText",children:n.map((s,a)=>e.jsxs("li",{className:"mb-4 flex",children:[e.jsx(r,{}),e.jsx("span",{children:s})]},`${s}-${a}`))}),e.jsx("button",{className:"inline-block text-center py-2 px-4 w-full rounded-xl rounded-t-xl contained-button font-bold leading-loose mt-16",onClick:()=>l(!0),"aria-label":"Get started",children:"Get Started"})]})})]})]})})}),i&&e.jsx(d,{isOpen:i,setIsOpen:l})]})};export{g as Pricing}; 2 | -------------------------------------------------------------------------------- /home/_astro/ScrollUpButton.BD0-oT8M.js: -------------------------------------------------------------------------------- 1 | import{j as o}from"./jsx-runtime.7faW4zRM.js";import{r}from"./index.DhYZZe0J.js";const a=()=>{const[s,e]=r.useState(!1);r.useEffect(()=>{window.addEventListener("scroll",i)},[]);const i=()=>{const t=document.documentElement.scrollTop;t>300?e(!0):t<=300&&e(!1)},n=()=>{window.scrollTo({top:0,behavior:"smooth"})};return o.jsx(o.Fragment,{children:s&&o.jsx("button",{className:"w-12 h-12 fixed bottom-6 right-6 main-border-gray rounded-xl bg-bgDark2 hover:bg-bgDark3 cursor-pointer flex justify-center items-center transition z-50",onClick:n,"aria-label":"Scroll to top",children:o.jsx("svg",{fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"35px",height:"35px",viewBox:"0 0 20 20",children:o.jsx("path",{d:"M4.16732 12.5L10.0007 6.66667L15.834 12.5",stroke:"rgb(99, 102, 241)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})})};export{a as ScrollUpButton}; 2 | -------------------------------------------------------------------------------- /home/_astro/TailcastLogo.BM_u8Q9F.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{r as n}from"./index.DhYZZe0J.js";import{u as v,f as $,M as k,a as O,P as T,L as U}from"./motion.DIEilGlj.js";function P(){const r=n.useRef(!1);return v(()=>(r.current=!0,()=>{r.current=!1}),[]),r}function b(){const r=P(),[i,t]=n.useState(0),l=n.useCallback(()=>{r.current&&t(i+1)},[i]);return[n.useCallback(()=>$.postRender(l),[l]),i]}class H extends n.Component{getSnapshotBeforeUpdate(i){const t=this.props.childRef.current;if(t&&i.isPresent&&!this.props.isPresent){const l=this.props.sizeRef.current;l.height=t.offsetHeight||0,l.width=t.offsetWidth||0,l.top=t.offsetTop,l.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function D({children:r,isPresent:i}){const t=n.useId(),l=n.useRef(null),x=n.useRef({width:0,height:0,top:0,left:0}),{nonce:d}=n.useContext(k);return n.useInsertionEffect(()=>{const{width:u,height:c,top:m,left:p}=x.current;if(i||!l.current||!u||!c)return;l.current.dataset.motionPopId=t;const s=document.createElement("style");return d&&(s.nonce=d),document.head.appendChild(s),s.sheet&&s.sheet.insertRule(` 2 | [data-motion-pop-id="${t}"] { 3 | position: absolute !important; 4 | width: ${u}px !important; 5 | height: ${c}px !important; 6 | top: ${m}px !important; 7 | left: ${p}px !important; 8 | } 9 | `),()=>{document.head.removeChild(s)}},[i]),e.jsx(H,{isPresent:i,childRef:l,sizeRef:x,children:n.cloneElement(r,{ref:l})})}const g=({children:r,initial:i,isPresent:t,onExitComplete:l,custom:x,presenceAffectsLayout:d,mode:u})=>{const c=O(S),m=n.useId(),p=n.useMemo(()=>({id:m,initial:i,isPresent:t,custom:x,onExitComplete:s=>{c.set(s,!0);for(const f of c.values())if(!f)return;l&&l()},register:s=>(c.set(s,!1),()=>c.delete(s))}),d?[Math.random()]:[t]);return n.useMemo(()=>{c.forEach((s,f)=>c.set(f,!1))},[t]),n.useEffect(()=>{!t&&!c.size&&l&&l()},[t]),u==="popLayout"&&(r=e.jsx(D,{isPresent:t,children:r})),e.jsx(T.Provider,{value:p,children:r})};function S(){return new Map}function A(r){return n.useEffect(()=>()=>r(),[])}const h=r=>r.key||"";function G(r,i){r.forEach(t=>{const l=h(t);i.set(l,t)})}function V(r){const i=[];return n.Children.forEach(r,t=>{n.isValidElement(t)&&i.push(t)}),i}const J=({children:r,custom:i,initial:t=!0,onExitComplete:l,exitBeforeEnter:x,presenceAffectsLayout:d=!0,mode:u="sync"})=>{const c=n.useContext(U).forceRender||b()[0],m=P(),p=V(r);let s=p;const f=n.useRef(new Map).current,y=n.useRef(s),j=n.useRef(new Map).current,C=n.useRef(!0);if(v(()=>{C.current=!1,G(p,j),y.current=s}),A(()=>{C.current=!0,j.clear(),f.clear()}),C.current)return e.jsx(e.Fragment,{children:s.map(o=>e.jsx(g,{isPresent:!0,initial:t?void 0:!1,presenceAffectsLayout:d,mode:u,children:o},h(o)))});s=[...s];const L=y.current.map(h),M=p.map(h),I=L.length;for(let o=0;o{if(M.indexOf(a)!==-1)return;const R=j.get(a);if(!R)return;const B=L.indexOf(a);let F=o;if(!F){const K=()=>{f.delete(a);const E=Array.from(j.keys()).filter(z=>!M.includes(z));if(E.forEach(z=>j.delete(z)),y.current=p.filter(z=>{const w=h(z);return w===a||E.includes(w)}),!f.size){if(m.current===!1)return;c(),l&&l()}};F=e.jsx(g,{isPresent:!1,onExitComplete:K,custom:i,presenceAffectsLayout:d,mode:u,children:R},h(R)),f.set(a,F)}s.splice(B,0,F)}),s=s.map(o=>{const a=o.key;return f.has(a)?o:e.jsx(g,{isPresent:!0,presenceAffectsLayout:d,mode:u,children:o},h(o))}),e.jsx(e.Fragment,{children:f.size?s:s.map(o=>n.cloneElement(o))})},N=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"40",height:"58",viewBox:"0 0 256 178",children:e.jsxs("g",{fill:"none",children:[e.jsx("path",{fill:"#FF4081",d:"M153.6 177.98L51.193.605H102.4L204.807 177.98z"}),e.jsx("path",{fill:"#FFF","fill-opacity":".2",d:"m153.6 177.98l25.6-44.344l25.607 44.344z"}),e.jsx("path",{fill:"#FFF","fill-opacity":".1",d:"m128 133.636l25.6 44.344l25.6-44.344z"}),e.jsx("path",{fill:"#000","fill-opacity":".1",d:"m102.4 89.292l25.6 44.344l25.6-44.344z"}),e.jsx("path",{fill:"#000","fill-opacity":".2",d:"M102.4 89.292L128 44.948l25.6 44.344z"}),e.jsx("path",{fill:"#000","fill-opacity":".3",d:"m76.8 44.948l25.6 44.344L128 44.948z"}),e.jsx("path",{fill:"#000","fill-opacity":".4",d:"M76.8 44.948L102.4.605L128 44.948z"}),e.jsx("path",{fill:"#000","fill-opacity":".5",d:"M51.193.605L76.8 44.948L102.4.605z"}),e.jsx("path",{fill:"#536DFE",d:"M51.194 177.98L-.013 89.292L25.593 44.95L102.4 177.98H51.193"}),e.jsx("path",{fill:"#FFF","fill-opacity":".2",d:"M51.194 177.98L76.8 133.636l25.6 44.344z"}),e.jsx("path",{fill:"#FFF","fill-opacity":".1",d:"m25.593 133.636l25.6 44.344L76.8 133.636z"}),e.jsx("path",{d:"m25.593 133.636l25.6-44.344L76.8 133.636z"}),e.jsx("path",{fill:"#000","fill-opacity":".1",d:"m-.013 89.292l25.606 44.344l25.6-44.344z"}),e.jsx("path",{fill:"#000","fill-opacity":".2",d:"M-.013 89.292L25.593 44.95l25.6 44.343z"}),e.jsx("path",{fill:"#303F9F",d:"m51.193 89.292l-25.6-44.344L51.193.605L76.8 44.948z"}),e.jsx("path",{fill:"#000","fill-opacity":".2",d:"M76.8 44.948L51.193.605l-25.6 44.343z"}),e.jsx("path",{fill:"#3F51B5",d:"m204.806 177.98l-25.607-44.344l25.607-44.343l25.6 44.343z"}),e.jsx("path",{fill:"#000","fill-opacity":".2",d:"m230.406 133.636l-25.6 44.344l-25.607-44.344z"}),e.jsx("path",{fill:"#7986CB",d:"M230.407 133.636L153.6.605h51.207l51.207 88.687z"}),e.jsx("path",{fill:"#FFF","fill-opacity":".2",d:"m204.806 89.292l25.6 44.344l25.607-44.344z"}),e.jsx("path",{fill:"#FFF","fill-opacity":".1",d:"m204.806 89.292l25.6-44.344l25.607 44.344z"}),e.jsx("path",{fill:"#000","fill-opacity":".1",d:"M179.2 44.948L204.806.605l25.6 44.343z"}),e.jsx("path",{fill:"#000","fill-opacity":".2",d:"m153.6.605l25.6 44.343L204.808.605z"})]})});export{J as A,N as T}; 10 | -------------------------------------------------------------------------------- /home/_astro/Testimonials.Byk7BMrU.js: -------------------------------------------------------------------------------- 1 | import{j as e}from"./jsx-runtime.7faW4zRM.js";import{m as i}from"./motion.DIEilGlj.js";import"./index.DhYZZe0J.js";const a=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",className:"fill-quoteIconColor",width:"35px",children:e.jsx("path",{d:"M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320 288 216z"})}),o={src:"/_astro/testimonial1.SejLjzBe.png",width:46,height:46,format:"png"},n={src:"/_astro/testimonial2.BHlnIVkU.png",width:46,height:46,format:"png"},l={src:"/_astro/testimonial3.BwLG7L0d.png",width:46,height:46,format:"png"},c=[{customerName:"John Watkins",customerTitle:"Founder of Dashflow",content:"The powerful analytic tools have helped us streamline our processes and make data-driven decisions that positively impact our efficiency. Tailcast has been a game-changer for our business. The platform is easy to use, and the insights we've gained have driven significant improvements.",image:o},{customerName:"John Watkins",customerTitle:"Founder of Dashflow",content:"The powerful analytic tools have helped us streamline our processes and make data-driven decisions that positively impact our efficiency. Tailcast has been a game-changer for our business. The platform is easy to use, and the insights we've gained have driven significant improvements.",image:n},{customerName:"John Watkins",customerTitle:"Founder of Dashflow",content:"The powerful analytic tools have helped us streamline our processes and make data-driven decisions that positively impact our efficiency. Tailcast has been a game-changer for our business. The platform is easy to use, and the insights we've gained have driven significant improvements.",image:l}],h=()=>e.jsxs("section",{className:"w-full flex justify-center pt-16 mb-16 lg:mb-32 bg-bgDark2 relative",children:[e.jsx("div",{className:"absolute -top-16",id:"feedback"}),e.jsx("div",{className:"flex flex-col w-full lg:w-[1150px] justify-center",children:e.jsxs(i.div,{initial:{opacity:0},whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.4,delay:.3},children:[e.jsx("div",{className:"block-subtitle text-center mb-6",children:"Testimonials"}),e.jsx("div",{className:"block-big-title text-center mb-20 px-8 sm:px-24 md:px-48",children:"People like you love CmdUtils"}),e.jsx("div",{className:"flex flex-col lg:flex-row gap-8 lg:gap-5 xl:gap-10 px-6 xl:px-0 items-center",children:c.map((s,t)=>e.jsxs("div",{className:"w-11/12 sm:w-4/5 md:w-[560px] lg:w-1/3 main-border-gray-darker rounded-xl bg-bgDark3 flex flex-col px-6 py-4",children:[e.jsx("div",{className:"flex mb-2",children:e.jsx(a,{})}),e.jsxs("div",{className:"content-text-white",children:['"',s.content,'"']}),e.jsxs("div",{className:"flex mt-4 mb-2 xl:mt-8 xl:mb-4",children:[e.jsx("div",{children:e.jsx("img",{src:s.image.src,alt:"Customer avatar",width:"45px",height:"5px","aria-label":s.customerName})}),e.jsxs("div",{className:"flex flex-col ml-4",children:[e.jsx("div",{className:"content-text-white font-medium",children:s.customerName}),e.jsx("div",{className:"content-text-gray",children:s.customerTitle})]})]})]},`${s.customerName}-${t}`))})]})})]});export{h as Testimonials}; 2 | -------------------------------------------------------------------------------- /home/_astro/blog1.CivBcP1Y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/blog1.CivBcP1Y.png -------------------------------------------------------------------------------- /home/_astro/blog1.UgsBnp9Y.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/blog1.UgsBnp9Y.jpg -------------------------------------------------------------------------------- /home/_astro/blog2.BsuPzAat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/blog2.BsuPzAat.png -------------------------------------------------------------------------------- /home/_astro/blog3.BedtnBGo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/blog3.BedtnBGo.png -------------------------------------------------------------------------------- /home/_astro/dashboard.CJUpUggb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/dashboard.CJUpUggb.jpg -------------------------------------------------------------------------------- /home/_astro/feature1.CzWyNRQ6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature1.CzWyNRQ6.jpg -------------------------------------------------------------------------------- /home/_astro/feature2.DrnEVr6_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature2.DrnEVr6_.jpg -------------------------------------------------------------------------------- /home/_astro/feature3.BDhSYK7X.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature3.BDhSYK7X.jpg -------------------------------------------------------------------------------- /home/_astro/feature4.Bl4cjQX_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature4.Bl4cjQX_.jpg -------------------------------------------------------------------------------- /home/_astro/feature5.CXfXwEaP.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature5.CXfXwEaP.jpg -------------------------------------------------------------------------------- /home/_astro/feature6.BY2O3PWM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/feature6.BY2O3PWM.jpg -------------------------------------------------------------------------------- /home/_astro/featuresdiagonal.Odwo-D4x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/featuresdiagonal.Odwo-D4x.jpg -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-400-normal.Df6ckaLK.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-400-normal.Df6ckaLK.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-400-normal.JrS_4yms.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-400-normal.JrS_4yms.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-500-normal.BRrLR67x.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-500-normal.BRrLR67x.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-500-normal.DskEQOpE.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-500-normal.DskEQOpE.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-600-normal.DDpWG8g5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-600-normal.DDpWG8g5.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-600-normal.iz1--dBq.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-600-normal.iz1--dBq.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-700-normal.6zNX8Blf.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-700-normal.6zNX8Blf.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-700-normal.DsxIEgNh.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-700-normal.DsxIEgNh.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-800-normal.Bw_Vu5Ee.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-800-normal.Bw_Vu5Ee.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-800-normal.C8nH20WF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-800-normal.C8nH20WF.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-900-normal.BG5v33Wi.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-900-normal.BG5v33Wi.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-900-normal.DtlToosL.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-900-normal.DtlToosL.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-400-normal.CzG7Kr3z.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-400-normal.CzG7Kr3z.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-400-normal.tyfMZHQw.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-400-normal.tyfMZHQw.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-500-normal.DOnSzjnx.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-500-normal.DOnSzjnx.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-500-normal.Xebo2OyJ.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-500-normal.Xebo2OyJ.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-600-normal.DpA2xaRd.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-600-normal.DpA2xaRd.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-600-normal.KAwcVx6H.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-600-normal.KAwcVx6H.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-700-normal.CAj4IH3j.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-700-normal.CAj4IH3j.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-700-normal.CMkYcdkw.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-700-normal.CMkYcdkw.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-800-normal.Cat3deYP.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-800-normal.Cat3deYP.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-800-normal.dIVUhhNV.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-800-normal.dIVUhhNV.woff -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-900-normal.CN3cujew.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-900-normal.CN3cujew.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-cyrillic-ext-900-normal.DVNhnXg3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-cyrillic-ext-900-normal.DVNhnXg3.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-400-normal.DQXyrmoy.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-400-normal.DQXyrmoy.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-400-normal.DvIPHDQ7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-400-normal.DvIPHDQ7.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-500-normal.BjpBGs91.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-500-normal.BjpBGs91.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-500-normal.CmOavsDc.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-500-normal.CmOavsDc.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-600-normal.B-l8Lzzd.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-600-normal.B-l8Lzzd.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-600-normal.BLZsI-P3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-600-normal.BLZsI-P3.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-700-normal.4IUP0jwf.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-700-normal.4IUP0jwf.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-700-normal.CmOaYR_c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-700-normal.CmOaYR_c.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-800-normal.Cs_VTgIm.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-800-normal.Cs_VTgIm.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-800-normal.D3g1mjIX.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-800-normal.D3g1mjIX.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-900-normal.CBSgWsEG.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-900-normal.CBSgWsEG.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-900-normal.DA9K28vX.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-900-normal.DA9K28vX.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-400-normal.CIdlr5YK.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-400-normal.CIdlr5YK.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-400-normal._Rr29XE2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-400-normal._Rr29XE2.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-500-normal.2pdUafRD.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-500-normal.2pdUafRD.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-500-normal.Dtavx3qw.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-500-normal.Dtavx3qw.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-600-normal.BmtRFZgT.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-600-normal.BmtRFZgT.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-600-normal.CkBLDEl_.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-600-normal.CkBLDEl_.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-700-normal.Cwql_mmq.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-700-normal.Cwql_mmq.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-700-normal.DqOFU2GX.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-700-normal.DqOFU2GX.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-800-normal.C1dxFMOn.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-800-normal.C1dxFMOn.woff -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-800-normal.D_pOHBce.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-800-normal.D_pOHBce.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-900-normal.D9CzSSR0.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-900-normal.D9CzSSR0.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-greek-ext-900-normal.rPRJRDrO.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-greek-ext-900-normal.rPRJRDrO.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-400-normal.BT1H-PT_.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-400-normal.BT1H-PT_.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-400-normal.Cdi8t5Mu.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-400-normal.Cdi8t5Mu.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-500-normal.D4I8BKCx.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-500-normal.D4I8BKCx.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-500-normal.kWhwEdDH.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-500-normal.kWhwEdDH.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-600-normal.B2Ssfs8e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-600-normal.B2Ssfs8e.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-600-normal.Dbvh0wvx.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-600-normal.Dbvh0wvx.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-700-normal.C2zfFY7I.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-700-normal.C2zfFY7I.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-700-normal.CHFldGL2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-700-normal.CHFldGL2.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-800-normal.CLqhIfb-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-800-normal.CLqhIfb-.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-800-normal.mdTeNKyI.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-800-normal.mdTeNKyI.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-900-normal.CcqMf2mW.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-900-normal.CcqMf2mW.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-900-normal.Cr0vH05x.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-900-normal.Cr0vH05x.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-400-normal.8tIzm-yw.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-400-normal.8tIzm-yw.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-400-normal.D3W-OpO-.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-400-normal.D3W-OpO-.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-500-normal.B9u8Q_zH.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-500-normal.B9u8Q_zH.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-500-normal.SuUkSNTU.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-500-normal.SuUkSNTU.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-600-normal.Dg0Bk0Yr.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-600-normal.Dg0Bk0Yr.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-600-normal.ao35dkSb.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-600-normal.ao35dkSb.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-700-normal.Bu7lG2nd.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-700-normal.Bu7lG2nd.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-700-normal.CAa3MqUt.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-700-normal.CAa3MqUt.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-800-normal.CIDt3IZN.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-800-normal.CIDt3IZN.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-800-normal.Q1lcP4yj.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-800-normal.Q1lcP4yj.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-900-normal.B5ldlAC-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-900-normal.B5ldlAC-.woff -------------------------------------------------------------------------------- /home/_astro/inter-latin-ext-900-normal.D3daLhYN.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-latin-ext-900-normal.D3daLhYN.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-400-normal.Cnt0N5Vm.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-400-normal.Cnt0N5Vm.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-400-normal.DIOGfGLL.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-400-normal.DIOGfGLL.woff -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-500-normal.0i6yoQMg.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-500-normal.0i6yoQMg.woff -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-500-normal.5IkPJ6Nk.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-500-normal.5IkPJ6Nk.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-600-normal.BQ_dbMbg.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-600-normal.BQ_dbMbg.woff -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-600-normal.DjnxGF-L.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-600-normal.DjnxGF-L.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-700-normal.ByO5Ry5o.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-700-normal.ByO5Ry5o.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-700-normal.Db0hjN_z.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-700-normal.Db0hjN_z.woff -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-800-normal.Br1KEVll.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-800-normal.Br1KEVll.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-800-normal.cw0-maV3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-800-normal.cw0-maV3.woff -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-900-normal.BR79VtJG.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-900-normal.BR79VtJG.woff2 -------------------------------------------------------------------------------- /home/_astro/inter-vietnamese-900-normal.P5U8xor3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/inter-vietnamese-900-normal.P5U8xor3.woff -------------------------------------------------------------------------------- /home/_astro/jsx-runtime.7faW4zRM.js: -------------------------------------------------------------------------------- 1 | import{r as l}from"./index.DhYZZe0J.js";var f={exports:{}},n={};/** 2 | * @license React 3 | * react-jsx-runtime.production.min.js 4 | * 5 | * Copyright (c) Facebook, Inc. and its affiliates. 6 | * 7 | * This source code is licensed under the MIT license found in the 8 | * LICENSE file in the root directory of this source tree. 9 | */var u=l,m=Symbol.for("react.element"),x=Symbol.for("react.fragment"),y=Object.prototype.hasOwnProperty,a=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v={key:!0,ref:!0,__self:!0,__source:!0};function i(t,r,p){var e,o={},s=null,_=null;p!==void 0&&(s=""+p),r.key!==void 0&&(s=""+r.key),r.ref!==void 0&&(_=r.ref);for(e in r)y.call(r,e)&&!v.hasOwnProperty(e)&&(o[e]=r[e]);if(t&&t.defaultProps)for(e in r=t.defaultProps,r)o[e]===void 0&&(o[e]=r[e]);return{$$typeof:m,type:t,key:s,ref:_,props:o,_owner:a.current}}n.Fragment=x;n.jsx=i;n.jsxs=i;f.exports=n;var d=f.exports;export{d as j}; 10 | -------------------------------------------------------------------------------- /home/_astro/testimonial1.SejLjzBe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/testimonial1.SejLjzBe.png -------------------------------------------------------------------------------- /home/_astro/testimonial2.BHlnIVkU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/testimonial2.BHlnIVkU.png -------------------------------------------------------------------------------- /home/_astro/testimonial3.BwLG7L0d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/home/_astro/testimonial3.BwLG7L0d.png -------------------------------------------------------------------------------- /home/favicon.svg: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /includes/ExamAll.h: -------------------------------------------------------------------------------- 1 | #ifndef EXAMALL_H 2 | #define EXAMALL_H 3 | 4 | void login_scripts(const char *script); 5 | 6 | #endif // EXAMALL_H -------------------------------------------------------------------------------- /includes/FileInfo.h: -------------------------------------------------------------------------------- 1 | #ifndef FILEINFO_H 2 | #define FILEINFO_H 3 | 4 | void PrintFileInfo(const char *script); 5 | 6 | #endif // FILEINFO_H -------------------------------------------------------------------------------- /includes/PrintColor.h: -------------------------------------------------------------------------------- 1 | #ifndef PRINT_COLOR_H 2 | #define PRINT_COLOR_H 3 | 4 | typedef enum { 5 | reset = 0, 6 | red, 7 | green, 8 | yellow, 9 | blue, 10 | magenta, 11 | cyan, 12 | white, 13 | count // 用于数组大小 14 | } Color; 15 | 16 | void color_printf(Color color, const char *format, ...); 17 | 18 | #endif // PRINT_COLOR_H -------------------------------------------------------------------------------- /includes/Version.h: -------------------------------------------------------------------------------- 1 | #ifndef VERSION_H 2 | #define VERSION__H 3 | 4 | 5 | void print_version(const char *script); 6 | 7 | #endif // VERSION__H -------------------------------------------------------------------------------- /includes/cmd_utils.h: -------------------------------------------------------------------------------- 1 | #ifndef CMD_UTILS_H 2 | #define CMD_UTILS_H 3 | 4 | void show_command_usage(const char *command); 5 | 6 | #endif // CMD_UTILS_H -------------------------------------------------------------------------------- /includes/install_utils.h: -------------------------------------------------------------------------------- 1 | #ifndef INSTALL_UTILS_H 2 | #define INSTALL_UTILS_H 3 | 4 | void install_scripts(const char *script); 5 | 6 | #endif // INSTALL_UTILS_H -------------------------------------------------------------------------------- /includes/print_figlet.h: -------------------------------------------------------------------------------- 1 | #ifndef PRINT_FIGLET_H 2 | #define PRINT_FIGLET_H 3 | 4 | void print_figlet(const char *script); 5 | 6 | #endif // PRINT_FIGLET_H -------------------------------------------------------------------------------- /includes/shell_utils.h: -------------------------------------------------------------------------------- 1 | #ifndef SHELL_UTILS_H 2 | #define shell_UTILS_H 3 | 4 | void shell_scripts(const char *script); 5 | 6 | #endif // shell_UTILS_H -------------------------------------------------------------------------------- /includes/updata_utils.h: -------------------------------------------------------------------------------- 1 | #ifndef UPDATA_UTILS_H 2 | #define UPDATA_UTILS_H 3 | 4 | void updata_scripts(const char *script); 5 | 6 | #endif // UPDATA_UTILS_H -------------------------------------------------------------------------------- /lib/libprintcolor.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/lib/libprintcolor.a -------------------------------------------------------------------------------- /objs/ExamAll.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/ExamAll.o -------------------------------------------------------------------------------- /objs/FileInfo.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/FileInfo.o -------------------------------------------------------------------------------- /objs/FileSize.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/FileSize.o -------------------------------------------------------------------------------- /objs/PrintColor.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/PrintColor.o -------------------------------------------------------------------------------- /objs/Version.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/Version.o -------------------------------------------------------------------------------- /objs/bootstrap.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/bootstrap.o -------------------------------------------------------------------------------- /objs/cmd_utils.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/cmd_utils.o -------------------------------------------------------------------------------- /objs/install_utils.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/install_utils.o -------------------------------------------------------------------------------- /objs/shell_utils.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/shell_utils.o -------------------------------------------------------------------------------- /objs/sl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/sl.o -------------------------------------------------------------------------------- /objs/updata_utils.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/objs/updata_utils.o -------------------------------------------------------------------------------- /release.md: -------------------------------------------------------------------------------- 1 | ## V3.40 发布了 2024-06-27 2 | 3 | - opt 4 | - fix 5 | - add 6 | 7 | 8 | ## V3.41 发布了 2024-07-01 9 | 10 | - add :系统服务注册 11 | 12 | 13 | 14 | ## V3.50 发布 15 | 16 | - add :增加`configure`的`shell检测脚本` 17 | - fix : 源代码与执行代码共存并解耦 18 | - add : 增加脚本库`auto`目录,实现跨平台安装:1.使用`source`脚本存储资源路径 19 | - fix : 安装流程: 源代码——>执行代码——>系统服务 -------------------------------------------------------------------------------- /shell/print.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/shell/print.sh -------------------------------------------------------------------------------- /src/FileManagement/FileCurl_no.c: -------------------------------------------------------------------------------- 1 | // 新增curl功能,作者覆写curl 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | // 回调函数,负责将接收到的数据写入文件 8 | static size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) 9 | { 10 | size_t written = fwrite(ptr, size, nmemb, stream); 11 | return written; 12 | } 13 | 14 | int main(int argc, char *argv[]) 15 | { 16 | CURL *curl; 17 | CURLcode res; 18 | 19 | if (argc < 2) 20 | { 21 | fprintf(stderr, "Usage: %s URL\n", argv[0]); 22 | return 1; 23 | } 24 | 25 | curl_global_init(CURL_GLOBAL_DEFAULT); 26 | curl = curl_easy_init(); 27 | 28 | if (curl) 29 | { 30 | // 设置URL 31 | curl_easy_setopt(curl, CURLOPT_URL, argv[1]); 32 | 33 | // 设置写回调函数,将数据写入文件 34 | FILE *fp = fopen("output", "wb"); 35 | 36 | if (!fp) 37 | { 38 | perror("Failed to open file"); 39 | return 1; 40 | 41 | } 42 | curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); 43 | curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); 44 | 45 | // 执行请求 46 | res = curl_easy_perform(curl); 47 | 48 | // 检查错误 49 | if (res != CURLE_OK) 50 | { 51 | fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); 52 | } 53 | 54 | // 清理 55 | fclose(fp); 56 | curl_easy_cleanup(curl); 57 | } 58 | 59 | curl_global_cleanup(); 60 | return 0; 61 | } -------------------------------------------------------------------------------- /src/FileManagement/FileInfo.c: -------------------------------------------------------------------------------- 1 | // 新增功能:遍历该目录下文件以及文件夹内存大小等检查功能 2 | 3 | #include "../../includes/FileInfo.h" 4 | 5 | #include "PrintColor.h" 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | void PrintFileInfo(const char *script){ 12 | if (strcmp(script, "exam") == 0){ 13 | system("ls -lh --color=auto"); 14 | color_printf(cyan,"目录下文件目录检查结束\n"); 15 | }else if(strcmp(script,"nginx") == 0){ 16 | color_printf(cyan,"Nginx安装检查:\n"); 17 | system("find / -name \"nginx.conf\""); 18 | }else if(strcmp(script,"psql") == 0){ 19 | color_printf(cyan,"PostgreSQL安装检查:\n"); 20 | system("find / -name \"postgresql.conf\""); 21 | }else if(strcmp(script,"info") == 0){ 22 | system("ls -lh --color=auto --full-time -R"); 23 | } 24 | else { 25 | color_printf(red,"CmdUtils的文件功能暂不支持该参数\n"); 26 | } 27 | 28 | } -------------------------------------------------------------------------------- /src/Library/PrintColor.c: -------------------------------------------------------------------------------- 1 | // 手写库改写printf 2 | #include "../../includes/PrintColor.h" 3 | #include 4 | #include 5 | #include 6 | 7 | // ANSI 转义序列前缀 8 | #define ANSI_ESCAPE "\033[" 9 | 10 | 11 | 12 | // 颜色代码数组 13 | const char *color_codes[] = { 14 | [reset] = ANSI_ESCAPE "0m", 15 | [red] = ANSI_ESCAPE "31m", 16 | [green] = ANSI_ESCAPE "32m", 17 | [yellow] = ANSI_ESCAPE "33m", 18 | [blue] = ANSI_ESCAPE "34m", 19 | [magenta] = ANSI_ESCAPE "35m", 20 | [cyan] = ANSI_ESCAPE "36m", 21 | [white] = ANSI_ESCAPE "37m" 22 | }; 23 | 24 | // 带颜色支持的简化版printf函数 25 | void color_printf(Color color, const char *format, ...) { 26 | // 输出颜色代码 27 | printf("%s", color_codes[color]); 28 | 29 | // 使用va_list处理可变参数 30 | va_list args; 31 | va_start(args, format); 32 | vprintf(format, args); 33 | va_end(args); 34 | 35 | // 重置颜色 36 | printf("%s", color_codes[reset]); 37 | } 38 | 39 | 40 | /* 41 | *int main() { 42 | * // 使用colored_printf函数输出不同颜色的文本 43 | * color_printf(red, "这是红色文本。\n"); 44 | * color_printf(green, "这是绿色文本。\n"); 45 | * color_printf(yellow, "这是黄色文本。\n"); 46 | * color_printf(blue, "这是蓝色文本。\n"); 47 | * color_printf(magenta, "这是洋红色文本。\n"); 48 | * color_printf(cyan, "这是青色文本。\n"); 49 | * color_printf(white, "这是白色文本。\n"); 50 | * 51 | * return 0; 52 | *} 53 | */ -------------------------------------------------------------------------------- /src/LoginShell/ExamAll.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/ExamAll.h" 2 | 3 | #include "PrintColor.h" 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | void login_scripts(const char *script){ 10 | if (strcmp(script, "exam") == 0){ 11 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/systeminfo.sh && cp systeminfo.sh /etc/profile.d/ && chmod +x /etc/profile.d/systeminfo.sh"); 12 | color_printf(cyan,"成功设置登录自动检查系统信息,可自行扩展脚本\n"); 13 | system("rm -f systeminfo.sh"); 14 | } 15 | else { 16 | color_printf(red,"CmdUtils的登录自动化执行功能暂不支持该参数\n"); 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /src/Utils/Version.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/Version.h" 2 | 3 | 4 | #include 5 | #include 6 | 7 | 8 | void print_version(const char *script){ 9 | if (strcmp(script, "version") == 0){ 10 | 11 | 12 | char version[] = "3.41"; 13 | 14 | // 使用printf函数打印版本号 15 | printf("当前版本是: %s\n", version); 16 | 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /src/Utils/cmd_utils.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/cmd_utils.h" 2 | #include "PrintColor.h" 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | void show_command_usage(const char *command) { 9 | if (strcmp(command, "nginx") == 0) { 10 | 11 | color_printf(cyan,"Nginx常用命令:\n"); 12 | color_printf(cyan,"1. 查看Nginx版本: nginx -v\n"); 13 | color_printf(cyan,"2. 检查Nginx配置文件:nginx -t\n"); 14 | color_printf(cyan,"3. 重启Nginx:sudo systemctl restart nginx\n"); 15 | color_printf(cyan,"4. 停止Nginx:sudo systemctl stop nginx\n"); 16 | color_printf(cyan,"5. 检查日志:cat /usr/local/nginx/logs/error.logz或者access.log\n"); 17 | 18 | } else if (strcmp(command, "psql") == 0) { 19 | color_printf(cyan,"PostgreSQL常用命令:\n"); 20 | color_printf(cyan,"1. 登录:(1)系统登录:sudo su - postgres (2)远程登录:psql -U postgres -h localhost -p 5432\n"); 21 | color_printf(cyan,"2. 进入PostgreSQL的交互式终端:psql\n"); 22 | color_printf(cyan,"3. 备份:pg_dump -U postgres -h localhost -p 5432 -F t mydb > mydb_backup.sql\n"); 23 | 24 | } else if (strcmp(command, "pro") == 0) { 25 | color_printf(cyan,"进程检查常用命令:\n"); 26 | color_printf(cyan,"1. 检查端口:netstat -tuln | grep 80或者ps aux | grep 80\n"); 27 | color_printf(cyan,"2. 检查资源:free -h\n"); 28 | 29 | } else if (strcmp(command, "service") == 0) { 30 | color_printf(cyan,"可执行文件常用命令:\n"); 31 | color_printf(cyan,"1. 添加可执行权限:chmod +x \n"); 32 | color_printf(cyan,"2. 编辑软链接文件:vim /etc/profile\n"); 33 | color_printf(cyan,"3. 写入链接:export PATH=$PATH:/usr/local/nginx/sbin\n"); 34 | color_printf(cyan,"4. 激活软链接:source /etc/profile\n"); 35 | color_printf(cyan,"5. 编辑systemd 服务文件:sudo vim /etc/systemd/system/example.service\n"); 36 | color_printf(cyan,"6. 重新加载 systemd 配置:sudo systemctl daemon-reload\n"); 37 | color_printf(cyan,"7. 启动服务:sudo systemctl start example\n"); 38 | color_printf(cyan,"8. 检查状态:sudo systemctl status example\n"); 39 | 40 | 41 | } else if (strcmp(command, "base") == 0) { 42 | color_printf(cyan,"基础linux检查常用命令:\n"); 43 | color_printf(cyan,"1. 查看主机名:hostname\n"); 44 | color_printf(cyan,"2. 查看发行版本:cat /etc/os-release\n"); 45 | color_printf(cyan,"3. 查看系统信息:uname -a\n"); 46 | color_printf(cyan,"4. 查看CPU信息:lscpu\n"); 47 | color_printf(cyan,"5. 查看内存信息:free -h\n"); 48 | color_printf(cyan,"6. 查看磁盘信息:df -h\n"); 49 | color_printf(cyan,"7. 系统语系检查:localectl\n"); 50 | color_printf(cyan,"8. 欢迎语设置:vim /etc/motd\n"); 51 | 52 | }else if (strcmp(command, "updata") == 0) { // 增加的updata命令 53 | }else if (strcmp(command, "version") == 0) { // 增加的updata命令 54 | }else if (strcmp(command, "sl") == 0) { // 增加的sl命令 55 | 56 | }else { 57 | color_printf(red,"CmdUtils的提示功能暂不支持命令\n"); 58 | } 59 | } -------------------------------------------------------------------------------- /src/Utils/install_utils.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/install_utils.h" 2 | #include "PrintColor.h" 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | void install_scripts(const char *script){ 9 | if (strcmp(script, "nginx") == 0){ 10 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/nginx_install_ssl_four.sh && bash nginx_install_ssl_four.sh"); 11 | system("rm -rf /usr/local/nginx/nginx-1.18.0"); 12 | system("rm -rf nginx_install_ssl_four.sh"); 13 | system("source /etc/profile"); 14 | system("nginx -v"); 15 | }else if (strcmp(script, "psql") == 0) { 16 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/psql_install.sh && bash psql_install.sh"); 17 | system("rm -rf psql_install.sh"); 18 | }else if (strcmp(script, "nvm") == 0) { 19 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/nvm_install_five.sh && bash nvm_install_five.sh"); 20 | system("rm -rf nvm_install_five.sh"); 21 | system("nvm -v"); 22 | }else if (strcmp(script, "cloc") == 0) { 23 | system("sudo yum install epel-release -y && sudo yum install cloc -y"); 24 | }else if (strcmp(script, "gcc") == 0) { 25 | system("sudo yum groupinstall \"Development Tools\" -y"); 26 | system("gcc -v"); 27 | }else if(strcmp(script,"git") == 0){ 28 | system("sudo yum install git -y"); 29 | system("git --version"); 30 | }else { 31 | color_printf(red,"CmdUtils的安装功能暂不支持该软件\n"); 32 | } 33 | 34 | } -------------------------------------------------------------------------------- /src/Utils/print_figlet.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/print_figlet.h" 2 | #include "PrintColor.h" 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | void print_figlet(const char *script){ 9 | if (strcmp(script, "cmdutils") == 0){ 10 | 11 | 12 | // system("wget -P relative \"https://heng1.oss-cn-beijing.aliyuncs.com/figlet\"") 13 | 14 | 15 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/slant.flf --silent"); 16 | 17 | system("mkdir -p font && cp slant.flf font"); 18 | 19 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/figlet --silent && chmod +x figlet && ./figlet -f font/slant.flf CmdUtils"); 20 | 21 | system("rm -f slant.flf"); 22 | 23 | 24 | }else if(strcmp(script, "banner") == 0){ 25 | system(""); 26 | } 27 | else { 28 | color_printf(red,"CmdUtils的figlet功能暂不支持该参数\n"); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/Utils/shell_utils.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/shell_utils.h" 2 | #include "PrintColor.h" 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | void shell_scripts(const char *script){ 9 | if (strcmp(script, "env") == 0){ 10 | system("env"); 11 | }else if(strcmp(script, "banner") == 0){ 12 | system(""); 13 | }else if(strcmp(script, "exam") == 0){ 14 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/systeminfo.sh && cp systeminfo.sh /etc/profile.d/ && chmod +x /etc/profile.d/systeminfo.sh"); 15 | system("rm -f systeminfo.sh"); 16 | }else if(strcmp(script, "cpu") == 0){ 17 | system("lscpu"); 18 | }else if(strcmp(script, "free") == 0){ 19 | system("free -h"); 20 | }else if(strcmp(script, "system") == 0){ 21 | system("uname -a"); 22 | }else if(strcmp(script, "cil") == 0){ 23 | system("sudo cp cil /bin"); 24 | system("rm -f cil"); 25 | color_printf(cyan,"cil已全局可使用\n"); 26 | } 27 | else { 28 | color_printf(red,"CmdUtils的shell功能暂不支持该参数\n"); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/Utils/updata_utils.c: -------------------------------------------------------------------------------- 1 | #include "../../includes/updata_utils.h" 2 | #include "PrintColor.h" 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | // 产生死循环:cp: cannot create regular file ‘/bin/cil’: Text file busy 9 | 10 | void updata_scripts(const char *script){ 11 | if (strcmp(script, "updata") == 0){ 12 | 13 | system("curl -O https://heng1.oss-cn-beijing.aliyuncs.com/updata && chmod +x updata"); 14 | 15 | color_printf(cyan,"请手动运行./updata\n"); 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /src/bootstrap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | #include "PrintColor.h" // 静态链接库 6 | 7 | #include "../includes/cmd_utils.h" 8 | #include "../includes/install_utils.h" 9 | #include "../includes/shell_utils.h" 10 | #include "../includes/ExamAll.h" 11 | #include "../includes/FileInfo.h" 12 | #include "../includes/updata_utils.h" 13 | #include "../includes/Version.h" 14 | #include "../includes/sl.h" 15 | #include "../includes/print_figlet.h" 16 | 17 | 18 | 19 | // 也许需要一个系统匹配版本调度程序 20 | 21 | 22 | 23 | int main(int argc, char *argv[]) { 24 | if (argc == 1) { // argc参数为1时 25 | 26 | color_printf(cyan,"用法:cil (<参数>) <命令名>\n"); 27 | color_printf(cyan,"例如:cil i nginx 安装中间件Nginx\n"); 28 | color_printf(cyan,"cil version/updata :检查当前版本以及版本更新\n"); 29 | color_printf(cyan,"cil * :支持nginx,psql(PostgreSQL),pro(进程检查命令),service(可执行文件操作),base(基础linux检查),sl——————提示以及更新功能\n"); 30 | color_printf(cyan,"cil i * :支持nginx,psql,nvm,cloc,gcc,git——————安装功能\n"); 31 | color_printf(cyan,"cil s * :支持cil,env,banner,exam,cpu,free,system——————shell功能\n"); 32 | color_printf(cyan,"cil f * :支持exam(目录检查),info(目录下所有文件检查),nginx,psql——————文件类型检查功能\n"); 33 | color_printf(cyan,"cil l * :支持exam——————登录自动执行功能\n"); 34 | print_figlet("cmdutils"); 35 | 36 | 37 | return 1; 38 | } 39 | 40 | if (argc == 2) { // argc参数为2时 41 | 42 | 43 | updata_scripts(argv[1]); // 更新至最新版功能 44 | print_version(argv[1]); // 版本打印功能 45 | show_command_usage(argv[1]); // 提示功能 46 | sl_bootstrap(argv[1]); // 需要使用第三方库#include 47 | 48 | // 49 | //安装:sudo yum install ncurses-devel 50 | //查找:ls /usr/include/ | grep curses.h 51 | // 52 | 53 | return 1; 54 | 55 | } 56 | 57 | if (argc < 3) {// argc参数为3时 58 | } else if (strcmp(argv[1], "i") == 0 && argc == 3) { // 安装功能,使用strcmp进行字符串比较,并修正逻辑判断顺序 59 | install_scripts(argv[2]); 60 | } else if (strcmp(argv[1], "s") == 0 && argc == 3) { // shell功能 61 | shell_scripts(argv[2]); 62 | } else if (strcmp(argv[1], "l") == 0 && argc == 3) { //登录自动执行功能 63 | login_scripts(argv[2]); 64 | } else if (strcmp(argv[1], "f") == 0 && argc == 3) { // 文件检测功能 65 | PrintFileInfo(argv[2]); 66 | } else if (argc > 2) { // 如果argc大于2且不符合参数要求则给出错误提示 67 | color_printf(cyan,"CmdUtils不支持参数数量或未知命令\n"); 68 | return 1; 69 | } 70 | 71 | return 0; 72 | } 73 | 74 | -------------------------------------------------------------------------------- /src/git/clone_no.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/src/git/clone_no.c -------------------------------------------------------------------------------- /src/git/push_no.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/src/git/push_no.c -------------------------------------------------------------------------------- /updata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmliheng/CmdUtils/2f6cfbce18c40a59caf836244a7e0f50d8f81ed7/updata --------------------------------------------------------------------------------