Compare commits

..
Author SHA1 Message Date
Sweetbread af99b495fe docs(libio): Add enum file funcs section 2024-11-21 20:51:05 +03:00
7325 changed files with 1191696 additions and 1101887 deletions

No files matched your search

-54
View File
@@ -1,54 +0,0 @@
# =============================================================================
# Apps
# User-facing applications, games, multimedia, UI and desktop resources
# =============================================================================
^programs/(cmm|demos|emulator|games|media|other)/.* @KolibriOS/apps
^contrib/(games|media|other)/.* @KolibriOS/apps
^skins/.* @KolibriOS/apps
# =============================================================================
# System
# Kernel, drivers, filesystems, SDK, libraries, toolchain and system utilities
# =============================================================================
^kernel/.* @KolibriOS/system
^drivers/.* @KolibriOS/system
^programs/(bcc32|develop|fs|hd_load|system|testing)/.* @KolibriOS/system
^contrib/(C_Layer|sdk|toolchain)/.* @KolibriOS/system
# Shared system/API includes in programs/
^programs/[^/]+\\.inc$ @KolibriOS/system
# =============================================================================
# Network
# Network stack, network drivers, protocols, libraries and network applications
# =============================================================================
^kernel/trunk/network/.* @KolibriOS/network
^drivers/ethernet/.* @KolibriOS/network
^drivers/(mii|netdrv)\\.inc$ @KolibriOS/network
^programs/network/.* @KolibriOS/network
^programs/network\\.inc$ @KolibriOS/network
^programs/develop/libraries/(http|network|kos_mbedtls)/.* @KolibriOS/network
^contrib/network/.* @KolibriOS/network
# =============================================================================
# DevOps
# CI/CD, repository infrastructure, build system and autobuild configuration
# =============================================================================
^\\.gitea/.* @KolibriOS/devops
^_tools/.* @KolibriOS/devops
^\\.gitmodules$ @KolibriOS/devops
^build\\.txt$ @KolibriOS/devops
^tup\\.config\\.template$ @KolibriOS/devops
-56
View File
@@ -1,56 +0,0 @@
---
- name: Sending artifacts to the server
hosts: all
gather_facts: no
tasks:
- name: Creating version artefacts root folder
file:
path: "{{ storage_path }}/{{ version }}"
state: directory
owner: "{{ storage_user }}"
group: "{{ storage_user }}"
mode: '0755'
- name: Sending artifacts
ansible.builtin.copy:
src: "{{ artifact_path }}/"
dest: "{{ storage_path }}/{{ version }}/"
owner: "{{ storage_user }}"
group: "{{ storage_user }}"
mode: preserve
# per-program binaries browsable at <version>/<lang>/data/, like on the old builds server
- name: Creating build tree folders
ansible.builtin.file:
path: "{{ storage_path }}/{{ version }}/{{ item | basename | regex_replace('\\.tar\\.gz$', '') }}/data"
state: directory
owner: "{{ storage_user }}"
group: "{{ storage_user }}"
mode: '0755'
with_fileglob: "{{ tree_artifact_path }}/*.tar.gz"
- name: Unpacking build trees
ansible.builtin.unarchive:
src: "{{ item }}"
dest: "{{ storage_path }}/{{ version }}/{{ item | basename | regex_replace('\\.tar\\.gz$', '') }}/data"
owner: "{{ storage_user }}"
group: "{{ storage_user }}"
with_fileglob: "{{ tree_artifact_path }}/*.tar.gz"
# stable URL for the newest build: <storage_path>/latest/<lang>/...
- name: Updating latest symlink
ansible.builtin.file:
src: "{{ version }}"
dest: "{{ storage_path }}/latest"
state: link
force: true
owner: "{{ storage_user }}"
group: "{{ storage_user }}"
# emulators hardcode <site root>/<lang>/data/data/kolibri.img; storage_path is the ci folder, one level under the site root
- name: Sending bare images to stable emulator paths
ansible.builtin.copy:
src: "{{ stable_artifact_path }}/"
dest: "{{ storage_path }}/../"
mode: preserve
-119
View File
@@ -1,119 +0,0 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2026 KolibriOS team
# Kernel codestyle checker (port of the former checker.pl).
# Reads an assembly source file and validates the KolibriOS kernel style rules.
# Usage: check-kernel-codestyle.py <file> (falls back to stdin if none given)
# Exits 0 when clean; on the first violation prints "Style error ..." to stderr
# and exits 1.
import re
import sys
# Full FASM mnemonic set, taken verbatim from the original checker.pl. Only these
# tokens are treated as instructions for the indent/spacing rules below.
_MNEMONICS = r"""stdcall|ccall|invoke|cinvoke|bt|in|ja|jb|jc|je|jg|jl|jo|jp|js|jz|or|aaa|aad|aam|aas|adc|add|and|bsf|bsr|btc|btr|bts|cbw|cdq|clc|cld|cli|cmc|cmp|cqo|cwd|daa|das|dec|div|fld|fst|hlt|inc|ins|int|jae|jbe|jge|jle|jmp|jna|jnb|jnc|jne|jng|jnl|jno|jnp|jns|jnz|jpe|jpo|lar|lds|lea|les|lfs|lgs|lsl|lss|ltr|mov|mul|neg|nop|not|out|pop|por|rcl|rcr|rep|ret|rol|ror|rsm|sal|sar|sbb|shl|shr|stc|std|sti|str|sub|ud2|xor|arpl|call|cdqe|clgi|clts|cmps|cwde|dppd|dpps|emms|fabs|fadd|fbld|fchs|fcom|fcos|fdiv|feni|fild|fist|fld1|fldz|fmul|fnop|fsin|fstp|fsub|ftst|fxam|fxch|idiv|imul|insb|insd|insw|int1|int3|into|invd|iret|jcxz|jnae|jnbe|jnge|jnle|lahf|lgdt|lidt|lldt|lmsw|lock|lods|loop|movd|movq|movs|orpd|orps|outs|pand|popa|popd|popf|popq|popw|push|pxor|repe|repz|retd|retf|retn|retq|retw|sahf|salc|scas|seta|setb|setc|sete|setg|setl|seto|setp|sets|setz|sgdt|shld|shrd|sidt|sldt|smsw|stgi|stos|test|verr|verw|vpor|wait|xadd|xchg|xlat|addpd|addps|addsd|addss|andpd|andps|bound|bswap|cmova|cmovb|cmovc|cmove|cmovg|cmovl|cmovo|cmovp|cmovs|cmovz|cmppd|cmpps|cmpsb|cmpsd|cmpsq|cmpss|cmpsw|cpuid|crc32|divpd|divps|divsd|divss|enter|extrq|f2xm1|faddp|fbstp|fclex|fcomi|fcomp|fdisi|fdivp|fdivr|femms|ffree|fiadd|ficom|fidiv|fimul|finit|fistp|fisub|fldcw|fldpi|fmulp|fneni|fprem|fptan|fsave|fsqrt|fstcw|fstsw|fsubp|fsubr|fucom|fwait|fyl2x|icebp|iretd|iretq|iretw|jecxz|jrcxz|lddqu|leave|lodsb|lodsd|lodsq|lodsw|loopd|loope|loopq|loopw|loopz|lzcnt|maxpd|maxps|maxsd|maxss|minpd|minps|minsd|minss|movbe|movsb|movsd|movsq|movss|movsw|movsx|movzx|mulpd|mulps|mulsd|mulss|mwait|outsb|outsd|outsw|pabsb|pabsd|pabsw|paddb|paddd|paddq|paddw|pandn|pause|pavgb|pavgw|pf2id|pf2iw|pfacc|pfadd|pfmax|pfmin|pfmul|pfrcp|pfsub|pi2fd|pi2fw|popad|popaw|popfd|popfq|popfw|pslld|psllq|psllw|psrad|psraw|psrld|psrlq|psrlw|psubb|psubd|psubq|psubw|ptest|pusha|pushd|pushf|pushq|pushw|rcpps|rcpss|rdmsr|rdpmc|rdtsc|repne|repnz|retfd|retfq|retfw|retnd|retnq|retnw|scasb|scasd|scasq|scasw|setae|setbe|setge|setle|setna|setnb|setnc|setne|setng|setnl|setno|setnp|setns|setnz|setpe|setpo|stosb|stosd|stosq|stosw|subpd|subps|subsd|subss|vdppd|vdpps|vmovd|vmovq|vmrun|vmxon|vorpd|vorps|vpand|vpxor|wrmsr|xlatb|xorpd|xorps|xsave|aesdec|aesenc|aesimc|andnpd|andnps|cmovae|cmovbe|cmovge|cmovle|cmovna|cmovnb|cmovnc|cmovne|cmovng|cmovnl|cmovno|cmovnp|cmovns|cmovnz|cmovpe|cmovpo|comisd|comiss|fcmovb|fcmove|fcmovu|fcomip|fcompp|fdivrp|ffreep|ficomp|fidivr|fisttp|fisubr|fldenv|fldl2e|fldl2t|fldlg2|fldln2|fnclex|fndisi|fninit|fnsave|fnstcw|fnstsw|fpatan|fprem1|frstor|frstpm|fsaved|fsavew|fscale|fsetpm|fstenv|fsubrp|fucomi|fucomp|fxsave|getsec|haddpd|haddps|hsubpd|hsubps|invept|invlpg|lfence|looped|loopeq|loopew|loopne|loopnz|loopzd|loopzq|loopzw|mfence|movapd|movaps|movdqa|movdqu|movhpd|movhps|movlpd|movlps|movnti|movntq|movsxd|movupd|movups|paddsb|paddsw|pextrb|pextrd|pextrq|pextrw|pfnacc|pfsubr|phaddd|phaddw|phsubd|phsubw|pinsrb|pinsrd|pinsrq|pinsrw|pmaxsb|pmaxsd|pmaxsw|pmaxub|pmaxud|pmaxuw|pminsb|pminsd|pminsw|pminub|pminud|pminuw|pmuldq|pmulhw|pmulld|pmullw|popcnt|psadbw|pshufb|pshufd|pshufw|psignb|psignd|psignw|pslldq|psrldq|psubsb|psubsw|pswapd|pushad|pushaw|pushfd|pushfq|pushfw|rdmsrq|rdrand|rdtscp|setalc|setnae|setnbe|setnge|setnle|sfence|shufpd|shufps|skinit|sqrtpd|sqrtps|sqrtsd|sqrtss|swapgs|sysret|vaddpd|vaddps|vaddsd|vaddss|vandpd|vandps|vcmppd|vcmpps|vcmpsd|vcmpss|vdivpd|vdivps|vdivsd|vdivss|vlddqu|vmaxpd|vmaxps|vmaxsd|vmaxss|vmcall|vminpd|vminps|vminsd|vminss|vmload|vmovsd|vmovss|vmread|vmsave|vmulpd|vmulps|vmulsd|vmulss|vmxoff|vpabsb|vpabsd|vpabsw|vpaddb|vpaddd|vpaddq|vpaddw|vpandn|vpavgb|vpavgw|vpcmov|vpcomb|vpcomd|vpcomq|vpcomw|vpperm|vprotb|vprotd|vprotq|vprotw|vpshab|vpshad|vpshaq|vpshaw|vpshlb|vpshld|vpshlq|vpshlw|vpslld|vpsllq|vpsllw|vpsrad|vpsraw|vpsrld|vpsrlq|vpsrlw|vpsubb|vpsubd|vpsubq|vpsubw|vptest|vrcpps|vrcpss|vsubpd|vsubps|vsubsd|vsubss|vxorpd|vxorps|wbinvd|wrmsrq|xgetbv|xrstor|xsetbv|blendpd|blendps|clflush|cmovnae|cmovnbe|cmovnge|cmovnle|cmpeqpd|cmpeqps|cmpeqsd|cmpeqss|cmplepd|cmpleps|cmplesd|cmpless|cmpltpd|cmpltps|cmpltsd|cmpltss|cmpxchg|fcmovbe|fcmovnb|fcmovne|fcmovnu|fdecstp|fincstp|fldenvd|fldenvw|fnsaved|fnsavew|fnstenv|frndint|frstord|frstorw|fsincos|fstenvd|fstenvw|fucomip|fucompp|fxrstor|fxtract|fyl2xp1|insertq|invlpga|invvpid|ldmxcsr|loopned|loopneq|loopnew|loopnzd|loopnzq|loopnzw|monitor|movddup|movdq2q|movhlps|movlhps|movntdq|movntpd|movntps|movntsd|movntss|movq2dq|mpsadbw|paddusb|paddusw|palignr|pavgusb|pblendw|pcmpeqb|pcmpeqd|pcmpeqq|pcmpeqw|pcmpgtb|pcmpgtd|pcmpgtq|pcmpgtw|pfcmpeq|pfcmpge|pfcmpgt|pfpnacc|pfrsqrt|phaddsw|phsubsw|pmaddwd|pmulhrw|pmulhuw|pmuludq|pshufhw|pshuflw|psubusb|psubusw|roundpd|roundps|roundsd|roundss|rsqrtps|rsqrtss|stmxcsr|syscall|sysexit|sysretq|ucomisd|ucomiss|vaesdec|vaesenc|vaesimc|vandnpd|vandnps|vcomisd|vcomiss|vfrczpd|vfrczps|vfrczsd|vfrczss|vhaddpd|vhaddps|vhsubpd|vhsubps|vmclear|vmmcall|vmovapd|vmovaps|vmovdqa|vmovdqu|vmovhpd|vmovhps|vmovlpd|vmovlps|vmovupd|vmovups|vmptrld|vmptrst|vmwrite|vpaddsb|vpaddsw|vpcomub|vpcomLine truncated
# label? indent mnemonic spaces args comment?
_LINE_RE = re.compile(
r'^(\s*[^;"\'\s$][^;"\'\s]*:)?(\s*)(' + _MNEMONICS + r')(\s+)([^;]*)(;.*)?$'
)
# Mnemonics that always take exactly one space before their arguments, like the
# 8-char-or-longer ones, regardless of their short length.
_LONG_MNEMONICS = {"rep", "repz", "repe", "repnz", "repne", "lock"}
def fail(name, lineno, msg):
sys.stderr.write(f"Style error in {name}:{lineno}: {msg}\n")
sys.exit(1)
def main():
if len(sys.argv) > 1:
name = sys.argv[1]
with open(name, "rb") as f:
raw_lines = f.readlines()
else:
name = ""
raw_lines = sys.stdin.buffer.readlines()
# None -> not inside a line continuation
# -1 -> continuation active, but the starting column is unknown
# >= 0 -> continuation active; following lines must indent by this column
continued = None
for lineno, raw in enumerate(raw_lines, start=1):
# Rule 6. All code and text files should be in UTF-8 without BOM.
if lineno == 1 and raw[:3] == b"\xef\xbb\xbf":
fail(name, lineno, "BOM is not allowed.")
try:
line = raw.decode("utf-8")
except UnicodeDecodeError:
fail(name, lineno, "the file must be in UTF-8.")
# Rule 1. No tab characters allowed.
if "\t" in line:
fail(name, lineno, "no tab characters allowed.")
if continued is not None:
m = re.match(r'^(\s*)[^;]', line)
if continued != -1 and m and len(m.group(1)) != continued:
fail(name, lineno,
"arguments continued in the next line must start from the "
"same position as in the first line")
if not re.search(r'\\\s*(;.*)?$', line):
continued = None
continue
m = _LINE_RE.match(line)
if m:
label = m.group(1) or ""
indent, mnem, spaces, args = m.group(2), m.group(3), m.group(4), m.group(5)
# Rule 2. Any label must be on a separate line. It is not allowed to
# have a label and anything except a comment on the same line.
if label:
fail(name, lineno, "any label must be on a separate line.")
# Rule 3. Lines with commands must start with 8 spaces.
# A mnemonic is short if its length is less than 8.
# Arguments for short mnemonics must start in column 16.
# Arguments for long mnemonics must be separated from the mnemonic by
# exactly one space.
if indent != " ":
fail(name, lineno, "indent for commands must be 8 spaces.")
if len(mnem) >= 8 or mnem in _LONG_MNEMONICS:
if args != "" and spaces != " ":
fail(name, lineno,
"arguments for long mnemonics must be separated from the "
"mnemonic by exactly one space.")
else:
if args != "" and spaces != " " * (8 - len(mnem)):
fail(name, lineno,
"arguments for short mnemonics must start in the column 16.")
args = re.sub(r'\s*$', "", args)
# Arguments must be separated with a comma and exactly one space after
# a comma. Split off quoted substrings (indices 1, 2 mod 3) so commas
# inside string literals are not checked.
parts = re.split(r'(["\'])(.*?\1)', args)
for i, segment in enumerate(parts):
if i % 3 == 0 and segment is not None and \
re.search(r',(\s{2,})?([^\\\s]|$)', segment):
fail(name, lineno,
"arguments must be separated with a comma and exactly one "
"space after a comma.")
if re.search(r'\\$', args):
continued = len(indent) + len(mnem) + len(spaces)
else:
if re.search(r'\\\s*(;.*)?$', line):
continued = -1
sys.exit(0)
if __name__ == "__main__":
main()
-101
View File
@@ -1,101 +0,0 @@
#!/usr/bin/env python3
# Sync tup's mtime/mtime_ns in .tup/db with the actual filesystem ctime.
#
# On Linux, tup uses st_ctim (ctime) for change detection, not st_mtim.
# After restoring a build cache with cp -a, files get new ctimes while the
# database still has old values. This script updates the database to match.
#
# Files in changed-files-list (changed since the cache's commit) are forced
# dirty instead, so tup still rebuilds them and their dependents.
#
# Usage: python3 sync-tup-ctime.py [path/to/.tup/db] [changed-files-list]
import os
import sqlite3
import sys
db_path = sys.argv[1] if len(sys.argv) > 1 else ".tup/db"
if not os.path.isfile(db_path):
sys.exit(f"Database not found: {db_path}")
# Paths changed since the cache's commit: keep dirty so tup rebuilds them.
dirty = set()
if len(sys.argv) > 2 and sys.argv[2]:
if os.path.isfile(sys.argv[2]):
with open(sys.argv[2], encoding="utf-8") as f:
dirty = {line.strip() for line in f if line.strip()}
else:
print(f"Warning: changed-files list not found: {sys.argv[2]}")
db = sqlite3.connect(db_path)
# Map every node id -> (parent dir id, name). Any node type can be a parent
# directory in the chain (generated/variant dirs are not type 0/2), so the map
# must cover all of them or path resolution yields a bare filename and stat fails.
nodes = {
node_id: (parent_id, name)
for node_id, parent_id, name in db.execute(
"select id, dir, name from node"
)
}
paths, updated, forced, skipped = {}, 0, 0, []
matched = set() # dirty paths that actually resolved to a tup node
for node_id, dir_id, name, ntype, old_sec, old_ns in db.execute(
"select id, dir, name, type, mtime, mtime_ns from node where type in (0, 2, 4)"
):
if dir_id not in paths:
parts, cur, seen = [], dir_id, set()
while cur in nodes and cur not in seen:
seen.add(cur)
cur, part = nodes[cur]
parts.append(part)
paths[dir_id] = "/".join(reversed(parts))
# Build the path with forward slashes (tup stores them that way and git
# emits them that way), independent of the host os.sep. tup's root dir
# node is named ".", so paths come out as "./foo/bar"; strip that prefix
# so they match git's plain "foo/bar" entries in the dirty set.
path = paths[dir_id] + "/" + name if paths[dir_id] else name
if path.startswith("./"):
path = path[2:]
# Changed since the cache base: force a rebuild instead of aligning.
if path in dirty:
matched.add(path)
if old_sec != 0 or old_ns != 0:
db.execute(
"update node set mtime=0, mtime_ns=0 where id=?", (node_id,))
forced += 1
continue
try:
stat = os.stat(path)
except OSError:
skipped.append((path, ntype))
continue
sec = int(stat.st_ctime)
ns = stat.st_ctime_ns - sec * 1_000_000_000
if sec == old_sec and ns == old_ns:
continue
db.execute("update node set mtime=?, mtime_ns=? where id=?", (sec, ns, node_id))
updated += 1
db.commit()
db.close()
print(f"Aligned {updated} nodes, forced {forced} changed nodes dirty "
f"({len(matched)}/{len(dirty)} changed paths matched a tup node), "
f"skipped {len(skipped)} missing files")
# A changed path that matches no tup node is normal (docs, CI files, etc.),
# but if NONE of them match while the list is non-empty, the path format from
# git almost certainly disagrees with tup's node paths -- which means changed
# files would silently NOT be rebuilt. Make that loud instead of silent.
if dirty and not matched:
print("WARNING: no changed path matched a tup node -- path format "
"mismatch likely; changed files may NOT be rebuilt.")
if skipped:
from collections import Counter
by_type = Counter(ntype for _, ntype in skipped)
print("Skipped by node type: "
+ ", ".join(f"type {t}: {c}" for t, c in sorted(by_type.items())))
-354
View File
@@ -1,354 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2026 KolibriOS team
# This workflow is for commits in main branch
# to get OS night build images and deploy them to the server
name: 'Build system'
# Official build of the main branch
on:
push:
branches:
- 'main'
jobs:
build:
name: 'Build (${{ matrix.lang }})'
runs-on: kolibri-toolchain
# one parallel job per language variant
strategy:
matrix:
lang: [en_US, ru_RU, es_ES]
steps:
# full history is needed for the revision id (commit count)
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
filter: blob:none
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TOOLCHAIN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# cache the toolchain sources by hash to not rebuild them every time
- name: Get toolchain hash
id: toolchain-hash
run: |
a=$(find ${{ gitea.workspace }}/programs/develop/cmm/ -type f -print0 | sort -z | xargs -0 sha1sum)
b=$(sha1sum ${{ gitea.workspace }}/programs/develop/ktcc/bin/kos32-tcc)
c=$(find ${{ gitea.workspace }}/programs/develop/objconv/ -type f -print0 | sort -z | xargs -0 sha1sum)
d=$(find ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
e=$(find ${{ gitea.workspace }}/programs/other/kpack/linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
f=$(find ${{ gitea.workspace }}/programs/develop/clink/ -type f -print0 | sort -z | xargs -0 sha1sum)
echo hash=$(echo $a $b $c $d $e $f | sha1sum | awk '{print $1}') >> $GITEA_OUTPUT
# restore previously cached toolchain by hash
- name: Restore toolchain
id: cache-toolchain
uses: actions/cache@v4
with:
path: /home/autobuild
key: kolibri-toolchain-${{ steps.toolchain-hash.outputs.hash }}
# build toolchain if cache miss or obsolote
- name: Build and install C--
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/cmm/
make -f Makefile.lin32
chmod +x c--
mv c-- /home/autobuild/tools/win32/bin/c--
cp ${{ gitea.workspace }}/programs/develop/cmm/c--.ini /home/autobuild/tools/win32/bin/c--.ini
make -f Makefile.lin32 clean
- name: Install TCC
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cp ${{ gitea.workspace }}/programs/develop/ktcc/bin/kos32-tcc /home/autobuild/tools/win32/bin/kos32-tcc
chmod +x /home/autobuild/tools/win32/bin/kos32-tcc
- name: Build and install objconv
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/objconv/
g++ -o /home/autobuild/tools/win32/bin/objconv -O2 *.cpp
chmod +x /home/autobuild/tools/win32/bin/objconv
- name: Build and install kerpack and kpack
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
cd ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/
make
chmod +x kerpack
chmod +x kpack
mv kerpack /home/autobuild/tools/win32/bin/.
mv kpack /home/autobuild/tools/win32/bin/.
- name: Build and install clink
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/clink
gcc main.c -o clink
chmod a+x clink
mv clink /home/autobuild/tools/win32/bin/clink
# move freshly built toolchain into the path that gets cached
- name: Prepare cache folder
run: |
rm /home/autobuild
mv /root/autobuild /home/autobuild
if: steps.cache-toolchain.outputs.cache-hit != 'true'
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TUP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# cache tup DB and this language's build dir, keyed by commit;
- name: Cache Tup
id: cache-tup
uses: actions/cache@v4
with:
path: |
.tup
build-${{ matrix.lang }}
key: tup-${{ gitea.sha }}
restore-keys: |
tup-
# check if a cache was restored or if we need to start fresh build
- name: Check if cache was restored
id: check-tup-cache
run: |
if [ -d ${{ gitea.workspace}}/.tup ] ; then
echo "cache_restored=true" >> $GITEA_OUTPUT
fi
# cache restore resets ctimes; realign tup DB to skip a full rebuild,
# but keep files changed since the cache's commit dirty so tup rebuilds them.
# A submodule bump diffs as a bare gitlink, so expand it to its whole subtree
- name: Sync tup DB with filesystem ctime
if: steps.check-tup-cache.outputs.cache_restored == 'true'
run: |
DIRTY=$(mktemp)
BASE=$(cat .tup/build-commit 2>/dev/null || true)
if [ -n "$BASE" ] && git cat-file -e "${BASE}^{commit}" 2>/dev/null; then
git -c core.quotePath=false diff --name-only "$BASE" HEAD > "$DIRTY"
git diff --raw "$BASE" HEAD | awk '$2 == "160000" { print $NF }' |
while read -r sub; do
git -C "$sub" -c core.quotePath=false ls-files | sed "s|^|$sub/|"
done >> "$DIRTY"
echo "Cache built at $BASE; $(wc -l < "$DIRTY") changed files kept dirty"
python3 .gitea/utils/sync-tup-ctime.py .tup/db "$DIRTY"
else
echo "No usable cache base commit; skipping sync (tup rebuilds all)"
fi
# write the variant config
- name: Configure tup
run: |
export ROOT=${{ gitea.workspace }}
echo "CONFIG_KPACK_CMD= && kpack --nologo %o" > ${{ matrix.lang }}.config
echo "CONFIG_KERPACK_CMD= && kerpack %o" >> ${{ matrix.lang }}.config
echo "CONFIG_PESTRIP_CMD= && EXENAME=%o fasm $ROOT/data/common/pestrip.asm %o" >> ${{ matrix.lang }}.config
echo "CONFIG_NO_MSVC=full" >> ${{ matrix.lang }}.config
echo "CONFIG_INSERT_REVISION_ID=1" >> ${{ matrix.lang }}.config
echo "CONFIG_LANG=${{ matrix.lang }}" >> ${{ matrix.lang }}.config
echo "CONFIG_BUILD_TYPE=${{ matrix.lang }}" >> ${{ matrix.lang }}.config
# initialize the tup DB and register the variant
- name: Init tup
if: steps.check-tup-cache.outputs.cache_restored != 'true'
run: |
export ROOT=${{ gitea.workspace }}
tup init
tup variant ${{ matrix.lang }}.config
# build the image for language variant; keep the tup log for publishing
- name: Build KolibriOS
run: |
set -o pipefail
export PATH=/home/autobuild/tools/win32/bin:$PATH
source kos32-export-env-vars ${{ gitea.workspace }}
tup build-${{ matrix.lang }} 2>&1 | tee build.log
# stamp the cache with its commit so later builds diff against it
- name: Record cache base commit
run: echo "${{ gitea.sha }}" > .tup/build-commit
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARTIFACTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# version string (tag + commit count + sha) for the artifact names
- name: Get describe
id: vars
run: echo "descr=$(git describe --tags)" >> $GITEA_OUTPUT
# stage build outputs under their final names, plus distribution kit and checksums
- name: Prepare artifacts
run: |
set -e
BASE="kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}"
for ext in img iso raw; do
cp "build-${{ matrix.lang }}/data/kolibri.$ext" "$BASE.$ext"
done
# zip: distr targets Windows/DOS users, Explorer opens it natively
(cd "build-${{ matrix.lang }}/data" && zip -r -9 -q "${{ gitea.workspace }}/$BASE.distr.zip" distribution_kit)
# whole build tree for per-program downloads; the big images ship separately
tar -C "build-${{ matrix.lang }}" \
--exclude './data/kolibri.iso' \
--exclude './data/kolibri.raw' \
--exclude './data/distribution_kit' \
-czf "$BASE.tree.tar.gz" .
sha256sum "$BASE".img "$BASE".iso "$BASE".raw "$BASE".distr.zip > "$BASE.sha256sums.txt"
mv build.log "$BASE.build.log"
# publish the images; longer retention for the floppy image
- name: Upload floppy image
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.img
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.img
retention-days: 90
- name: Upload CD image
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.iso
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.iso
retention-days: 30
- name: Upload raw image
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.raw
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.raw
retention-days: 15
- name: Upload distribution kit
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.distr.zip
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.distr.zip
retention-days: 30
- name: Upload checksums
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.sha256sums.txt
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.sha256sums.txt
retention-days: 90
- name: Upload build log
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.build.log
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.build.log
retention-days: 90
- name: Upload build tree
uses: actions/upload-artifact@v3
with:
name: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.tree.tar.gz
path: kolibrios-${{ steps.vars.outputs.descr }}-${{ matrix.lang }}.tree.tar.gz
retention-days: 15
deploy:
name: "Publish Images"
runs-on: ubuntu-latest
container:
image: ghcr.io/vicchi/gitea-actions:3.10-slim-bullseye
needs: build
steps:
# checkout@v4 needs Node 20; the deploy container ships an older Node, so use v3 here
- name: Checkout
uses: actions/checkout@v3
- name: Download artifacts
uses: actions/download-artifact@v3
with:
pattern: "*"
path: ./artifacts
merge-multiple: true
- name: Normalize artifacts layout
id: normalize
run: |
set -eu
rm -rf ./norm-artifacts ./stable-artifacts ./tree-artifacts
mkdir -p ./norm-artifacts ./stable-artifacts ./tree-artifacts
find ./artifacts -type f -name 'kolibrios-*' | while read -r file; do
fname="$(basename "$file")" # kolibrios-<descr>-<lang>.<suffix>
case "$fname" in
*.tree.tar.gz) stem="${fname%.tree.tar.gz}";;
*.distr.zip) stem="${fname%.distr.zip}";;
*.sha256sums.txt) stem="${fname%.sha256sums.txt}";;
*.build.log) stem="${fname%.build.log}";;
*.img) stem="${fname%.img}";;
*.iso) stem="${fname%.iso}";;
*.raw) stem="${fname%.raw}";;
*) continue;;
esac
lang="${stem##*-}" # <lang> has no dashes, <descr> may
mkdir -p "./norm-artifacts/$lang"
case "$fname" in
*.tree.tar.gz)
# unpacked on the server into <version>/<lang>/data/ for per-program downloads
cp "$file" "./tree-artifacts/$lang.tar.gz";;
*.sha256sums.txt)
cp "$file" "./norm-artifacts/$lang/sha256sums.txt";;
*.build.log)
cp "$file" "./norm-artifacts/$lang/build.log";;
*.img)
cp "$file" "./norm-artifacts/$lang/$fname"
# emulators (e.g. v86) hardcode <lang>/data/data/kolibri.img at the site root
mkdir -p "./stable-artifacts/$lang/data/data"
cp "$file" "./stable-artifacts/$lang/data/data/kolibri.img";;
*)
cp "$file" "./norm-artifacts/$lang/$fname";;
esac
done
# derive the version (git describe) from an artifact name: kolibrios-<descr>-<lang>.iso -> <descr>
sample="$(find ./norm-artifacts -type f -name 'kolibrios-*.iso' | head -n1)"
base="$(basename "${sample%.*}")" # kolibrios-<descr>-<lang>
version="${base%-*}" # kolibrios-<descr>
version="${version#kolibrios-}" # <descr>
echo "version=$version" >> $GITEA_OUTPUT
find ./norm-artifacts ./stable-artifacts ./tree-artifacts -type f -print
- name: Setup SSH
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.STORAGE_SERVER }} >> ~/.ssh/known_hosts
- name: Install fresh Ansible
run: |
python3 -m pip install --user --upgrade pip
python3 -m pip install --user 'ansible-core>=2.17,<2.18'
echo "$HOME/.local/bin" >> $GITHUB_PATH
~/.local/bin/ansible --version
- name: Run Ansible playbook
run: |
ansible-playbook .gitea/ansible/playbooks/deploy.yml \
-i "${{ secrets.STORAGE_SERVER }}," \
-u "${{ secrets.STORAGE_USER }}" \
-e "storage_user=${{ secrets.STORAGE_USER }}" \
-e "storage_path=${{ secrets.STORAGE_PATH }}" \
-e "version=${{ steps.normalize.outputs.version }}" \
-e "artifact_path=${{ gitea.workspace }}/norm-artifacts" \
-e "stable_artifact_path=${{ gitea.workspace }}/stable-artifacts" \
-e "tree_artifact_path=${{ gitea.workspace }}/tree-artifacts" \
-v
-37
View File
@@ -1,37 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2025 KolibriOS team
name: 'Check kernel codestyle'
on:
pull_request:
branches:
- 'main'
paths:
- 'kernel/**'
- '.gitea/workflows/kernel-check.yaml'
- '.gitea/utils/check-kernel-codestyle.py'
jobs:
codestyle:
name: "Check kernel codestyle"
runs-on: kolibri-toolchain
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
kernel/trunk
.gitea/utils
- name: Check codestyle
run: |
find kernel/trunk \
\( -iname '*.asm' -or -iname '*.inc' \) \
-exec sh -c '
for file do
echo "$file"
python3 .gitea/utils/check-kernel-codestyle.py "$file"
done
' sh {} +
-210
View File
@@ -1,210 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2026 KolibriOS team
# This workflow is for commits in PRs to test them before merging.
# All PRs MUST be tested before merging, and if I see Maxim turn this off again
# I'll kick his ass.
# Serious things you have here, guys...
name: 'Test PR'
# Test build for every pull request
on:
pull_request:
branches:
- 'main'
jobs:
build:
name: 'Build (${{ matrix.lang }})'
runs-on: kolibri-toolchain
# one parallel job per language variant
strategy:
matrix:
lang: [en_US, ru_RU, es_ES]
steps:
# shallow clone is enough: PR builds embed no revision id, and the
# artifact name uses the short head sha (no git describe)
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TOOLCHAIN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# cache the toolchain sources by hash to not rebuild them every time
- name: Get toolchain hash
id: toolchain-hash
run: |
a=$(find ${{ gitea.workspace }}/programs/develop/cmm/ -type f -print0 | sort -z | xargs -0 sha1sum)
b=$(sha1sum ${{ gitea.workspace }}/programs/develop/ktcc/bin/kos32-tcc)
c=$(find ${{ gitea.workspace }}/programs/develop/objconv/ -type f -print0 | sort -z | xargs -0 sha1sum)
d=$(find ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
e=$(find ${{ gitea.workspace }}/programs/other/kpack/linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
f=$(find ${{ gitea.workspace }}/programs/develop/clink/ -type f -print0 | sort -z | xargs -0 sha1sum)
echo hash=$(echo $a $b $c $d $e $f | sha1sum | awk '{print $1}') >> $GITEA_OUTPUT
# restore previously cached toolchain by hash (restore-only, PRs don't save)
- name: Restore toolchain
id: cache-toolchain
uses: actions/cache/restore@v4
with:
path: /home/autobuild
key: kolibri-toolchain-${{ steps.toolchain-hash.outputs.hash }}
# build toolchain if cache miss or obsolote
- name: Build and install C--
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/cmm/
make -f Makefile.lin32
chmod +x c--
mv c-- /home/autobuild/tools/win32/bin/c--
cp ${{ gitea.workspace }}/programs/develop/cmm/c--.ini /home/autobuild/tools/win32/bin/c--.ini
make -f Makefile.lin32 clean
- name: Install TCC
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cp ${{ gitea.workspace }}/programs/develop/ktcc/bin/kos32-tcc /home/autobuild/tools/win32/bin/kos32-tcc
chmod +x /home/autobuild/tools/win32/bin/kos32-tcc
- name: Build and install objconv
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/objconv/
g++ -o /home/autobuild/tools/win32/bin/objconv -O2 *.cpp
chmod +x /home/autobuild/tools/win32/bin/objconv
- name: Build and install kerpack and kpack
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
cd ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/
make
chmod +x kerpack
chmod +x kpack
mv kerpack /home/autobuild/tools/win32/bin/.
mv kpack /home/autobuild/tools/win32/bin/.
- name: Build and install clink
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/clink
gcc main.c -o clink
chmod a+x clink
mv clink /home/autobuild/tools/win32/bin/clink
# move freshly built toolchain into the path that gets cached
- name: Prepare cache folder
run: |
rm /home/autobuild
mv /root/autobuild /home/autobuild
if: steps.cache-toolchain.outputs.cache-hit != 'true'
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TUP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# restore tup cache (this PR head, else fall back to main); PRs don't save it
- name: Cache Tup
id: cache-tup
uses: actions/cache/restore@v4
with:
path: |
.tup
build-${{ matrix.lang }}
key: tup-${{ gitea.event.pull_request.head.sha }}
restore-keys: |
tup-
# check if a cache was restored or if we need to start fresh build
- name: Check if cache was restored
id: check-tup-cache
run: |
if [ -d ${{ gitea.workspace}}/.tup ] ; then
echo "cache_restored=true" >> $GITEA_OUTPUT
fi
# cache restore resets ctimes; realign tup DB to skip a full rebuild,
# but keep files changed since the cache's commit dirty so tup rebuilds them
- name: Sync tup DB with filesystem ctime
if: steps.check-tup-cache.outputs.cache_restored == 'true'
run: |
DIRTY=$(mktemp)
BASE=$(cat .tup/build-commit 2>/dev/null || true)
if [ -n "$BASE" ] && (git cat-file -e "${BASE}^{commit}" 2>/dev/null || git fetch --depth=1 origin "$BASE" 2>/dev/null); then
git -c core.quotePath=false diff --name-only "$BASE" HEAD > "$DIRTY"
echo "Cache built at $BASE; $(wc -l < "$DIRTY") changed files kept dirty"
python3 .gitea/utils/sync-tup-ctime.py .tup/db "$DIRTY"
else
echo "No usable cache base commit; skipping sync (tup rebuilds all)"
fi
# write the variant config
- name: Configure tup
run: |
export ROOT=${{ gitea.workspace }}
echo "CONFIG_KPACK_CMD= && kpack --nologo %o" > ${{ matrix.lang }}.config
echo "CONFIG_KERPACK_CMD= && kerpack %o" >> ${{ matrix.lang }}.config
echo "CONFIG_PESTRIP_CMD= && EXENAME=%o fasm $ROOT/data/common/pestrip.asm %o" >> ${{ matrix.lang }}.config
echo "CONFIG_NO_MSVC=full" >> ${{ matrix.lang }}.config
echo "CONFIG_INSERT_REVISION_ID=0" >> ${{ matrix.lang }}.config
echo "CONFIG_LANG=${{ matrix.lang }}" >> ${{ matrix.lang }}.config
echo "CONFIG_BUILD_TYPE=${{ matrix.lang }}" >> ${{ matrix.lang }}.config
# initialize the tup DB and register the variant
- name: Init tup
if: steps.check-tup-cache.outputs.cache_restored != 'true'
run: |
export ROOT=${{ gitea.workspace }}
tup init
tup variant ${{ matrix.lang }}.config
# build the image for language variant
- name: Build KolibriOS
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
source kos32-export-env-vars ${{ gitea.workspace }}
tup build-${{ matrix.lang }}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ARTIFACTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# short head sha to pin the PR iteration in the artifact names
- name: Get short SHA
id: vars
run: echo "sha=$(git rev-parse --short HEAD)" >> $GITEA_OUTPUT
# rename build outputs to their final names so artifacts are bare files
- name: Rename images
run: |
for ext in img iso raw; do
cp "build-${{ matrix.lang }}/data/kolibri.$ext" \
"kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.$ext"
done
#publish the three images, named by PR number + sha
- name: Upload floppy image
uses: actions/upload-artifact@v3
with:
name: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.img
path: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.img
retention-days: 2
- name: Upload CD image
uses: actions/upload-artifact@v3
with:
name: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.iso
path: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.iso
retention-days: 2
- name: Upload raw image
uses: actions/upload-artifact@v3
with:
name: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.raw
path: kolibrios-PR${{ gitea.event.pull_request.number }}-${{ steps.vars.outputs.sha }}-${{ matrix.lang }}.raw
retention-days: 2
-88
View File
@@ -1,88 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2026 KolibriOS team
name: 'Update submodules'
on:
schedule:
- cron: '0 * * * *' # hourly
workflow_dispatch:
jobs:
bump:
name: 'Bump ${{ matrix.name }} to upstream'
runs-on: kolibri-toolchain
permissions:
contents: write
pull-requests: write
strategy:
fail-fast: false
matrix:
include:
- name: cmm
path: programs/develop/cmm
- name: oberon07
path: programs/develop/oberon07
- name: cmm_apps
path: programs/cmm
- name: kterm
path: programs/other/kterm
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Bump ${{ matrix.name }} and open PR
env:
TOKEN: ${{ secrets.GITEA_TOKEN }}
API: ${{ github.api_url }}
REPO: ${{ github.repository }}
NAME: ${{ matrix.name }}
PATH_: ${{ matrix.path }}
BRANCH: chore/update-${{ matrix.name }}
run: |
set -euo pipefail
git submodule update --remote "$PATH_"
# look only at this submodule: the other jobs in the matrix are
# bumping their own, and the rest of the tree is none of our business
if git diff --quiet -- "$PATH_"; then
echo "$NAME is already up to date"
exit 0
fi
WANT=$(git -C "$PATH_" rev-parse HEAD)
# skip revisions that already have PR opened
if git fetch -q origin "$BRANCH" 2>/dev/null; then
HAVE=$(git rev-parse "FETCH_HEAD:$PATH_" 2>/dev/null || echo none)
if [ "$HAVE" = "$WANT" ]; then
echo "$NAME bump to $WANT is already waiting in $BRANCH"
exit 0
fi
fi
git config user.name "kolibri-bot"
git config user.email "bot@kolibrios.org"
git checkout -B "$BRANCH"
git commit -m "chore/submodules: bump $NAME to $WANT" -- "$PATH_"
git push -f origin "$BRANCH"
# Open a PR via the Gitea API.
# 201 = created, 409 = a PR for this branch is already open (the
# force-push above already updated it) - both are fine.
http=$(curl -sS -o /tmp/pr.json -w '%{http_code}' -X POST \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"head\":\"${BRANCH}\",\"base\":\"main\",\"title\":\"chore/submodules: bump ${NAME} to upstream\"}" \
"${API}/repos/${REPO}/pulls")
echo "PR API HTTP status: $http"
cat /tmp/pr.json; echo
if [ "$http" != "201" ] && [ "$http" != "409" ]; then
echo "Failed to create pull request"
exit 1
fi
-8
View File
@@ -7,11 +7,3 @@ ehthumbs_vista.db
### macOS ###
.DS_Store
._*
programs/cmm/cmm.code-workspace
programs/cmm/menu/.gitignore
.tup/
/build-*/
/*.config
-16
View File
@@ -1,16 +0,0 @@
[submodule "programs/develop/cmm"]
path = programs/develop/cmm
url = https://git.kolibrios.org/KolibriOS/cmm.git
branch = main
[submodule "programs/develop/oberon07"]
path = programs/develop/oberon07
url = https://git.kolibrios.org/KolibriOS/oberon-07-compiler.git
branch = master
[submodule "programs/cmm"]
path = programs/cmm
url = https://git.kolibrios.org/KolibriOS/cmm_apps.git
branch = main
[submodule "programs/other/kterm"]
path = programs/other/kterm
url = https://git.kolibrios.org/b00bl1k/kterm.git
branch = master
-77
View File
@@ -1,77 +0,0 @@
# Contributing guide
## Type of contributing
There are two main types of contributions accepted to the main KolibriOS repository:
- Submitting issues about problems in the project
- Submitting code to the project via pull requests
Both these types are described in detail below.
## Issues
You can help us by submitting issues about problems found in the system. Currently, there are two main ways of submitting an issue in the project: **Bug Reports** and **Feature Requests**:
- Bug Reports are suitable if you find a **bug** (crash, error, unexpected behavior) in some part of the system (kernel, drivers, apps, etc.) and want to report it
- Feature Requests are used, when you want to propose some **improvement** to the system (missing features, improved user experience, etc.)
## Pull requests
You can also help us by submitting code via pull requests. The process of submitting a pull request consists of the following steps:
1. Find what you want to implement or improve
2. Make a fork of kolibrios (or other needed) repository
3. Create a branch with a name that matches your changes
4. Implement and test the changes
5. Create commits according to the [accepted style](#commit-style)
6. Create and submit a pull request into `main` branch
7. Wait for CI/CD pipelines and code review to pass
When a pull request is submitted, at least two project participants must conduct a code review, after which the proposed changes need to be corrected (if requested) and merged into the project.
## Commit style
### Message pattern
The commit message should look like this:
```test
Commit message header
Commit message body, if needed
```
- Commit message header and body should reflect changes made in commit
- Commit message body should be separated from the header by one empty line
### Length
Maximum number of characters in a commit header is **72** (standard for **Git**). Also, **72** is the maximum length of a line in a commit body.
### Multiple authors
If you are making a commit together with another developer, you need to add:
```
Co-authored-by: ANOTHER-NAME <ANOTHER-NAME@EXAMPLE.COM>
```
to the end commit message body on a new line.
If you used AI tools while preparing the commit, you are encouraged to include an Assisted-by tag:
```
Assisted-by: AGENT_NAME:MODEL_VERSION
```
### Merge commits
> [!WARNING]
> Merge commits are **prohibited** in the project
Use **rebase** to keep your branch up to date.
## Conclusion
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.
-338
View File
@@ -1,338 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
-26
View File
@@ -1,26 +0,0 @@
# KolibriOS
[![License](https://img.shields.io/badge/License-GPL%202.0-green)](./COPYING.TXT)
[![Build system](https://git.kolibrios.org/KolibriOS/kolibrios/actions/workflows/build.yaml/badge.svg)](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
Its kernel, most drivers, and many programs are written entirely in [FASM](https://flatassembler.net/) assembly language, making them very compact and lean on system resources.
Based on [MenuetOS](https://www.menuetos.net/), it uses its own standards and is NOT fully POSIX or UNIX compliant.
## Website
Visit the [official KolibriOS website](https://kolibrios.org) for more information, downloads, and documentation.
## Contributing
We would appreciate any participation in the project and always welcome new users and contributors.
Detailed instructions for the contribution process can be found in the [contributing guide](./CONTRIBUTING.md).
Common list of tasks, issues and enhancement proposals can be found on [this page](https://git.kolibrios.org/KolibriOS/kolibrios/issues).
## Special thanks
The KolibriOS team expresses special thanks to the author of the 32-bit **MenuetOS**, [Ville Turjanmaa](https://www.menuetos.net/contact.htm). We also want to note that all **MenuetOS** copyrights have been preserved.
+4 -7
View File
@@ -1,6 +1,3 @@
; SPDX-License-Identifier: NOASSERTION
;
format coff
use32 ; Tell compiler to use 32 bit instructions
@@ -10,8 +7,8 @@ include '../../../programs/proc32.inc'
include '../../../programs/macros.inc'
purge section,mov,add,sub
include '../../../programs/develop/libraries/box_lib/box_lib.mac'
include '../../../programs/system/run/txtbut.inc'
include '../../../programs/develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../programs/system/run/trunk/txtbut.inc'
include '../../../programs/dll.inc'
public init_boxlib as '_kolibri_boxlib_init'
@@ -162,8 +159,8 @@ public path_show_draw as '_path_show_draw'
public fb_draw_panel as '_filebrowse_draw'
public fb_mouse as '_filebrowse_mouse'
public fb_key as '_filebrowse_key'
public fb_key as '_filebrowse_key'
public ted_but_sumb_upper as '_ted_but_sumb_upper'
public ted_but_sumb_lover as '_ted_but_sumb_lover'
public ted_but_convert_by_table as '_ted_but_convert_by_table'
+2 -2
View File
@@ -31,8 +31,8 @@ import lib_libini, \
LIBINI_enum_keys , 'ini_enum_keys' , \
LIBINI_get_str , 'ini_get_str' , \
LIBINI_get_int , 'ini_get_int' , \
LIBINI_get_color , 'ini_get_color' , \
LIBINI_get_shortcut , 'ini_get_shortcut' , \
LIBINI_get_color , 'int_get_color' , \
LIBINI_get_shortcut , 'int_get_shortcut' , \
LIBINI_set_str , 'ini_set_str' , \
LIBINI_set_int , 'ini_set_int' , \
LIBINI_set_color , 'ini_set_color'
+152 -153
View File
@@ -1,153 +1,152 @@
// BOXLIB example (scrollbar, progressbar)
// ! without kolibri_gui !
// Writed by maxcodehack
// TCC version is in /programs/develop/ktcc/libc.obj/samples/clayer/boxlib.c
#include <kos32sys.h>
#include <stdlib.h>
/// BOXLIB
// Modified from C_Layer
// C_Layer variant I don't like
extern int kolibri_boxlib_init(void);
typedef struct __attribute__ ((__packed__)) {
uint16_t xsize;
uint16_t xpos;
uint16_t ysize;
uint16_t ypos;
uint32_t btn_height;
uint32_t type;
uint32_t max_area;
uint32_t cur_area;
uint32_t position;
uint32_t back_color;
uint32_t front_color;
uint32_t line_color;
uint32_t redraw;
uint16_t delta;
uint16_t delta2;
uint16_t r_size_x;
uint16_t r_start_x;
uint16_t r_size_y;
uint16_t r_start_y;
uint32_t m_pos;
uint32_t m_pos2;
uint32_t m_keys;
uint32_t run_size;
uint32_t position2;
uint32_t work_size;
uint32_t all_redraw;
uint32_t ar_offset;
} scrollbar;
extern void (*scrollbar_h_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_h_mouse)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_mouse)(scrollbar*) __attribute__((__stdcall__));
typedef struct {
unsigned int value;
unsigned int left;
unsigned int top;
unsigned int width;
unsigned int height;
unsigned int style;
unsigned int min;
unsigned int max;
unsigned int back_color;
unsigned int progress_color;
unsigned int frame_color;
} progressbar;
extern void (*progressbar_draw)(progressbar *) __attribute__((__stdcall__));
extern void (*progressbar_progress)(progressbar *) __attribute__((__stdcall__));
/// BOXLIB
#define evReDraw 1
#define evKey 2
#define evButton 3
#define evExit 4
#define evDesktop 5
#define evMouse 6
#define evIPC 7
#define evNetwork 8
#define evDebug 9
#define WIN_W 640
#define WIN_H 563
uint32_t wheels;
char* title = "Boxlib example";
int win_bg_color = 0x858585;
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9};
void draw_window(){
BeginDraw();
DrawWindow(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
scrollbar_v_draw(&scroll);
progressbar_draw(&pg);
EndDraw();
}
//// EVENTMASK
#define EVM_REDRAW 1
#define EVM_KEY 2
#define EVM_BUTTON 4
#define EVM_EXIT 8
#define EVM_BACKGROUND 16
#define EVM_MOUSE 32
#define EVM_IPC 64
#define EVM_STACK 128
#define EVM_DEBUG 256
#define EVM_STACK2 512
#define EVM_MOUSE_FILTER 0x80000000
#define EVM_CURSOR_FILTER 0x40000000
//// EVENTMASK
int main()
{
kolibri_boxlib_init();
set_wanted_events_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
while(1)
{
switch(GetOsEvent())
{
case evButton:
if (get_os_button() == 1) exit(0);
break;
case evKey:
get_key();
break;
case evReDraw:
draw_window();
break;
case evMouse:
scrollbar_v_mouse(&scroll);
// Wheel scrolling
// Quite unstable
/*
int scroll_strong = 40;
wheels = GetMouseWheels();
if(wheels & 0xFFFF)
{
if((short)wheels > 0 && scroll.position < scroll.max_area - scroll_strong)
scroll.position += scroll_strong;
else if((short)wheels < 0 && scroll.position > 0)
scroll.position -= scroll_strong;
scrollbar_v_draw(&scroll);
}
*/
pg.value = scroll.position;
progressbar_draw(&pg);
break;
}
}
}
// BOXLIB example (scrollbar, progressbar)
// ! without kolibri_gui !
// Writed by maxcodehack
// TCC version is in /programs/develop/ktcc/trunk/samples
#include <kos32sys.h>
#include <stdlib.h>
/// BOXLIB
// Modified from C_Layer
// C_Layer variant I don't like
extern int kolibri_boxlib_init(void);
typedef struct __attribute__ ((__packed__)) {
uint16_t xsize;
uint16_t xpos;
uint16_t ysize;
uint16_t ypos;
uint32_t btn_height;
uint32_t type;
uint32_t max_area;
uint32_t cur_area;
uint32_t position;
uint32_t back_color;
uint32_t front_color;
uint32_t line_color;
uint32_t redraw;
uint16_t delta;
uint16_t delta2;
uint16_t r_size_x;
uint16_t r_start_x;
uint16_t r_size_y;
uint16_t r_start_y;
uint32_t m_pos;
uint32_t m_pos2;
uint32_t m_keys;
uint32_t run_size;
uint32_t position2;
uint32_t work_size;
uint32_t all_redraw;
uint32_t ar_offset;
} scrollbar;
extern void (*scrollbar_h_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_h_mouse)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_mouse)(scrollbar*) __attribute__((__stdcall__));
typedef struct {
unsigned int value;
unsigned int left;
unsigned int top;
unsigned int width;
unsigned int height;
unsigned int style;
unsigned int min;
unsigned int max;
unsigned int back_color;
unsigned int progress_color;
unsigned int frame_color;
} progressbar;
extern void (*progressbar_draw)(progressbar *) __attribute__((__stdcall__));
extern void (*progressbar_progress)(progressbar *) __attribute__((__stdcall__));
/// BOXLIB
#define evReDraw 1
#define evKey 2
#define evButton 3
#define evExit 4
#define evDesktop 5
#define evMouse 6
#define evIPC 7
#define evNetwork 8
#define evDebug 9
#define WIN_W 640
#define WIN_H 563
uint32_t wheels;
char* title = "Boxlib example";
int win_bg_color = 0x858585;
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9};
void draw_window(){
BeginDraw();
DrawWindow(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
scrollbar_v_draw(&scroll);
progressbar_draw(&pg);
EndDraw();
}
//// EVENTMASK
#define EVM_REDRAW 1
#define EVM_KEY 2
#define EVM_BUTTON 4
#define EVM_EXIT 8
#define EVM_BACKGROUND 16
#define EVM_MOUSE 32
#define EVM_IPC 64
#define EVM_STACK 128
#define EVM_DEBUG 256
#define EVM_STACK2 512
#define EVM_MOUSE_FILTER 0x80000000
#define EVM_CURSOR_FILTER 0x40000000
//// EVENTMASK
int main()
{
kolibri_boxlib_init();
set_wanted_events_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
while(1)
{
switch(GetOsEvent())
{
case evButton:
if (get_os_button() == 1) exit(0);
break;
case evKey:
get_key();
break;
case evReDraw:
draw_window();
break;
case evMouse:
scrollbar_v_mouse(&scroll);
// Wheel scrolling
// Quite unstable
/*
int scroll_strong = 40;
wheels = GetMouseWheels();
if(wheels & 0xFFFF)
{
if((short)wheels > 0 && scroll.position < scroll.max_area - scroll_strong)
scroll.position += scroll_strong;
else if((short)wheels < 0 && scroll.position > 0)
scroll.position -= scroll_strong;
scrollbar_v_draw(&scroll);
}
*/
pg.value = scroll.position;
progressbar_draw(&pg);
break;
}
}
}
-3
View File
@@ -1,3 +0,0 @@
if tup.getconfig("NO_FASM") ~= "" then return end
lang = (tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")
tup.rule("launcher.asm", "fasm -dlang=" .. lang .. " %f %o " .. tup.getconfig("KPACK_CMD"), "launcher")
-229
View File
@@ -1,229 +0,0 @@
; Splits command line to argv array.
; Uses standard Windows rules:
; * in normal mode, arguments are separated with spaces and tabs,
; duplicate spaces and tabs are ignored
; (two sequential spaces are the same as one);
; * unescaped quote " in normal mode starts quoted mode,
; it does not end the current argument, it is not included in the argument;
; * spaces and tabs in quoted mode are included in the argument as is;
; * unescaped quote " in quoted mode returns to normal mode,
; it does not end the current argument, it is not included in the argument;
; * quotes can be escaped with backslashes \ in both modes
; (the recommended way), \" means copying " to the argument
; without switching modes;
; * backslashes not before a quote are just regular characters,
; backslashes before a quote should be escaped by another backslash:
; " means unescaped quote
; \" means character "
; \\" means character \ plus unescaped quote
; \\\" means characters \"
; and so on;
; * quotes in quoted mode can also be escaped by doubling them, ""
; (the confusing way); note that in normal mode "" means empty argument.
; For example, the command line
; begin"quoted mode"end\ \"escaped" "quotes" "1\" "" """escaped quotes 2"""
; has 4 arguments:
; 1) beginquoted modeend\
; 2) "escaped quotes 1"
; 3)
; 4) "escaped quotes 2"
; The recommended way to create a command line with the same arguments:
; "beginquoted modeend"\ "\"escaped quotes 1\"" "\"escaped quotes 2\"".
;
; in: esi -> command line
; in: edi -> data for arguments, maybe null
; in: edx -> pointers to arguments, maybe null
; out: ebx = argument count
;
; There are too many branches and labels here,
; isolate some of them into macro.
macro start_arg
; Increments argument count;
; if arguments are tracked, stores the current address.
{
local .label
test edx, edx
jz .label
mov [edx], edi
add edx, 4
.label:
inc ebx
}
; In typical cases decoded arguments and input line have large chunks in common.
; When going through the input string, we do not copy arguments immediately,
; but track size of last chunk that should be copied instead.
; This macros copies the last chunk of data if arguments are tracked.
; If arguments are tracked, ecx is reset to zero;
; otherwise, we do not care about ecx.
macro copy_arg_data
{
local .label
test edi, edi
jz .label
dec esi
sub esi, ecx
rep movsb
inc esi
.label:
}
; Process backslash.
macro process_slash
{
; 1. Count number of backslashes.
local .label1, .label2
xor ecx, ecx
.label1:
inc ecx
mov al, byte [esi]
inc esi
cmp al, '\'
jz .label1
; 2. If the next character is not ", backslash is a regular character;
; copy all of them.
cmp al, '"'
jnz .label2
; 3. If the next character is ", then only half of backslashes
; should be copied, other are escaping characters.
; If number of backslashes is odd, include " to copied chunk
; and advance to the next character.
shr ecx, 1
jnc .label2
mov al, byte [esi]
inc esi
inc ecx
.label2:
copy_arg_data
}
; Parser procedure.
proc parse_cmdline
; Registers:
; ebx = argc = argument count
; ecx = size of last chunk if edi is nonzero, garbage otherwise
; al = current input character = [esi-1]
; esi = pointer to input past the current character
; edi = zero or pointer to the next output data
; edx = zero or pointer to the next output pointer
xor ebx, ebx
xor ecx, ecx
; There are two large blocks of code for normal and quoted modes.
; We start in normal mode.
; 1. Processing in normal mode.
; 1a. Skip initial spaces and tabs.
.skip_spaces:
mov al, byte [esi]
inc esi
cmp al, ' '
jz .skip_spaces
cmp al, 9
jz .skip_spaces
; 1b. If the command line has ended, exit.
test al, al
jz .done
; 1c. Any character in this state starts a new argument.
start_arg
; 1d. Loop over the input string, watching for one of:
; (space), (tab), (terminator), ", \
; All other characters should be copied as is.
; The first character here cannot be (space), (tab) or (terminator),
; but " and \ are possible. For these, skip 1e, because we have nothing
; to copy yet, and go directly where 1f would direct us.
cmp al, '"'
jz .enter_quoted_mode
cmp al, '\'
jz .slash_normal
.normal_mode:
inc ecx
.enter_normal_mode:
mov al, byte [esi]
inc esi
.reenter_normal_mode:
cmp al, ' '
jz .copydata
cmp al, 9
jz .copydata
test al, al
jz .copydata
cmp al, '\'
jz .copydata
cmp al, '"'
jnz .normal_mode
.copydata:
; 1e. Copy the found chunk.
copy_arg_data
; 1f. One of (space), (tab), (terminator), ", \ is found.
; For terminator, end the current argument and exit.
; For \, go to 1h.
; For ", switch to quoted mode.
test al, al
jz .done_termarg
cmp al, '\'
jz .slash_normal
cmp al, '"'
jz .enter_quoted_mode
; 1g. If we are here, (space) or (tab) has occured in 1d.
; End the current argument and restart processing from 1a.
test edi, edi
jz .skip_spaces
mov byte [edi], 0
inc edi
jmp .skip_spaces
.done_termarg:
test edi, edi
jz .done
mov byte [edi], 0
inc edi
.done:
ret
.slash_normal:
; 1h. Process chunk of slashes with possible ending " if escaped
; as described in process_slash macros.
; After that, return to loop in 1d; note that the next character can be space.
process_slash
jmp .reenter_normal_mode
; 2. Processing in quoted mode.
; This block is simpler because the current argument never ends in quoted mode,
; except when the input ends.
; 2a. Loop over the input string, watching for one of:
; (terminator), ", \.
.quoted_mode:
inc ecx
.enter_quoted_mode:
mov al, byte [esi]
inc esi
.reenter_quoted_mode:
test al, al
jz .copydata2
cmp al, '\'
jz .copydata2
cmp al, '"'
jnz .quoted_mode
.copydata2:
; 2b. Copy the found chunk.
copy_arg_data
; 2c. One of (terminator), ", \ is found.
; For terminator, end the current argument and exit.
; For \, go to 2d.
test al, al
jz .done_termarg
cmp al, '\'
jz .slash_quoted
; For ", check whether the next character is also ":
; for a single quote, switch to the normal mode 1d,
; for a double quote, skip the first quote
; and start a new chunk from the second one.
cmp byte [esi], '"'
jnz .enter_normal_mode
.double_quote:
inc esi
jmp .quoted_mode
.slash_quoted:
; 2d. Process chunk of slashes with possible ending " if escaped
; as described in process_slash macros.
; After that, return to loop in 2a.
process_slash
jmp .reenter_quoted_mode
endp
purge start_arg
purge copy_arg_data
purge process_slash
-55
View File
@@ -1,55 +0,0 @@
# Параметры запуска sdldoom (KolibriOS)
Этот список отражает реальные параметры, доступные в текущей сборке из этого репозитория.
Проверено по:
- `d_main.c`, `g_game.c`, `i_net.c`, `i_video.c`, `m_misc.c`, `p_spec.c`.
> Примечание: лаунчер пока запускает только Wolf3D и Quake; список Doom приведён для справки.
## Параметры (по блокам)
### Файлы и данные
- `@<file>` - response-файл с аргументами.
- `-file <wad1> [wad2 ...]` - добавить PWAD(ы) (до первого аргумента, что начинается с `-`).
- `-config <file>` - путь к конфигу (вместо `.doomrc`).
- `-cdrom` - использовать `c:\doomdata\` для сейвов/конфигов.
### Режимы игры / сложность
- `-skill <1..5>` - сложность.
- `-episode <n>` - стартовый эпизод.
- `-warp <map>` или `-warp <episode> <map>` - старт с указанного уровня.
- `-wart <episode> <map>` - совместимая форма `-warp`.
- `-turbo <percent>` - скорость игрока в процентах.
- `-nomonsters` - без монстров.
- `-respawn` - монстры возрождаются.
- `-fast` - режим fast-monsters.
- `-deathmatch` - deathmatch.
- `-altdeath` - alt-death (без выхода из игры).
- `-timer <minutes>` - лимит времени (для deathmatch).
- `-avg` - вывод средних значений (для deathmatch).
### Демо, тесты и производительность
- `-record <name>` - запись демо.
- `-playdemo <name>` - воспроизведение демо.
- `-timedemo <name>` - timedemo (тест скорости).
- `-loadgame <slot>` - загрузить сохранение (номер слота).
- `-maxdemo <kB>` - максимальный размер демо (в KB).
- `-statcopy <addr>` - копировать статистику во внешний буфер.
- `-nodraw` - выключить рендер.
- `-noblit` - выключить blit.
- `-debugfile` - писать debug-файл `debug<player>.txt`.
- `-devparm` - developer-режим.
- `-shdev`, `-regdev`, `-comdev` - developer-наборы данных.
### Сеть
- `-net <player> ...` - netgame-параметры.
- `-port <p>` - сетевой порт.
- `-dup <n>` - ticdup.
- `-extratic` - extra tic для синхронизации.
### Видео и ввод
- `-fullscreen` - полноэкранный SDL-режим.
- `-2` - масштаб 2x от 320x200 (640x400). Значение по умолчанию.
- `-3` - масштаб 3x от 320x200 (960x600).
- Режим 1x (320x200) недоступен: `multiply` по умолчанию равен 2, флага `-1` нет.
- `-grabmouse` - захват мыши.
-785
View File
@@ -1,785 +0,0 @@
; SPDX-License-Identifier: GPL-2.0-only
;
; Launcher - Launcher for Wolf3D, Doom, Quake
; Copyright (C) 2025-2026 KolibriOS team
;
; Contributor mxlgv - Idea
; Contributor Burer - Main code
; ================================================================
use32
org 0
; ================================================================
db "MENUET01"
dd 0x01
dd START
dd I_END
dd MEM
dd STACK_TOP
dd CMD_LINE
dd 0
; ================================================================
include "../../../programs/macros.inc"
include "../../../programs/KOSfuncs.inc"
include "../../../programs/encoding.inc"
include "../../../programs/proc32.inc"
include "../../../programs/dll.inc"
include "../../../programs/develop/libraries/box_lib/box_lib.mac"
include "cmdline.inc"
; ================================================================
LIBS:
library gui, "box_lib.obj"
import gui, optionbox.draw, "option_box_draw", \
optionbox.mouse, "option_box_mouse"
; ================================================================
START:
; Parse the command line FIRST: heap init and dll.Load below reuse the
; memory the OS placed it in, so reading it later loses the --game arg.
call select_game
mcall SF_SET_EVENTS_MASK, EVM_REDRAW + EVM_BUTTON + EVM_MOUSE
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc, sizeof.system_colors
mcall SF_SYS_MISC, SSF_HEAP_INIT
; load gamepad icon from reshare (32 bpp); eax = 0 if ICONS18W absent
mcall SF_SYS_MISC, SSF_MEM_OPEN, icon_mem, , 0
test eax, eax
jz @f
lea eax, [eax + 23 * IC_PLAY.W * IC_PLAY.H * 4]
@@:
mov [icon_play], eax
; load dynamic libraries
stdcall dll.Load, LIBS
test eax, eax
jnz button.exit
call draw_window
jmp still
; ================================================================
still:
mcall SF_WAIT_EVENT
cmp al, EV_REDRAW
je redraw
cmp al, EV_BUTTON
je button
call options_mouse
jmp still
; ================================================================
redraw:
call draw_window
jmp still
; ================================================================
button:
mcall SF_GET_BUTTON
cmp ah, 1
je .exit
cmp ah, BTN_PLAY
je run_game
jmp still
.exit:
mcall SF_TERMINATE_PROCESS
; ================================================================
draw_window:
mcall SF_REDRAW, SSF_BEGIN_DRAW
mov edx, [sc.work]
add edx, 0x34000000
mcall SF_CREATE_WINDOW, <WN_RECT.X, WN_RECT.W>, <WN_RECT.Y, WN_RECT.H>, , , [title_ptr]
; mode, resolutions and scale headers
mov ecx, FONT_BIG
add ecx, [sc.work_text]
mcall SF_DRAW_TEXT, <LB_MODE.X, LB_MODE.Y> , , label_mode
mcall , <LB_MODE.X + 1, LB_MODE.Y> , ,
mcall , <LB_RES.X, LB_RES.Y> , , label_res
mcall , <LB_RES.X + 1, LB_RES.Y> , ,
mcall , <LB_SCALE.X, LB_SCALE.Y>, , label_scale
mcall , <LB_SCALE.X + 1, LB_SCALE.Y>, ,
; options groups
call options_set_colors
invoke optionbox.draw, op_list_mode
invoke optionbox.draw, op_list_res
invoke optionbox.draw, op_list_scale
call draw_option_labels
; play button
mcall SF_DEFINE_BUTTON, <BT_PLAY.X, BT_PLAY.W>, <BT_PLAY.Y, BT_PLAY.H>, BTN_PLAY, [sc.work_button]
mov ecx, [sc.work_button_text]
add ecx, FONT_BIG
mcall SF_DRAW_TEXT, <LB_PLAY.X, LB_PLAY.Y>, , text_play
call draw_icon_transparent
mcall SF_REDRAW, SSF_END_DRAW
ret
draw_option_labels:
mov ecx, [sc.work_text]
add ecx, FONT_BIG
mcall SF_DRAW_TEXT, <LB_MODE_WIN.X, LB_MODE_WIN.Y> , , text_win
mcall , <LB_MODE_WINF.X, LB_MODE_WINF.Y>, , text_winf
mcall , <LB_MODE_FULL.X, LB_MODE_FULL.Y>, , text_full
cmp [op_group_mode], op_mode_win
je .windowed
; dimmed labels for resolution and scale in fullscreen mode
mov ecx, [sc.work_graph]
add ecx, FONT_BIG
.windowed:
mcall SF_DRAW_TEXT, <LB_RES_320_200.X, LB_RES_320_200.Y>, , text_320_200
mcall , <LB_RES_320_240.X, LB_RES_320_240.Y>, , text_320_240
mcall , <LB_SCALE_1.X, LB_SCALE_1.Y> , , text_x1
mcall , <LB_SCALE_2.X, LB_SCALE_2.Y> , , text_x2
mcall , <LB_SCALE_3.X, LB_SCALE_3.Y> , , text_x3
mcall , <LB_SCALE_4.X, LB_SCALE_4.Y> , , text_x4
ret
draw_icon_transparent:
mov esi, [icon_play]
test esi, esi ; ICONS18W unavailable -> skip icon
jz .ret
mov edi, [sc.work]
and edi, 0x00FFFFFF
mov ecx, IC_PLAY.Y
mov ebp, IC_PLAY.H
.row:
mov ebx, IC_PLAY.X
mov eax, IC_PLAY.W
.col:
mov edx, [esi]
and edx, 0x00FFFFFF
cmp edx, edi
je .skip
cmp edx, 0x00C5BDB9
je .skip
push eax
mcall SF_PUT_PIXEL
pop eax
.skip:
add esi, 4
inc ebx
dec eax
jnz .col
inc ecx
dec ebp
jnz .row
.ret:
ret
; ================================================================
options_mouse:
invoke optionbox.mouse, op_list_mode
cmp [op_group_mode], op_mode_win
jne .fullscreen
invoke optionbox.mouse, op_list_res
invoke optionbox.mouse, op_list_scale
.fullscreen:
call options_sync
test al, al
jnz draw_window
ret
options_sync:
xor eax, eax
mov ebx, MODE_WIN
cmp [op_group_mode], op_mode_win
je .mode_set
mov ebx, MODE_WINF
cmp [op_group_mode], op_mode_winf
je .mode_set
mov ebx, MODE_FULL
.mode_set:
cmp [mode], ebx
je .mode_done
mov [mode], ebx
or al, 1
.mode_done:
xor ebx, ebx
cmp [op_group_res], op_res_320_200
setne bl
cmp [base_res_index], ebx
je .res_done
mov [base_res_index], ebx
or al, 1
.res_done:
xor ebx, ebx
cmp [op_group_scale], op_scale_1
je .scale_set
inc ebx
cmp [op_group_scale], op_scale_2
je .scale_set
inc ebx
cmp [op_group_scale], op_scale_3
je .scale_set
inc ebx
.scale_set:
cmp [scale_index], ebx
je .scale_done
mov [scale_index], ebx
or al, 1
.scale_done:
ret
options_set_colors:
mov eax, [sc.work_button]
mov ebx, [sc.work_light]
mov ecx, [sc.work]
add ecx, FONT_BIG
mov esi, op_list_mode
call options_set_group_colors
cmp [mode], dword MODE_WIN
jne .disabled
mov esi, op_list_res
call options_set_group_colors
mov esi, op_list_scale
call options_set_group_colors
ret
.disabled:
mov eax, [sc.work_graph]
mov ebx, [sc.work]
mov ecx, [sc.work]
add ecx, FONT_BIG
mov esi, op_list_res
call options_set_group_colors
mov esi, op_list_scale
call options_set_group_colors
ret
options_set_group_colors:
.loop:
mov edi, [esi]
test edi, edi
jz .end
mov op_border_color, eax
mov op_color, ebx
mov op_text_color, ecx
add esi, 4
jmp .loop
.end:
ret
; ================================================================
select_game:
mov dword [title_ptr], title_wolf
mov dword [args_res_ptr], args_res_wolf
mov dword [run_info.file], run_name_wolf
cld
mov esi, CMD_LINE
mov edi, argv_buf
mov edx, argv_ptrs
call parse_cmdline
mov ecx, ebx
mov esi, argv_ptrs
.loop:
test ecx, ecx
jz .done
mov eax, [esi]
add esi, 4
dec ecx
mov edi, token_game
call streq
jnz .loop
test ecx, ecx
jz .done
mov eax, [esi]
add esi, 4
dec ecx
mov edi, arg_wolf
call streq
jz .set_wolf
mov edi, arg_quake
call streq
jz .set_quake
mov edi, arg_doom
call streq
jz .set_doom
jmp .loop
.set_wolf:
mov dword [title_ptr], title_wolf
mov dword [args_res_ptr], args_res_wolf
mov dword [args_fs_ptr], arg_fullscreen_wolf
mov dword [run_info.file], run_name_wolf
jmp .loop
.set_doom:
mov dword [title_ptr], title_doom
mov dword [args_res_ptr], args_res_doom
mov dword [args_fs_ptr], arg_fullscreen
mov dword [run_info.file], run_name_doom
jmp .loop
.set_quake:
mov dword [title_ptr], title_quake
mov dword [args_res_ptr], args_res_quake
mov dword [args_fs_ptr], arg_fullscreen
mov dword [run_info.file], run_name_quake
jmp .loop
.done:
ret
streq:
push esi
push edi
mov esi, eax
.cmp:
mov bl, [esi]
mov bh, [edi]
cmp bl, bh
jne .no
test bl, bl
jz .yes
inc esi
inc edi
jmp .cmp
.yes:
pop edi
pop esi
xor eax, eax
ret
.no:
pop edi
pop esi
or eax, 1
ret
; ================================================================
args_build:
mov edi, args_buffer
mov ecx, ARGS_BUF_SIZE
xor eax, eax
rep stosb
mov edi, args_buffer
mov esi, [args_res_ptr]
call args_append_str
cmp [mode], dword MODE_WIN
je .windowed
cmp [mode], dword MODE_FULL
je .exclusive
; windowed fullscreen mode, screen_size - consts
call get_screen_size
call get_skin_height
mov eax, [screen_w]
sub eax, UI_PADDING * 2
mov edx, [screen_h]
sub edx, [skin_h]
sub edx, UI_PADDING
jmp .emit
; exclusive fullscreen, full screen size (borderless via -fullscreen)
.exclusive:
call get_screen_size
mov eax, [screen_w]
mov edx, [screen_h]
jmp .emit
; windowed mode, res * scale
.windowed:
mov eax, [base_res_index]
mov ebx, [base_w + eax * 4]
mov edx, [base_h + eax * 4]
mov eax, [scale_index]
mov ecx, [scale_vals + eax * 4]
imul ebx, ecx
imul edx, ecx
mov eax, ebx
.emit:
push edx
call args_append_uint
mov al, ' '
stosb
pop edx
mov eax, edx
call args_append_uint
cmp [mode], dword MODE_FULL
jne .no_fs
mov esi, [args_fs_ptr]
test esi, esi
jz .no_fs
call args_append_str
.no_fs:
ret
args_append_str:
lodsb
test al, al
jz .done
stosb
jmp args_append_str
.done:
ret
args_append_uint:
mov esi, num_buf + 15
mov byte [esi], 0
mov ebx, 10
cmp eax, 0
jne .loop
dec esi
mov byte [esi], '0'
jmp .copy
.loop:
xor edx, edx
div ebx
add dl, '0'
dec esi
mov [esi], dl
test eax, eax
jne .loop
.copy:
mov al, [esi]
test al, al
jz .done
stosb
inc esi
jmp .copy
.done:
ret
; ================================================================
run_game:
call args_build
mov dword [run_info.args], args_buffer
mcall SF_FILE, run_info
jmp still
; ================================================================
get_screen_size:
mcall SF_GET_SCREEN_SIZE
movzx ecx, ax
inc ecx
mov [screen_h], ecx
shr eax, 16
inc eax
mov [screen_w], eax
ret
get_skin_height:
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
mov [skin_h], eax
ret
; ================================================================
WN_RECT RECT 128, 128, 220, 293
LB_MODE RECT 7, 10, 0, 0
LB_MODE_WIN RECT 30, 35, 0, 0
LB_MODE_WINF RECT 30, 58, 0, 0
LB_MODE_FULL RECT 30, 81, 0, 0
BT_MODE_WIN RECT 8, 34, 15, 15
BT_MODE_WINF RECT 8, 57, 15, 15
BT_MODE_FULL RECT 8, 80, 15, 15
LB_RES RECT 7, 109, 0, 0
LB_RES_320_200 RECT 30, 134, 0, 0
LB_RES_320_240 RECT 30, 158, 0, 0
BT_RES_320_200 RECT 8, 133, 15, 15
BT_RES_320_240 RECT 8, 157, 15, 15
LB_SCALE RECT 134, 109, 0, 0
LB_SCALE_1 RECT 157, 134, 0, 0
LB_SCALE_2 RECT 157, 157, 0, 0
LB_SCALE_3 RECT 157, 180, 0, 0
LB_SCALE_4 RECT 157, 203, 0, 0
BT_SCALE_1 RECT 135, 133, 15, 15
BT_SCALE_2 RECT 135, 156, 15, 15
BT_SCALE_3 RECT 135, 179, 15, 15
BT_SCALE_4 RECT 135, 202, 15, 15
BT_PLAY RECT 8, 233, 196, 23
LB_PLAY RECT 100, 237, 0, 0
IC_PLAY RECT 76, 235, 18, 18
FONT_BIG = 0x90000000
UI_MARGIN = 9
UI_PADDING = 5
; ================================================================
if lang eq ru_RU
title_wolf cp866 "Лаунчер Wolf3D", 0
title_doom cp866 "Лаунчер Doom", 0
title_quake cp866 "Лаунчер Quake", 0
label_mode cp866 "Режим отображения:", 0
label_res cp866 "Разрешение:", 0
label_scale cp866 "Масштаб:", 0
text_win cp866 "Оконный", 0
text_win_len = $ - text_win - 1
text_winf cp866 "Полноэкр. в окне", 0
text_winf_len = $ - text_winf - 1
text_full cp866 "Весь экран", 0
text_full_len = $ - text_full - 1
text_play cp866 "Играть", 0
else if lang eq es_ES
title_wolf cp850 "Wolf3D Launcher", 0
title_doom cp850 "Doom Launcher", 0
title_quake cp850 "Quake Launcher", 0
label_mode cp850 "Modo de pantalla:", 0
label_res cp850 "Resolucion:", 0
label_scale cp850 "Escala:", 0
text_win cp850 "En ventana", 0
text_win_len = $ - text_win - 1
text_winf cp850 "Ventana completa", 0
text_winf_len = $ - text_winf - 1
text_full cp850 "Pantalla completa", 0
text_full_len = $ - text_full - 1
text_play cp850 "Jugar", 0
else
title_wolf db "Wolf3D Launcher", 0
title_doom db "Doom Launcher", 0
title_quake db "Quake Launcher", 0
label_mode db "Display mode:", 0
label_res db "Resolution:", 0
label_scale db "Scale:", 0
text_win db "Windowed", 0
text_win_len = $ - text_win - 1
text_winf db "Windowed fullscreen", 0
text_winf_len = $ - text_winf - 1
text_full db "Exclusive fullscreen", 0
text_full_len = $ - text_full - 1
text_play db "Play", 0
endf
text_320_200 db "320x200", 0
text_320_200_len = $ - text_320_200 - 1
text_320_240 db "320x240", 0
text_320_240_len = $ - text_320_240 - 1
text_x1 db "x1", 0
text_x1_len = $ - text_x1 - 1
text_x2 db "x2", 0
text_x2_len = $ - text_x2 - 1
text_x3 db "x3", 0
text_x3_len = $ - text_x3 - 1
text_x4 db "x4", 0
text_x4_len = $ - text_x4 - 1
; ================================================================
op_mode_win option_box op_group_mode, BT_MODE_WIN.X, BT_MODE_WIN.Y, UI_MARGIN, BT_MODE_WIN.W, 0, 0, 0, text_win, text_win_len, 0
op_mode_winf option_box op_group_mode, BT_MODE_WINF.X, BT_MODE_WINF.Y, UI_MARGIN, BT_MODE_WINF.W, 0, 0, 0, text_winf, text_winf_len, 0
op_mode_full option_box op_group_mode, BT_MODE_FULL.X, BT_MODE_FULL.Y, UI_MARGIN, BT_MODE_FULL.W, 0, 0, 0, text_full, text_full_len, 0
op_res_320_200 option_box op_group_res, BT_RES_320_200.X, BT_RES_320_200.Y, UI_MARGIN, BT_RES_320_200.W, 0, 0, 0, text_320_200, text_320_200_len, 0
op_res_320_240 option_box op_group_res, BT_RES_320_240.X, BT_RES_320_240.Y, UI_MARGIN, BT_RES_320_240.W, 0, 0, 0, text_320_240, text_320_240_len, 0
op_scale_1 option_box op_group_scale, BT_SCALE_1.X, BT_SCALE_1.Y, UI_MARGIN, BT_SCALE_1.W, 0, 0, 0, text_x1, text_x1_len, 0
op_scale_2 option_box op_group_scale, BT_SCALE_2.X, BT_SCALE_2.Y, UI_MARGIN, BT_SCALE_2.W, 0, 0, 0, text_x2, text_x2_len, 0
op_scale_3 option_box op_group_scale, BT_SCALE_3.X, BT_SCALE_3.Y, UI_MARGIN, BT_SCALE_3.W, 0, 0, 0, text_x3, text_x3_len, 0
op_scale_4 option_box op_group_scale, BT_SCALE_4.X, BT_SCALE_4.Y, UI_MARGIN, BT_SCALE_4.W, 0, 0, 0, text_x4, text_x4_len, 0
op_list_mode dd op_mode_win, op_mode_winf, op_mode_full, 0
op_list_res dd op_res_320_200, op_res_320_240, 0
op_list_scale dd op_scale_1, op_scale_2, op_scale_3, op_scale_4, 0
op_group_mode dd op_mode_win
op_group_res dd op_res_320_200
op_group_scale dd op_scale_3
; ================================================================
MODE_WIN = 0 ; windowed
MODE_WINF = 1 ; windowed fullsceen
MODE_FULL = 2 ; exclusive (borderless) fullscreen
RES_320_200 = 0 ; 320x200
RES_320_240 = 1 ; 320x240
SCALE_X1 = 0 ; x1
SCALE_X2 = 1 ; x2
SCALE_X3 = 2 ; x3
SCALE_X4 = 3 ; x4
mode dd MODE_WIN
base_res_index dd RES_320_200
scale_index dd SCALE_X3
base_w dd 320, 320
base_h dd 200, 240
scale_vals dd 1, 2, 3, 4
screen_w dd 0
screen_h dd 0
skin_h dd 0
BTN_PLAY = 0x40
icon_play dd 0x00000000
icon_mem db "ICONS18W", 0
token_game db "--game", 0
arg_wolf db "wolf3d", 0
arg_doom db "doom", 0
arg_quake db "quake", 0
; game-specific data
title_ptr dd title_wolf
args_res_ptr dd args_res_wolf
args_fs_ptr dd arg_fullscreen_wolf
args_res_wolf db "--resf ", 0
args_res_doom db "-winsize ", 0
args_res_quake db "-winsize ", 0
arg_fullscreen db " -fullscreen", 0
arg_fullscreen_wolf db " --fullscreen", 0
run_info:
.func dd SSF_START_APP
.flags dd 0
.args dd 0
.res0 dd 0
.res1 dd 0
.zero db 0
.file dd run_name_wolf
run_name_wolf db "/kolibrios/games/wolf3d/wolf3d", 0
run_name_doom db "/kolibrios/games/doom1/doom", 0
run_name_quake db "/kolibrios/games/quake/sdlquake", 0
; ================================================================
I_END:
; The kernel zeroes an app's BSS only from the first page boundary past I_END
; (map_process_image rounds file_size UP to a page before clearing), so the tail
; of the last loaded page holds garbage. Page-align these reserved buffers into
; the zeroed region. The padding and buffers are reserved (not stored in the
; binary), so this keeps the file small while guaranteeing zeroed buffers.
align 4096
sc system_colors
ARGS_BUF_SIZE = 64
args_buffer rb ARGS_BUF_SIZE
num_buf rb 16
CMD_LINE rb 256
argv_ptrs rd 16
argv_buf rb 256
rb 1024 ; stack
align 512
STACK_TOP:
MEM:
-41
View File
@@ -1,41 +0,0 @@
# Параметры запуска sdlquake (KolibriOS)
Этот список отражает реальные параметры, доступные в текущей сборке из этого репозитория.
Проверено по `Makefile.kos` и файлам из `C_SRC`.
## Параметры (по блокам)
### Файлы и данные
- `-basedir <dir>` - задать базовый каталог игры.
- `-cachedir <dir>` - каталог кеша (если далее идёт аргумент с `-`, кеш выключается).
- `-game <gamedir>` - добавить `basedir/gamedir` как override-данные.
- `-path <p1> <p2> ...` - задать поисковые пути полностью.
- `-hipnotic` - mission pack Hipnotic.
- `-rogue` - mission pack Rogue.
- `-proghack` - режим совместимости для `progs.dat`.
### Сеть и сервер
- `-dedicated [maxclients]` - выделенный сервер.
- `-listen [maxclients]` - слушать как сервер.
- `-port <p>` / `-udpport <p>` / `-ipxport <p>` - сетевой порт.
- `-record` - записать VCR (`quake.vcr`).
- `-playback` - воспроизвести VCR (`quake.vcr`).
### Видео и ввод
- `-winsize <width> <height>` - размер окна/буфера SDL в пикселях. **Используется лаунчером.**
- `-fullscreen` - полноэкранный (безрамочный) режим. **Используется лаунчером** вместе с `-winsize` под размер экрана.
- `-nomouse` - выключить инициализацию мыши.
### Звук
- `-nosound` - выключить звук.
- `-simsound` - эмуляция звука без реального вывода.
### Производительность, память и диагностика
- `-surfcachesize <kb>` - размер surface cache в KB.
- `-particles <n>` - число частиц.
- `-zone <kb>` - размер zone memory в KB.
- `-minmemory` - минимизировать расход памяти.
- `-condebug` - писать `qconsole.log` в текущий `com_gamedir`.
- `-safe` - безопасный режим: включает набор «-no*» флагов. На KolibriOS реально действуют `-nosound` и `-nomouse`, остальные относятся к другим платформам.
Размер кучи (8 МБ) автоматически увеличивается под выбранное разрешение в `sys_sdl.c`, чтобы видеобуферы (z-buffer + surface cache) не переполняли её на больших окнах/полноэкранном режиме.
-39
View File
@@ -1,39 +0,0 @@
# Параметры запуска Wolf3D (KolibriOS)
Этот список отражает реальные параметры, доступные в текущей сборке из этого репозитория.
Проверено по:
- `contrib/games/wolf3d/wl_main.cpp` (парсер аргументов).
- `contrib/games/wolf3d/Makefile` и `contrib/games/wolf3d/Tupfile.lua` (определён `_KOLIBRI`).
- `contrib/games/wolf3d/version.h` (не определены `SPEAR`/`SPEARDEMO`, определён `GOODTIMES`).
## Параметры (по блокам)
### Общие
- `--help` - показать справку.
- `--goobers` - режим отладки.
- `--nowait` - пропустить вступительные экраны.
- `--tedlevel <level>` - старт с указанного уровня.
- `--baby` / `--easy` / `--normal` / `--hard` - сложность (для `--tedlevel`).
- `--mission <0..3>` - выбор миссии. Только Spear of Destiny; в этой сборке Wolf3D аргумент принимается, но ни на что не влияет.
### Видео и ввод
- `--res <width> <height>` - разрешение, кратное 320x200 или 320x240.
- `--resf <w> <h>` - любое разрешение >= 320x200 (возможны артефакты). **Используется лаунчером.**
- `--windowed` / `--windowed-mouse` - оконный режим (с рамкой). **По умолчанию в KolibriOS-сборке.**
- `--fullscreen` - полноэкранный (безрамочный) режим. **Используется лаунчером для Exclusive fullscreen.**
- `--bits <b>` - глубина цвета: 8/16/24/32.
- `--nodblbuf` - отключить двойную буферизацию SDL.
- `--extravbls <vbls>` - задержка после кадра (уменьшает мерцание).
### Звук
- `--nosound` - отключить звук.
- `--audiobuffer <size>` - размер аудиобуфера в байтах.
### Файлы и данные
- `--configdir <dir>` - каталог конфигов и сохранений.
- `--ignorenumchunks` - игнорировать число чанков в `VGAHEAD.*`.
- `--goodtimes` - снять проверку защиты (только Spear of Destiny). В сборке Wolf3D принимается, но не действует (`GOODTIMES` уже определён).
### Недоступно в KolibriOS-сборке
В текущей KolibriOS-сборке (с `-D_KOLIBRI`) эти опции отключены в коде:
- `--joystick`, `--joystickhat`, `--samplerate`.
+1 -1
View File
@@ -17,7 +17,7 @@ compile_gcc{
"wl_cloudsky.cpp", "wl_debug.cpp", "id_sd.cpp", "wl_play.cpp", "id_vl.cpp", "wl_act2.cpp", "wl_floorceiling.cpp", "wl_dir3dspr.cpp",
"wl_state.cpp", "wl_atmos.cpp", "id_in.cpp", "signon.cpp", "wl_parallax.cpp", "wl_agent.cpp", "sdl_winmain.cpp", "wl_inter.cpp", "wl_text.cpp",
"id_pm.cpp", "wl_draw.cpp", "wl_menu.cpp", "wl_game.cpp", "wl_act1.cpp", "wl_main.cpp", "wl_shade.cpp", "id_us_1.cpp", "id_vh.cpp", "id_ca.cpp",
"joystick_stub.cpp", "mame/fmopl.cpp",
"joystick_stub.cpp", "kolibri.cpp", "mame/fmopl.cpp",
}
-- SDL_mixer stubs --
+1 -4
View File
@@ -1009,9 +1009,6 @@ void CA_CacheScreen (int chunk)
CHECKMALLOCRESULT(pic);
CAL_HuffExpand((byte *) source, pic, expanded, grhuffman);
if(screenXoffset || screenYoffset)
VL_ClearScreen(0); // clear letterbox margins
vbuf = VL_LockSurface(curSurface);
if(vbuf != NULL)
{
@@ -1022,7 +1019,7 @@ void CA_CacheScreen (int chunk)
byte col = pic[(y * 80 + (x >> 2)) + (x & 3) * 80 * 200];
for(i = 0; i < scaleFactor; i++)
for(j = 0; j < scaleFactor; j++)
vbuf[(scy + i + screenYoffset) * curPitch + scx + j + screenXoffset] = col;
vbuf[(scy + i) * curPitch + scx + j] = col;
}
}
VL_UnlockSurface(curSurface);
+1 -2
View File
@@ -24,8 +24,7 @@ void VWB_DrawPropString(const char* string)
font = (fontstruct *) grsegs[STARTFONT+fontnumber];
height = font->height;
dest = vbuf + (scaleFactor * py + screenYoffset) * curPitch
+ scaleFactor * px + screenXoffset;
dest = vbuf + scaleFactor * (py * curPitch + px);
while ((ch = (byte)*string++)!=0)
{
+5 -15
View File
@@ -16,14 +16,7 @@
#define assert_ret(x) assert(x)
#endif
boolean fullscreen = false;
// Centering of the logical 320x200 layer (menus, title/intro, fonts, fullscreen
// pics) when the resolution isn't an exact multiple of 320x200. The 3D view and
// in-game HUD use physical coordinates and stay full-screen.
int screenXoffset = 0;
int screenYoffset = 0;
boolean fullscreen = true;
#if defined(_arch_dreamcast)
boolean usedoublebuffering = false;
unsigned screenWidth = 320;
@@ -150,9 +143,6 @@ void VL_SetVGAPlaneMode (void)
scaleFactor = screenWidth/320;
if(screenHeight/200 < scaleFactor) scaleFactor = screenHeight/200;
screenXoffset = (screenWidth - scaleFactor * 320) / 2;
screenYoffset = (screenHeight - scaleFactor * 200) / 2;
pixelangle = (short *) malloc(screenWidth * sizeof(short));
CHECKMALLOCRESULT(pixelangle);
wallheight = (int *) malloc(screenWidth * sizeof(int));
@@ -444,7 +434,7 @@ void VL_Plot (int x, int y, int color)
ptr = VL_LockSurface(curSurface);
if(ptr == NULL) return;
ptr[(y + screenYoffset) * curPitch + x + screenXoffset] = color;
ptr[y * curPitch + x] = color;
VL_UnlockSurface(curSurface);
}
@@ -469,7 +459,7 @@ byte VL_GetPixel (int x, int y)
ptr = VL_LockSurface(curSurface);
if(ptr == NULL) return 0;
col = ((byte *) curSurface->pixels)[(y + screenYoffset) * curPitch + x + screenXoffset];
col = ((byte *) curSurface->pixels)[y * curPitch + x];
VL_UnlockSurface(curSurface);
@@ -496,7 +486,7 @@ void VL_Hlin (unsigned x, unsigned y, unsigned width, int color)
ptr = VL_LockSurface(curSurface);
if(ptr == NULL) return;
memset(ptr + (y + screenYoffset) * curPitch + x + screenXoffset, color, width);
memset(ptr + y * curPitch + x, color, width);
VL_UnlockSurface(curSurface);
}
@@ -521,7 +511,7 @@ void VL_Vlin (int x, int y, int height, int color)
ptr = VL_LockSurface(curSurface);
if(ptr == NULL) return;
ptr += (y + screenYoffset) * curPitch + x + screenXoffset;
ptr += y * curPitch + x;
while (height--)
{
+4 -5
View File
@@ -16,7 +16,6 @@ extern SDL_Surface *screen, *screenBuffer, *curSurface;
extern boolean fullscreen, usedoublebuffering;
extern unsigned screenWidth, screenHeight, screenBits, screenPitch, bufferPitch, curPitch;
extern unsigned scaleFactor;
extern int screenXoffset, screenYoffset;
extern boolean screenfaded;
extern unsigned bordercolor;
@@ -54,7 +53,7 @@ void VL_Vlin (int x, int y, int height, int color);
void VL_BarScaledCoord (int scx, int scy, int scwidth, int scheight, int color);
void inline VL_Bar (int x, int y, int width, int height, int color)
{
VL_BarScaledCoord(scaleFactor*x + screenXoffset, scaleFactor*y + screenYoffset,
VL_BarScaledCoord(scaleFactor*x, scaleFactor*y,
scaleFactor*width, scaleFactor*height, color);
}
void inline VL_ClearScreen(int color)
@@ -74,7 +73,7 @@ void VL_MemToScreenScaledCoord (byte *source, int origwidth, int origheight, in
void inline VL_MemToScreen (byte *source, int width, int height, int x, int y)
{
VL_MemToScreenScaledCoord(source, width, height,
scaleFactor*x + screenXoffset, scaleFactor*y + screenYoffset);
scaleFactor*x, scaleFactor*y);
}
void VL_MaskedToScreen (byte *source, int width, int height, int x, int y);
@@ -86,7 +85,7 @@ void inline VL_LatchToScreen (SDL_Surface *source, int xsrc, int ysrc,
int width, int height, int xdest, int ydest)
{
VL_LatchToScreenScaledCoord(source,xsrc,ysrc,width,height,
scaleFactor*xdest + screenXoffset,scaleFactor*ydest + screenYoffset);
scaleFactor*xdest,scaleFactor*ydest);
}
void inline VL_LatchToScreenScaledCoord (SDL_Surface *source, int scx, int scy)
{
@@ -95,5 +94,5 @@ void inline VL_LatchToScreenScaledCoord (SDL_Surface *source, int scx, int scy)
void inline VL_LatchToScreen (SDL_Surface *source, int x, int y)
{
VL_LatchToScreenScaledCoord(source,0,0,source->w,source->h,
scaleFactor*x + screenXoffset,scaleFactor*y + screenYoffset);
scaleFactor*x,scaleFactor*y);
}
+37
View File
@@ -0,0 +1,37 @@
#include <stdlib.h>
#include <sys/ksys.h>
#include <string.h>
extern unsigned screenWidth;
extern unsigned screenHeight;
void kolibri_set_win_max(void){
unsigned multip1, multip2;
ksys_pos_t screen_size = _ksys_screen_size();
screen_size.y++;
screen_size.x++;
multip1 = (screen_size.y)/240;
multip2 = (screen_size.y)/200;
do{
screenWidth = 320 * multip1;
screenHeight = 240 * multip1;
if(screenWidth<=screen_size.x){
break;
}
screenWidth = 320 * multip2;
screenHeight = 200 * multip2;
if(screenWidth<=screen_size.y){
break;
}
multip1--;
multip2--;
}while(multip1>0 && multip2>0);
}
-8
View File
@@ -134,8 +134,6 @@ Victory (void)
CA_CacheGrChunk (BJCOLLAPSE3PIC);
CA_CacheGrChunk (BJCOLLAPSE4PIC);
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0, 0, 320, 200, VIEWCOLOR);
VWB_DrawPic (124, 44, BJCOLLAPSE1PIC);
VW_UpdateScreen ();
@@ -167,8 +165,6 @@ Victory (void)
CA_CacheGrChunk (C_TIMECODEPIC);
#endif
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0, 0, 320, screenHeight / scaleFactor - STATUSLINES + 1, VIEWCOLOR);
if (bordercol != VIEWCOLOR)
DrawStatusBorder (VIEWCOLOR);
@@ -316,8 +312,6 @@ void
PG13 (void)
{
VW_FadeOut ();
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0, 0, 320, 200, 0x82); // background
CA_CacheGrChunk (PG13PIC);
@@ -565,8 +559,6 @@ LevelCompleted (void)
CacheLump (LEVELEND_LUMP_START, LEVELEND_LUMP_END);
ClearSplitVWB (); // set up for double buffering in split screen
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0, 0, 320, screenHeight / scaleFactor - STATUSLINES + 1, VIEWCOLOR);
if (bordercol != VIEWCOLOR)
+6 -3
View File
@@ -1369,7 +1369,7 @@ boolean SetViewSize (unsigned width, unsigned height)
{
viewscreenx = (screenWidth-viewwidth) / 2;
viewscreeny = (screenHeight-scaleFactor*STATUSLINES-viewheight)/2;
screenofs = viewscreeny*bufferPitch+viewscreenx;
screenofs = viewscreeny*screenWidth+viewscreenx;
}
//
@@ -1721,6 +1721,7 @@ void CheckParameters(int argc, char *argv[])
}
else IFARG("--nosound")
SD_Started=true;
#ifndef _KOLIBRI
else IFARG("--windowed")
fullscreen = false;
else IFARG("--windowed-mouse")
@@ -1728,8 +1729,7 @@ void CheckParameters(int argc, char *argv[])
fullscreen = false;
forcegrabmouse = true;
}
else IFARG("--fullscreen")
fullscreen = true;
#endif
else IFARG("--res")
{
if(i + 2 >= argc)
@@ -1971,10 +1971,13 @@ void CheckParameters(int argc, char *argv[])
==========================
*/
extern void kolibri_set_win_max(void);
int main (int argc, char *argv[])
{
#ifdef _KOLIBRI
_ksys_setcwd(dirname(argv[0]));
kolibri_set_win_max();
#endif
#if defined(_arch_dreamcast)
-2
View File
@@ -3066,8 +3066,6 @@ IntroScreen (void)
void
ClearMScreen (void)
{
if(screenXoffset || screenYoffset)
VL_ClearScreen(0); // clear letterbox margins
#ifndef SPEAR
VWB_Bar (0, 0, 320, 200, BORDCOLOR);
#else
-4
View File
@@ -424,8 +424,6 @@ void PageLayout (boolean shownumber)
//
// clear the screen
//
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0,0,320,200,BACKCOLOR);
VWB_DrawPic (0,0,H_TOPWINDOWPIC);
VWB_DrawPic (0,8,H_LEFTWINDOWPIC);
@@ -644,8 +642,6 @@ void ShowArticle (char *article)
oldfontnumber = fontnumber;
fontnumber = 0;
CA_CacheGrChunk(STARTFONT);
if(screenXoffset || screenYoffset)
VL_ClearScreen(0);
VWB_Bar (0,0,320,200,BACKCOLOR);
CacheLayoutGraphics ();
#endif
-138
View File
@@ -1,138 +0,0 @@
/*OUTPUT_FORMAT("binary")*/
/* SEARCH_DIR("=/lib") */
/* SEARCH_DIR("=/mingw32/lib") */
ENTRY(__start)
SECTIONS
{
.text 0x000000:
{
LONG(0x554e454D);
LONG(0x32305445);
LONG(1);
LONG(__start);
LONG(___iend);
LONG(___memsize);
LONG(___stacktop);
LONG(___cmdline);
LONG(___pgmname); /* full path */
LONG(__subsystem__);
LONG(__idata_start)
LONG(__idata_end)
LONG(_main)
*(.init)
*(.text)
*(SORT(.text$*))
*(.text.*)
*(.glue_7t)
*(.glue_7)
___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0);
___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0);
*(.fini)
/* ??? Why is .gcc_exc here? */
*(.gcc_exc)
PROVIDE (etext = .);
*(.gcc_except_table)
}
.rdata ALIGN(16) :
{
*(.rdata)
*(SORT(.rdata$*))
___RUNTIME_PSEUDO_RELOC_LIST__ = .;
__RUNTIME_PSEUDO_RELOC_LIST__ = .;
*(.rdata_runtime_pseudo_reloc)
___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;
}
.CRT ALIGN(16) :
{
___crt_xc_start__ = . ;
*(SORT(.CRT$XC*)) /* C initialization */
___crt_xc_end__ = . ;
___crt_xi_start__ = . ;
*(SORT(.CRT$XI*)) /* C++ initialization */
___crt_xi_end__ = . ;
___crt_xl_start__ = . ;
*(SORT(.CRT$XL*)) /* TLS callbacks */
/* ___crt_xl_end__ is defined in the TLS Directory support code */
___crt_xp_start__ = . ;
*(SORT(.CRT$XP*)) /* Pre-termination */
___crt_xp_end__ = . ;
___crt_xt_start__ = . ;
*(SORT(.CRT$XT*)) /* Termination */
___crt_xt_end__ = . ;
}
.data ALIGN(16) :
{
PROVIDE ( __data_start__ = .) ;
*(.data)
*(.data2)
*(SORT(.data$*))
*(.jcr)
__CRT_MT = .;
LONG(1);
PROVIDE ( __data_end__ = .) ;
*(.data_cygwin_nocopy)
___iend = . ;
}
.eh_frame BLOCK(16) :
{
PROVIDE (___EH_FRAME_BEGIN__ = .) ;
*(.eh_frame*)
___FRAME_END__ = . ;
LONG(0);
}
.idata ALIGN(16):
{
__idata_start = .;
SORT(*)(.idata$2)
SORT(*)(.idata$3)
/* These zeroes mark the end of the import list. */
LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
__idata_end = . ;
}
bss ALIGN(16):
{
*(.bss)
*(COMMON)
. = ALIGN(16);
___cmdline = .;
. = . + 256;
___pgmname = .;
. = . + 1024 + 16;
___stacktop = .;
___memsize = . ;
}
/DISCARD/ :
{
*(.debug$S)
*(.debug$T)
*(.debug$F)
*(.drectve)
*(.note.GNU-stack)
*(.comment)
/* *(.eh_frame) */
*(.debug_abbrev)
*(.debug_info)
*(.debug_line)
*(.debug_frame)
*(.debug_loc)
*(.debug_pubnames)
*(.debug_aranges)
*(.debug_ranges)
}
}
+1 -6
View File
@@ -305,12 +305,7 @@ int audio_thread(void *param)
};
active = 1;
sync_audio(hBuff, buffsize);
/* Do NOT clobber a stop/pause command that arrived (e.g. a
* seek set PLAY_2_STOP) while we were restarting the buffer -
* only advance the PREPARE/resume path to PLAY. Otherwise the
* decoder's "wait for STOP" seek handshake would wait forever. */
if(sound_state == PREPARE || sound_state == PAUSE_2_PLAY)
sound_state = PLAY;
sound_state = PLAY;
/* breaktrough */
-129
View File
@@ -1,129 +0,0 @@
#!/usr/bin/env bash
#
# Полная сборка FPlay (медиаплеер KolibriOS).
# Full build for the FPlay KolibriOS media player.
#
# Поднимает окружение kos32-тулчейна (PATH, fasm, путь к либам) и собирает
# ВСЕ объекты заново + линкует + objcopy в MENUET-бинарь. Голый `make` этого
# не делает: в Makefile нет -L и он ждёт тулчейн уже в PATH.
#
# Запуск из Git Bash / MSYS:
# ./build.sh - полная сборка (all)
# ./build.sh clean - удалить .o, бинарь, .map
#
# Пути можно переопределить переменными окружения, если тулчейн лежит иначе:
# TOOLCHAIN_BIN=... LIB_DIR=... FASM=... ./build.sh
#
set -u
# ---------------------------------------------------------------------------
# Расположение инструментов (значения по умолчанию = как на этой машине)
# ---------------------------------------------------------------------------
TOOLCHAIN_BIN="${TOOLCHAIN_BIN:-/c/MinGW/msys/1.0/home/autobuild/tools/win32/bin}"
LIB_DIR="${LIB_DIR:-/c/MinGW/msys/1.0/home/autobuild/tools/win32/lib}"
FASM="${FASM:-/c/Kolibri/Infrastructure/C--/fasm.exe}"
# Каталог скрипта = корень исходников fplay; работаем относительно него.
cd "$(dirname "$0")" || { echo "ERROR: cannot cd to script dir"; exit 1; }
SDK_DIR="$(cd ../../sdk && pwd)" || { echo "ERROR: SDK dir (../../sdk) not found"; exit 1; }
export PATH="$TOOLCHAIN_BIN:$PATH"
CC=kos32-gcc
LD=kos32-ld
OBJCOPY=kos32-objcopy
NAME=fplay
# fasm: явный путь, иначе из PATH
if [ -x "$FASM" ]; then FASM_CMD="$FASM"; else FASM_CMD="fasm"; fi
# ---------------------------------------------------------------------------
# Флаги (идентичны Makefile проекта)
# ---------------------------------------------------------------------------
CFLAGS="-U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -std=c99 -fomit-frame-pointer -mno-ms-bitfields"
DEFINES="-DDEBUG=1 -D_GNU_SOURCE -DHAVE_VAAPI -DPACKAGE_NAME=\"Fplay-vaapi\""
INCLUDES="-I. -I$SDK_DIR/sources/newlib/libc/include -I$SDK_DIR/sources/ffmpeg/ffmpeg-2.8"
INCLUDES="$INCLUDES -I$SDK_DIR/sources/freetype/include -I$SDK_DIR/sources/vaapi/libva-1.6.2"
LIBS="-lavdevice.dll -lavformat.dll -lavcodec.dll -lavutil.dll -lswscale.dll"
LIBS="$LIBS -lswresample.dll -lsound -lpixlib3 -lfreetype.dll -lva.dll -lgcc -lc.dll"
LDFLAGS="-static --subsystem native --stack 0x200000 -Map fplay.map -Tapp-dynamic.lds --image-base 0"
# Исходники
C_SOURCES="audio.c decoder.c fplay.c vaapi.c video.c utils.c \
winlib/button.c winlib/caption.c winlib/fontlib.c \
winlib/frame.c winlib/panel.c winlib/window.c"
ASM_SOURCES="opendial.asm skin/skin.asm"
# Объекты в том порядке линковки, что использует проект
OBJECTS="opendial.o audio.o decoder.o fplay.o vaapi.o video.o utils.o \
skin/skin.o winlib/button.o winlib/caption.o winlib/fontlib.o \
winlib/frame.o winlib/panel.o winlib/window.o"
# ---------------------------------------------------------------------------
# clean
# ---------------------------------------------------------------------------
if [ "${1:-}" = "clean" ]; then
rm -f $OBJECTS "$NAME" fplay.map
echo "cleaned: objects, $NAME, fplay.map"
exit 0
fi
# ---------------------------------------------------------------------------
# Проверка инструментов
# ---------------------------------------------------------------------------
command -v "$CC" >/dev/null 2>&1 || { echo "ERROR: $CC not found (TOOLCHAIN_BIN=$TOOLCHAIN_BIN)"; exit 1; }
command -v "$LD" >/dev/null 2>&1 || { echo "ERROR: $LD not found (TOOLCHAIN_BIN=$TOOLCHAIN_BIN)"; exit 1; }
command -v "$OBJCOPY" >/dev/null 2>&1 || { echo "ERROR: $OBJCOPY not found (TOOLCHAIN_BIN=$TOOLCHAIN_BIN)"; exit 1; }
command -v "$FASM_CMD" >/dev/null 2>&1 || { echo "ERROR: fasm not found (FASM=$FASM)"; exit 1; }
[ -d "$LIB_DIR" ] || { echo "ERROR: LIB_DIR not found: $LIB_DIR"; exit 1; }
echo "SDK_DIR = $SDK_DIR"
echo "toolchain = $TOOLCHAIN_BIN"
echo
# ---------------------------------------------------------------------------
# Компиляция всех объектов заново (полная сборка)
# ---------------------------------------------------------------------------
fail=0
for src in $C_SOURCES; do
obj="${src%.c}.o"
printf ' CC %s\n' "$src"
$CC $CFLAGS $DEFINES $INCLUDES -o "$obj" "$src" || { echo " ^^ FAILED: $src"; fail=1; }
done
for src in $ASM_SOURCES; do
obj="${src%.asm}.o"
printf ' ASM %s\n' "$src"
"$FASM_CMD" "$src" "$obj" || { echo " ^^ FAILED: $src"; fail=1; }
done
if [ $fail -ne 0 ]; then
echo
echo "COMPILE FAILED - see errors above"
exit 1
fi
# ---------------------------------------------------------------------------
# Линковка + objcopy в бинарь MENUET
# ---------------------------------------------------------------------------
echo
printf ' LINK %s\n' "$NAME"
$LD $LDFLAGS -L"$LIB_DIR" -o "$NAME" $OBJECTS $LIBS || { echo "LINK FAILED"; exit 1; }
printf ' BIN %s\n' "$NAME"
$OBJCOPY "$NAME" -O binary || { echo "OBJCOPY FAILED"; exit 1; }
# ---------------------------------------------------------------------------
# Итог
# ---------------------------------------------------------------------------
size=$(stat -c %s "$NAME" 2>/dev/null || wc -c < "$NAME")
hdr=$(head -c 6 "$NAME" 2>/dev/null)
echo
echo "BUILD OK"
echo " file : $(pwd)/$NAME"
echo " size : $size bytes"
echo " header: $hdr"
[ "$hdr" = "MENUET" ] || echo " WARNING: header is not MENUET - check app-dynamic.lds"
+17 -31
View File
@@ -14,11 +14,6 @@
#include "sound.h"
#include "fplay.h"
/* 0 = decode everything, 1 = skip non-reference frames. Driven by the A/V
* sync loop in video.c (render_time) - the picture falling behind the audio
* clock raises it, catching up clears it. */
volatile int g_skip_level = 0;
static struct decoder ffmpeg_decoder;
static struct decoder* init_ffmpeg_decoder(vst_t *vst);
@@ -112,31 +107,28 @@ static vframe_t *get_input_frame(vst_t *vst)
static void put_output_frame(vst_t *vst, vframe_t *vframe)
{
vframe_t *cur;
int inserted = 0;
mutex_lock(&vst->output_lock);
/* Keep the list sorted by pts: walk from the tail, insert after the first
* frame not newer than ours (>= keeps equal-pts frames in arrival order);
* no match = ours is the earliest (or the list is empty) - new head.
* The previous version added pre-head frames to the TAIL (unsorted) and,
* worse, a frame whose pts equalled every queued one matched nothing and
* was added to NO list at all - each such frame leaked one of the 4
* decoder vframes for good, and four of them froze the video (happens
* with broken/duplicate container timestamps). */
list_for_each_entry_reverse(cur, &vst->output_list, list)
if(list_empty(&vst->output_list))
list_add_tail(&vframe->list, &vst->output_list);
else
{
if(vframe->pts >= cur->pts)
vframe_t *cur;
cur = list_first_entry(&vst->output_list,vframe_t,list);
if(vframe->pts < cur->pts)
list_add_tail(&vframe->list, &vst->output_list);
else
{
list_add(&vframe->list, &cur->list);
inserted = 1;
break;
list_for_each_entry_reverse(cur,&vst->output_list,list)
{
if(vframe->pts > cur->pts)
{
list_add(&vframe->list, &cur->list);
break;
};
};
};
};
if(!inserted)
list_add(&vframe->list, &vst->output_list);
vst->frames_count++;
mutex_unlock(&vst->output_lock);
};
@@ -158,12 +150,6 @@ int decode_video(vst_t* vst)
if( get_packet(&vst->q_video, &pkt) == 0 )
return 0;
/* Adaptive frame skipping: when the picture keeps falling behind the audio
* clock (set from render_time in video.c), ask the codec to skip the
* non-reference frames so decode gets lighter and the video keeps pace;
* back to full quality once it has caught up. */
vst->vCtx->skip_frame = g_skip_level ? AVDISCARD_NONREF : AVDISCARD_DEFAULT;
frameFinished = 0;
mutex_lock(&vst->gpu_lock);
File diff suppressed because it is too large. Load diff
+1 -7
View File
@@ -49,7 +49,6 @@ struct render
uint32_t layout;
bitmap_t *bitmap[4];
bitmap_t *last_bitmap;
vframe_t *last_frame; /* last decoded frame, kept for redraw on resize */
uint32_t ctx_format;
int target;
@@ -161,11 +160,8 @@ struct vstate
struct decoder *decoder;
int snd_format;
volatile int frames_count;
/* written by the reader thread (=1) and the audio thread (=0); keep it in
* its own word (not a shared bitfield) so those writes don't race on a
* read-modify-write of neighbouring flags */
volatile int audio_timer_valid;
unsigned int has_sound:1;
unsigned int audio_timer_valid:1;
unsigned int blit_bitmap:1; /* hardware RGBA blitter */
unsigned int blit_texture:1; /* hardware RGBA blit and scale */
unsigned int blit_planar:1; /* hardbare YUV blit and scale */
@@ -175,7 +171,6 @@ struct vstate
#define DECODER_THREAD 1
#define AUDIO_THREAD 2
#define VIDEO_THREAD 4
#define READER_THREAD 8
extern volatile int threads_running;
extern astream_t astream;
@@ -194,7 +189,6 @@ int audio_thread(void *param);
void set_audio_volume(int left, int right);
int video_thread(void *param);
int read_thread(void *param);
void flush_video(vst_t* vst);
int init_video_decoder(vst_t *vst);
-2
View File
@@ -137,11 +137,9 @@ dd filefilter.end - filefilter
db 'mpg',0
db 'mpeg',0
db 'mkv',0
db 'mp3',0
db 'mp4',0
db 'webm',0
db 'wmv',0
db 'vob',0
.end:
db 0
File diff suppressed because it is too large. Load diff
+1 -22
View File
@@ -277,22 +277,7 @@ int draw_progress(progress_t *prg, int background)
};
};
/* max<=1 means the duration is unknown: keep the fill bar EMPTY rather
* than showing a bogus full bar. Otherwise compute and CLAMP the fill in
* float before the int conversion (with an unknown duration the unclamped
* product would overflow len and run the fill loop past the pixmap). */
if(prg->max <= 1.0f)
len = 0;
else
{
float flen = prg->current*prg->ctrl.w/(prg->max - prg->min);
if(flen < 0.0f)
flen = 0.0f;
if(flen > prg->ctrl.w)
flen = prg->ctrl.w;
len = (int)flen;
}
len = prg->current*prg->ctrl.w/(prg->max - prg->min);
src = res_prg_level;
@@ -488,12 +473,6 @@ int sld_proc(ctrl_t *ctrl, uint32_t msg, uint32_t arg1, uint32_t arg2)
slider_t *sld = (slider_t*)ctrl;
int pos;
/* the window is too narrow for the volume slider - the panel (parent)
* spans the window, so its width is the window width; skip drawing AND
* interaction (hover would otherwise flip the panel layout) */
if(ctrl->parent->w < 320)
return 0;
switch( msg )
{
case MSG_PAINT:
+2 -4
View File
@@ -99,13 +99,11 @@ void update_caption_size(window_t *win)
cpt->close_btn->ctrl.rc.r = cpt->close_btn->ctrl.rc.l +
cpt->close_btn->ctrl.w;
/* Order (left -> right): minimize, fullscreen, close.
* minimize is the leftmost of the three, fullscreen sits in the middle. */
cpt->minimize_btn->ctrl.rc.l = win->w - 27 - 18 - 18 - 5 - 5;
cpt->minimize_btn->ctrl.rc.l = win->w - 27 - 18 - 5;
cpt->minimize_btn->ctrl.rc.r = cpt->minimize_btn->ctrl.rc.l +
cpt->minimize_btn->ctrl.w;
cpt->full_btn->ctrl.rc.l = win->w - 27 - 18 - 5;
cpt->full_btn->ctrl.rc.l = win->w - 27 - 18 -18 - 5 - 5;
cpt->full_btn->ctrl.rc.r = cpt->full_btn->ctrl.rc.l +
cpt->full_btn->ctrl.w;
};
+4 -41
View File
@@ -83,11 +83,7 @@ int draw_text_ext(void *pixmap, uint32_t pitch, FT_Face face, char *text, rect_t
x = rc->l << 6;
y = rc->b;
/* right edge in 26.6 fixed point; x is an absolute position, so the
* fit check below must compare against the edge, not the width -
* otherwise any text placed at a large x (e.g. right-aligned) would
* fail the very first check and nothing would be drawn */
w = rc->r << 6;
w = (rc->r - rc->l) << 6;
while( ch = *text++ )
{
@@ -100,15 +96,13 @@ int draw_text_ext(void *pixmap, uint32_t pitch, FT_Face face, char *text, rect_t
x += delta.x ;
}
/* load FIRST, then check the fit with THIS glyph's advance - the old
* order tested against the stale advance of the previous glyph */
if( x + face->glyph->advance.x > w)
break;
err = FT_Load_Glyph( face, glyph_index, FT_LOAD_DEFAULT );
if ( err )
continue;
if( x + face->glyph->advance.x > w)
break;
err = FT_Render_Glyph( face->glyph, FT_RENDER_MODE_NORMAL );
if ( err )
continue;
@@ -124,37 +118,6 @@ int draw_text_ext(void *pixmap, uint32_t pitch, FT_Face face, char *text, rect_t
};
int text_width_ext(FT_Face face, char *text)
{
FT_UInt glyph_index;
FT_Bool use_kerning = FT_HAS_KERNING( face );
FT_UInt previous = 0;
int x = 0;
char ch;
while( ch = *text++ )
{
glyph_index = FT_Get_Char_Index( face, ansi2utf32(ch) );
if( use_kerning && previous && glyph_index )
{
FT_Vector delta;
FT_Get_Kerning( face, previous, glyph_index, FT_KERNING_DEFAULT, &delta );
x += delta.x;
}
if( FT_Load_Glyph( face, glyph_index, FT_LOAD_DEFAULT ) )
continue;
x += face->glyph->advance.x;
previous = glyph_index;
}
/* round UP: truncating loses the fractional part, the string then does
* not quite fit into the measured width and the renderer's fit check
* silently drops the last glyph ("3:20" -> "3:2") */
return (x + 63) >> 6; /* 26.6 fixed point -> pixels */
}
int init_fontlib()
{
int err;
-114
View File
@@ -32,7 +32,6 @@ extern int res_stop_btn_pressed[];
//extern int res_minimize_btn_pressed[];
void update_panel_size(window_t *win);
static void render_time_text(panel_t *panel);
int panel_proc(ctrl_t *ctrl, uint32_t msg, uint32_t arg1, uint32_t arg2);
@@ -221,10 +220,6 @@ void draw_panel(panel_t *panel)
send_message(child, MSG_PAINT, 0, 0);
child = (ctrl_t*)child->link.next;
};
/* a full panel repaint just erased the time text in the pixmap; put it
* back so it does not blink out until the next second ticks over */
render_time_text(panel);
};
int panel_proc(ctrl_t *ctrl, uint32_t msg, uint32_t arg1, uint32_t arg2)
@@ -266,12 +261,6 @@ int panel_proc(ctrl_t *ctrl, uint32_t msg, uint32_t arg1, uint32_t arg2)
}
break;
case MSG_WHEELUP:
case MSG_WHEELDOWN:
/* let the window handle the wheel (volume) wherever it is over
* the panel, not only above a particular child control */
return send_message(get_parent_window(ctrl), msg, arg1, arg2);
case MSG_COMMAND:
switch((short)arg1)
{
@@ -304,106 +293,3 @@ void blit_panel(panel_t *panel)
panel->ctrl.w, panel->ctrl.h, ctx->pixmap_pitch);
};
extern int win_font;
int draw_text_ext(void *pixmap, uint32_t pitch, int face, char *text, rect_t *rc, int color);
int text_width_ext(int face, char *text);
/* elapsed / total time, bottom-right of the panel, in the same white as the
* window-caption text. Rendered straight into the panel pixmap (like the
* caption text) so it blits cleanly with no per-digit artefacts; the
* panel-body gradient is restored under it first so old text is erased. */
#define TIME_COLOR 0xFFFFFF /* white - same as the caption title text */
#define TIME_MAXW 120
#define TIME_Y0 25
#define TIME_Y1 44
#define TIME_BASE 40
static void fmt_time(char *buf, int sec)
{
int h, m, s;
if(sec < 0) /* clamp BEFORE splitting into h/m/s */
sec = 0;
h = sec / 3600;
m = (sec / 60) % 60;
s = sec % 60;
if(h)
sprintf(buf, "%d:%02d:%02d", h, m, s);
else
sprintf(buf, "%d:%02d", m, s);
}
/* last shown values, so a full panel repaint can restore the text instead of
* leaving a blank until the next second ticks over */
static int time_elapsed = -1;
static int time_total = 0;
/* render the cached time into the panel pixmap (no blit) */
static void render_time_text(panel_t *panel)
{
ctx_t *ctx = &panel->ctx;
int *pixmap = (int*)ctx->pixmap_data;
int pitch4 = ctx->pixmap_pitch / 4;
int panw = panel->ctrl.w;
char buf[48], es[20], ts[20];
rect_t rc;
int x, y, x0, x1, tw;
if(time_elapsed < 0) /* nothing shown yet */
return;
if(panw < 260) /* too narrow: would clash with the left */
return;
fmt_time(es, time_elapsed);
if(time_total > 0)
{
fmt_time(ts, time_total);
sprintf(buf, "%s / %s", es, ts);
}
else
strcpy(buf, es); /* duration unknown: elapsed only */
x1 = panw - 12;
x0 = x1 - TIME_MAXW;
/* restore the panel-body gradient under the text (one colour per row) */
for(y = TIME_Y0; y < TIME_Y1; y++)
{
int c = res_panel_body[y];
int *row = pixmap + y*pitch4;
for(x = x0; x < x1; x++)
row[x] = c;
}
tw = text_width_ext(win_font, buf); /* right-align to x1 */
if(tw > TIME_MAXW)
tw = TIME_MAXW;
rc.l = x1 - tw;
rc.t = TIME_Y0;
rc.r = x1;
rc.b = TIME_BASE;
draw_text_ext(ctx->pixmap_data, ctx->pixmap_pitch, win_font, buf, &rc, TIME_COLOR);
}
void draw_panel_time(panel_t *panel, int elapsed, int total)
{
ctx_t *ctx = &panel->ctx;
int panw = panel->ctrl.w;
int x0 = panw - 12 - TIME_MAXW;
time_elapsed = elapsed;
time_total = total;
render_time_text(panel);
if(panw < 260)
return;
Blit(ctx->pixmap_data, panel->draw.l + x0, panel->draw.t + TIME_Y0,
x0, TIME_Y0, TIME_MAXW, TIME_Y1 - TIME_Y0,
panw, PANEL_HEIGHT, ctx->pixmap_pitch);
}
-12
View File
@@ -637,18 +637,6 @@ void update_rect(ctrl_t *ctrl)
int ctx_w, ctx_h;
int src_x, src_y;
/* In fullscreen the caption and panel are hidden, so no control should
* blit itself onto the screen - otherwise e.g. the fullscreen button
* repaints over the video after the switch. Walk up to the root window
* and bail out while it is fullscreen. */
{
ctrl_t *root = ctrl;
while(root->parent)
root = root->parent;
if(((window_t*)root)->win_state == FULLSCREEN)
return;
}
src_x = ctrl->rc.l - ctrl->ctx->offset_x;
src_y = ctrl->rc.t - ctrl->ctx->offset_y;
-2
View File
@@ -107,9 +107,7 @@ void init_winlib(void);
void draw_caption(caption_t *cpt);
void draw_panel(panel_t *panel);
void draw_panel_time(panel_t *panel, int elapsed, int total);
void blit_caption(caption_t *cpt);
void blit_panel(panel_t *panel);
int init_caption(window_t *win);
int init_panel(window_t *win);
-10
View File
@@ -1,10 +0,0 @@
# build artifacts (uPDF / MuPDF 1.19 KolibriOS port)
# note: build/uPDF (the final binary) is intentionally NOT ignored - it ships
build/obj/
build/*.log
build/updfnew_test
# compiled objects, static libs, linker output anywhere in the tree
*.o
*.a
*.kex
File renamed without changes.
+64
View File
@@ -0,0 +1,64 @@
ABOUT
MuPDF is a lightweight PDF and XPS viewer and parser/rendering library.
The renderer in MuPDF is tailored for high quality anti-aliased graphics. It
renders text with metrics and spacing accurate to within fractions of a pixel
for the highest fidelity in reproducing the look of a printed page on screen.
MuPDF is also small, fast, and yet complete. We support PDF 1.7 with
transparency, encryption, hyperlinks, annotations, search and many other bells
and whistles. MuPDF can also read XPS documents (OpenXPS / ECMA-388).
We don't support interactive features such as form filling, javascript and
transitions. MuPDF is written modularly, so such features can be added on by
integrators if they so desire.
LICENSE
MuPDF is Copyright 2006-2011 Artifex Software, Inc.
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.
For commercial licensing please contact sales@artifex.com.
COMPILING
If you are compiling from source you will need several third party libraries:
freetype2, jbig2dec, libjpeg, openjpeg, and zlib. We have prepared a package
(mupdf-thirdparty.zip) that you can unzip in the mupdf source tree if you don't
have them installed on your system.
You must unpack mupdf-thirdparty.zip to build using the Visual Studio project.
DOWNLOAD
The latest development source is available directly from the git repository:
git clone http://mupdf.com/repos/mupdf.git
INSTALLING
Typing "make prefix=/usr/local install" will install the binaries, man-pages,
static libraries and header files on your system.
REPORTING BUGS AND PROBLEMS
The MuPDF developers hang out on IRC in the #ghostscript channel on irc.freenode.net.
Report bugs on the ghostscript bugzilla, with MuPDF as the selected component.
http://bugs.ghostscript.com/
If you are reporting a problem with PDF parsing, please include the problematic
file as an attachment.
+23
View File
@@ -0,0 +1,23 @@
CC = kos32-gcc
LD = kos32-ld
SDK_DIR = $(abspath ../../../sdk)
LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/app.lds --image-base 0
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -fno-ident -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/freetype/include -I $(SDK_DIR)/sources/zlib -I ../fitz -I ../pdf
LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib -L ../lib
APPS_SRC := kolibri.c kos_main.c pdfapp.c
default: $(patsubst %.c,%.o,$(APPS_SRC))
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem native -o updf kolibri.o pdfapp.o kos_main.o -lmupdf -lfitz -lgcc -lfitz -ldraw -ljpeg -ljbig2dec -lfreetype -lopenjpeg -lz.dll -lc.dll
objcopy updf -O binary
%.o : %.c Makefile $(APPS_SRC)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
clean:
rm *.o
File diff suppressed because it is too large. Load diff
@@ -1 +0,0 @@
┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬еееююю∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ююююююеееддд∙∙∙ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёё{░╬;{а;{а;{а;{а;{а;{аЛ╣╘ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁ;{а;{а;{а;{а;{а;{а;{а;{аЛ╣╘ЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁ;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а{░╬ЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙яяяяяяяяя;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аяяяяяяяяяюююдддддд∙∙∙яяяяяяяяя;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аяяяяяяяяяюююдддддд∙∙∙яяяяяяяяя;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аяяяяяяяяяюююдддддд∙∙∙ююююююююю;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аююююююююююююдддддд∙∙∙ююююююююю;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аююююююююююююдддддд∙∙∙эээээээээ;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аэээээээээюююдддддд∙∙∙эээээээээ;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аэээээээээюююдддддд∙∙∙эээээээээ;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аэээээээээюююдддддд∙∙∙ььььььььь;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{аьььььььььюююдддддд∙∙∙ььььььььь{░╬;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а;{а{░╬ьььььььььюююдддддд∙∙∙ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыюююдддддд∙∙∙ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыюююдддддд∙∙∙ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыюююддддддюююъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъюююдддЬЬЬууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууЬЬЬ┬┬┬ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ┬┬┬┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬еееююю∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ююююююеееддд∙∙∙ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёё╫╤Т└╖UНЖ4НЖ4НЖ4НЖ4└╖U╫╤Тёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёёёёёёёёьы╨▒иAНЖ4▒иA═╞z█╓Ю█╓Ю═╞z▒иAНЖ4▒иAьы╨ёёёёёёёёёёёёёёёюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁЁЁЁьы╨ЩС8ЩС8╫╤ТЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█╫╤ТЩС8ЩС8ьы╨ЁЁЁЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁЁЁЁ▒иAЩС8ф▀╖ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ф▀╖ЩС8▒иAЁЁЁЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙яяяяяяяяя╫╤ТНЖ4╫╤ТЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█╫╤ТНЖ4╫╤Тяяяяяяяяяюююдддддд∙∙∙яяяяяяяяя╗▒HпжAЁю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌пжA╗▒Hяяяяяяяяяюююдддддд∙∙∙яяяяяяяяяНЖ4═╞xЁю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌═╞xНЖ4яяяяяяяяяюююдддддд∙∙∙юююююююююНЖ4┘╒ЭЁю┌НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4Ёю┌┘╒ЭНЖ4ююююююююююююдддддд∙∙∙юююююююююНЖ4┘╒ЭЁю┌НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4Ёю┌┘╒ЭНЖ4ююююююююююююдддддд∙∙∙эээээээээНЖ4═╞xЁю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌═╞xНЖ4эээээээээюююдддддд∙∙∙эээээээээ╗▒HпжAЁю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌пжA╗▒Hэээээээээюююдддддд∙∙∙эээээээээ╓╨СНЖ4╓╨СЁю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌╓╨СНЖ4╓╨Сэээээээээюююдддддд∙∙∙ььььььььььььпжAЧП8у▀┤яэ┌яэ┌яэ┌яэ┌яэ┌яэ┌яэ┌яэ┌у▀┤ЧП8пжAььььььььььььюююдддддд∙∙∙ььььььььььььыъ═ЧП8ЧП8╘╨Ряэ┌яэ┌яэ┌яэ┌яэ┌яэ┌╘╨РЧП8ЧП8ыъ═ььььььььььььюююдддддд∙∙∙ыыыыыыыыыыыыыыыыъ═пжAМД3пжA╠┼w┌╒Ы┌╒Ы╠┼wпжAМД3пжAыъ═ыыыыыыыыыыыыыыыюююдддддд∙∙∙ыыыыыыыыыыыыыыыыыыыыы╘╨Р┐╢TМД3МД3МД3МД3┐╢T╘╨Рыыыыыыыыыыыыыыыыыыыыыюююдддддд∙∙∙ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыюююддддддюююъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъъюююдддЬЬЬууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууЬЬЬ┬┬┬ЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ┬┬┬┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬еееююю∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ююююююеееддд∙∙∙ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёёёёёёёёёёёёёё╫╤Т└╖UНЖ4НЖ4НЖ4НЖ4└╖U╫╤Тёёёёёёёёёёёёёёёёёёёёёюююдддддд∙∙∙ёёёёёёёёёёёёёёёьы╨▒иAНЖ4▒иA═╞z█╓Ю█╓Ю═╞z▒иAНЖ4▒иAьы╨ёёёёёёёёёёёёёёёюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁЁЁЁьы╨ЩС8ЩС8╫╤ТЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█ЄЁ█╫╤ТЩС8ЩС8ьы╨ЁЁЁЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙ЁЁЁЁЁЁЁЁЁЁЁЁ▒иAЩС8ф▀╖ЄЁ█ЄЁ█ЄЁ█НЖ4НЖ4ЄЁ█ЄЁ█ЄЁ█ф▀╖ЩС8▒иAЁЁЁЁЁЁЁЁЁЁЁЁюююдддддд∙∙∙яяяяяяяяя╫╤ТНЖ4╫╤ТЄЁ█ЄЁ█ЄЁ█ЄЁ█НЖ4НЖ4ЄЁ█ЄЁ█ЄЁ█ЄЁ█╫╤ТНЖ4╫╤Тяяяяяяяяяюююдддддд∙∙∙яяяяяяяяя╗▒HпжAЁю┌Ёю┌Ёю┌Ёю┌Ёю┌НЖ4НЖ4Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌пжA╗▒Hяяяяяяяяяюююдддддд∙∙∙яяяяяяяяяНЖ4═╞xЁю┌Ёю┌Ёю┌Ёю┌Ёю┌НЖ4НЖ4Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌═╞xНЖ4яяяяяяяяяюююдддддд∙∙∙юююююююююНЖ4┘╒ЭЁю┌НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4Ёю┌┘╒ЭНЖ4ююююююююююююдддддд∙∙∙юююююююююНЖ4┘╒ЭЁю┌НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4НЖ4Ёю┌┘╒ЭНЖ4ююююююююююююдддддд∙∙∙эээээээээНЖ4═╞xЁю┌Ёю┌Ёю┌Ёю┌Ёю┌НЖ4НЖ4Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌═╞xНЖ4эээээээээюююдддддд∙∙∙эээээээээ╗▒HпжAЁю┌Ёю┌Ёю┌Ёю┌Ёю┌НЖ4НЖ4Ёю┌Ёю┌Ёю┌Ёю┌Ёю┌пжA╗▒Hэээээээээюююдддддд∙∙∙эээээээээ╓╨СНЖ4╓╨СЁю┌Ёю┌Ёю┌Ёю┌НЖ4НЖ4Ёю┌Ёю┌Ёю┌Ёю┌╓╨СНЖ4╓╨Сэээээээээюююдддддд∙∙∙ьLine truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1 @@
┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬еееюююўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўюююееедддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇеееnnnnnnnnnnnnnnnnnn░░░ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇnnnnnnnnnnnnnnnnnnnnnnnn░░░ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnеееЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnЇЇЇЇЇЇЇЇЇЇЇЇддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєєєєєєєєєєєддддддЄЄЄЄЄЄЄЄЄЄЄЄnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄеееnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnеееЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄдддееещщщььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььщщщеее┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддееедддеееюююўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўюююееедддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬ШШШnnnnnnnnnnnnШШШ┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇьььЗЗЗnnnЗЗЗ▒▒▒╩╩╩╩╩╩▒▒▒ЗЗЗnnnЗЗЗьььЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇьььvvvvvv┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬vvvvvvьььЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЗЗЗvvv███ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ███vvvЗЗЗЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬nnn┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬nnn┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇддддддєєєєєєєєєєєєПППЖЖЖєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєЖЖЖПППєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn░░░єєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєє░░░nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn╔╔╔єєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєє╔╔╔nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn╔╔╔єєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєє╔╔╔nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn░░░єєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєє░░░nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєПППЖЖЖєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєєЖЖЖПППєєєєєєєєєєєєддддддєєєєєєєєєєєє┴┴┴nnn┴┴┴єєєєєєєєєєєєєєєєєєєєєєєєєєєєєє┴┴┴nnn┴┴┴єєєєєєєєєєєєддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЖЖЖuuu┘┘┘ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄ┘┘┘uuuЖЖЖЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄъъъuuuuuu└└└ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄ└└└uuuuuuъъъЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄъъъЖЖЖmmmЖЖЖппп╚╚╚╚╚╚пппЖЖЖmmmЖЖЖъъъЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄ└└└ЧЧЧmmmmmmmmmmmmЧЧЧ└└└ЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄддддддЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄЄдддееещщщььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььььщщщеее┬┬┬еееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеееддддддеееддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддеее┬┬┬еееюююўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўўюююееедддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬ШШШnnnnnnnnnnnnШШШ┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇьььЗЗЗnnnЗЗЗ▒▒▒╩╩╩╩╩╩▒▒▒ЗЗЗnnnЗЗЗьььЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇьььvvvvvv┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬vvvvvvьььЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇЗЗЗvvv███ЇЇЇЇЇЇЇЇЇnnnnnnЇЇЇЇЇЇЇЇЇ███vvvЗЗЗЇЇЇЇЇЇЇЇЇЇЇЇЇЇЇддддддЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬nnn┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇnnnnnnЇЇЇЇЇЇЇЇЇЇЇЇ┬┬┬nnn┬┬┬ЇЇЇЇЇЇЇЇЇЇЇЇддддддєєєєєєєєєєєєПППЖЖЖєєєєєєєєєєєєєєєnnnnnnєєєєєєєєєєєєєєєЖЖЖПППєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn░░░єєєєєєєєєєєєєєєnnnnnnєєєєєєєєєєєєєєє░░░nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn╔╔╔єєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєє╔╔╔nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn╔╔╔єєєnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnєєє╔╔╔nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєnnn░░░єєєєєєєєєєєєєєєnnnnnnєєєєєєєєєєєєєєє░░░nnnєєєєєєєєєєєєддддддєєєєєєєєєєєєПППЖЖЖєєєєєєєєєєєєєєєnnnnnnєєєєєєєєєєєєєєєЖЖЖПППєєєєєєєєєєєєддддддєєєєєєєєєєєє┴┴┴nnn┴┴┴єєєєєєєєєєєєnnnnnnєєєєєєєєєєєє┴┴┴nnn┴┴┴єєєєєєєєєєєєддддддЄЄЄЄLine truncated
-9
View File
@@ -512,12 +512,3 @@ int kos_get_key()
asm volatile("int $0x40":"=a"(__ret):"0"(2));
if(!(__ret & 0xFF)) return (__ret>>8)&0xFF; else return 0;
}
// Raw result of fn 2: bits 0-7 = status (0 = key present),
// bits 8-15 = ASCII code, bits 16-23 = layout-independent scancode.
unsigned kos_get_key_full()
{
unsigned __ret;
asm volatile("int $0x40":"=a"(__ret):"0"(2));
return __ret;
}
-1
View File
@@ -182,5 +182,4 @@ int kos_random(int num);
int kos_get_mouse_wheels(void);
void kos_screen_max(int* x, int* y);
int kos_get_key();
unsigned kos_get_key_full();
void kos_text(int x, int y, int color, const char* text, int len);
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+82 -47
View File
@@ -1,69 +1,104 @@
/*
* uPDF glue layer for MuPDF 1.19 (KolibriOS port).
* Bridges the KolibriOS GUI (kos_main.c) to the fz_context-based API.
* Keeps the same function names the GUI expects, so the continuous-scroll,
* scrollbar, drag-pan and selection code needs only minimal changes.
* Utility object for handling a pdf application / view
* Takes care of PDF loading and displaying and navigation,
* uses a number of callbacks to the GUI app.
*/
#ifndef PDFAPP_H
#define PDFAPP_H
#include "mupdf/fitz.h"
#define MINRES 54
#define MAXRES 300
typedef struct pdfapp_s pdfapp_t;
enum { ARROW, HAND, WAIT };
extern void winwarn(pdfapp_t*, char *s);
extern void winerror(pdfapp_t*, fz_error error);
extern void wintitle(pdfapp_t*, char *title, char param[]);
extern void winresize(pdfapp_t*, int w, int h);
extern void winrepaint(pdfapp_t*);
extern void winrepaintsearch(pdfapp_t*);
extern char *winpassword(pdfapp_t*, char *filename);
extern void winopenuri(pdfapp_t*, char *s);
extern void wincursor(pdfapp_t*, int curs);
extern void windocopy(pdfapp_t*);
extern void winreloadfile(pdfapp_t*);
extern void windrawstring(pdfapp_t*, int x, int y, char *s);
extern void winclose(pdfapp_t*);
extern void winhelp(pdfapp_t*);
struct pdfapp_s
{
/* MuPDF state */
fz_context *ctx;
fz_document *doc;
fz_page *page; /* current page object */
fz_pixmap *image; /* current page rendered as BGRA */
fz_stext_page *stext; /* current page text, for selection */
fz_matrix ctm; /* page-space -> device(pixmap) transform */
/* current document params */
char *doctitle;
pdf_xref *xref;
pdf_outline *outline;
char *doctitle;
int pagecount;
fz_glyph_cache *cache;
/* view state */
int pagecount;
int pageno; /* 1-based */
float resolution; /* dpi; 72 == 100% */
int rotate; /* degrees */
int grayscale;
int ss_factor; /* supersampling factor (1 = off) for sharper text */
/* current view params */
int resolution;
int rotate;
fz_pixmap *image;
int grayscale;
/* scroll offset (managed by the GUI) */
int panx, pany;
/* current page params */
int pageno;
fz_rect page_bbox;
float page_rotate;
fz_display_list *page_list;
fz_text_span *page_text;
pdf_link *page_links;
/* text selection, in page space */
fz_point sel_a, sel_b;
int sel_valid;
/* snapback history */
int hist[256];
int histlen;
int marks[10];
/* legacy fields the GUI still sets during init */
int scrw, scrh, shrinkwrap, fd, reload;
/* window system sizes */
int winw, winh;
int scrw, scrh;
int shrinkwrap;
/* event handling state */
char number[256];
int numberlen;
int ispanning;
int panx, pany;
int iscopying;
int selx, sely;
/* TODO - While sely keeps track of the relative change in
* cursor position between two ticks/events, beyondy shall keep
* track of the relative change in cursor position from the
* point where the user hits a scrolling limit. This is ugly.
* Used in pdfapp.c:pdfapp_onmouse.
*/
int beyondy;
fz_bbox selr;
/* search state */
int isediting;
char search[512];
int hit;
int hitlen;
/* client context storage */
void *userdata;
};
/* lifecycle */
void pdfapp_init(pdfapp_t *app);
void pdfapp_open(pdfapp_t *app, char *filename, int fd, int reload);
void pdfapp_close(pdfapp_t *app);
/* rendering */
void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint);
fz_pixmap *pdfapp_renderpage(pdfapp_t *app, int pageno);
char *pdfapp_version(pdfapp_t *app);
char *pdfapp_usage(pdfapp_t *app);
/* input: zoom/rotate/grayscale/navigation, same key codes as before
( + - L R c g G [ ] ) */
void pdfapp_onkey(pdfapp_t *app, int c);
void pdfapp_onmouse(pdfapp_t *app, int x, int y, int btn, int modifiers, int state);
void pdfapp_oncopy(pdfapp_t *app, unsigned short *ucsbuf, int ucslen);
void pdfapp_onresize(pdfapp_t *app, int w, int h);
/* snap the current zoom to exactly 100% if it is within ~7% of it */
void pdfapp_snapzoom(pdfapp_t *app);
/* selection: a/b are in page space; the GUI supplies them from clicks */
void pdfapp_invertselection(pdfapp_t *app); /* toggle highlight in image */
char *pdfapp_copyselection(pdfapp_t *app); /* fz-allocated UTF-8, or NULL */
/* map a device pixel (relative to the current image) to a page-space point */
fz_point pdfapp_devtopage(pdfapp_t *app, int px, int py);
#endif
void pdfapp_invert(pdfapp_t *app, fz_bbox rect);
void pdfapp_inverthit(pdfapp_t *app);
-29
View File
@@ -1,29 +0,0 @@
#!/bin/bash
# Build the uPDF KolibriOS application (GUI) against the MuPDF 1.19 libs.
# Prereq: build_kos.sh, build_third.sh, link.sh (libs in build/obj).
set -e
export PATH="/c/MinGW/msys/1.0/home/autobuild/tools/win32/bin:$PATH"
HERE="$(cd "$(dirname "$0")" && pwd)"
SRC="$HERE/../mupdf-1.19.0-source"
APP="$HERE/../apps"
SDK=/c/Kolibri/git/contrib/sdk
TOOL=/c/MinGW/msys/1.0/home/autobuild/tools/win32
OBJ="$HERE/obj"
INC="-I $SRC/include -I $HERE/shim -I $SDK/sources/newlib/libc/include -I $SDK/sources/freetype/include"
CF="-c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_WIN32 -U__MINGW32__ -UWIN32"
echo "compiling app..."
kos32-gcc $CF $INC -o "$OBJ/app_kolibri.o" "$APP/kolibri.c"
kos32-gcc $CF $INC -o "$OBJ/app_pdfapp.o" "$APP/pdfapp.c"
kos32-gcc $CF $INC -o "$OBJ/app_kos_main.o" "$APP/kos_main.c"
echo "linking uPDF..."
kos32-ld -static -nostdlib -T "$SDK/sources/newlib/app.lds" --image-base 0 --subsystem native \
-L "$SDK/lib" -L "$TOOL/lib" \
-o "$HERE/uPDF" \
"$OBJ/app_kos_main.o" "$OBJ/app_pdfapp.o" "$OBJ/app_kolibri.o" "$OBJ/kosshim.o" \
"$OBJ/libmupdf.a" "$OBJ/libthird.a" \
-lc.dll -lgcc
kos32-objcopy "$HERE/uPDF" -O binary
echo "built: build/uPDF ($(wc -c < "$HERE/uPDF") bytes) magic=$(head -c 8 "$HERE/uPDF")"
-64
View File
@@ -1,64 +0,0 @@
#!/bin/bash
# Experimental KolibriOS build of MuPDF 1.19.0 (PDF-only, minimal deps).
# Compiles fitz + pdf core with kos32-gcc, reports what fails.
set -u
export PATH="/c/MinGW/msys/1.0/home/autobuild/tools/win32/bin:$PATH"
HERE="$(cd "$(dirname "$0")" && pwd)"
SRC="$HERE/../mupdf-1.19.0-source"
SDK=/c/Kolibri/git/contrib/sdk
OBJ="$HERE/obj"
mkdir -p "$OBJ"
# PDF only. #if-style features are set to 0; #ifdef-style OUTPUT features
# (DOCX/ODT/OCR) must stay UNDEFINED to be disabled - do not pass them.
# TOFU (+SIL) drops all non-CJK Noto fonts; TOFU_CJK/SYMBOL/EMOJI drop the rest,
# leaving only the base14 URW fonts we actually ship.
DEFS="-DFZ_ENABLE_XPS=0 -DFZ_ENABLE_SVG=0 -DFZ_ENABLE_CBZ=0 -DFZ_ENABLE_IMG=0 \
-DFZ_ENABLE_HTML=0 -DFZ_ENABLE_EPUB=0 -DFZ_ENABLE_ICC=0 -DFZ_ENABLE_JPX=0 \
-DFZ_ENABLE_JS=0 -DTOFU -DTOFU_CJK -DTOFU_SYMBOL -DTOFU_EMOJI -DTOFU_SIL"
INC="-I $SRC/include -I $SRC/source/fitz -I $SRC/generated -I $HERE/shim \
-I $SDK/sources/newlib/libc/include \
-I $SDK/sources/freetype/include \
-I $SRC/thirdparty/zlib \
-I $SRC/thirdparty/jbig2dec \
-I $SRC/thirdparty/libjpeg \
-I $SRC/scripts/libjpeg \
-I $SRC/thirdparty/gumbo-parser/src"
CFLAGS="-c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_WIN32 -U__MINGW32__ -UWIN32"
# sources we do NOT want:
# harfbuzz.c - no harfbuzz (PDF needs no text shaping)
# output-docx.c - DOCX writer, needs the 'extract' thirdparty (disabled)
SKIP="harfbuzz.c output-docx.c"
ok=0; fail=0
: > "$HERE/fail.log"
for dir in fitz pdf; do
for f in "$SRC/source/$dir"/*.c; do
base=$(basename "$f")
case " $SKIP " in *" $base "*) continue;; esac
if kos32-gcc $CFLAGS $DEFS $INC -o "$OBJ/${dir}_${base%.c}.o" "$f" 2>>"$HERE/fail.log"; then
ok=$((ok+1))
else
fail=$((fail+1))
echo "FAIL $dir/$base" | tee -a "$HERE/fail.log" >/dev/null
echo "FAIL $dir/$base"
fi
done
done
# gumbo-parser (HTML5 parser used by fitz/xml.c) - pure C, 11 files
GINC="-I $SRC/thirdparty/gumbo-parser/src -I $SDK/sources/newlib/libc/include"
for f in "$SRC/thirdparty/gumbo-parser/src"/*.c; do
base=$(basename "$f")
if kos32-gcc $CFLAGS $GINC -o "$OBJ/gumbo_${base%.c}.o" "$f" 2>>"$HERE/fail.log"; then
ok=$((ok+1))
else
fail=$((fail+1)); echo "FAIL gumbo/$base"
fi
done
echo "=== compiled OK: $ok, FAILED: $fail ==="
-46
View File
@@ -1,46 +0,0 @@
#!/bin/bash
# Compile MuPDF 1.19.0 thirdparty deps + base14 font resources for KolibriOS.
# File lists are read straight from the upstream Makelists so we build exactly
# MuPDF's chosen subset. Reports failures; does not archive yet.
set -u
export PATH="/c/MinGW/msys/1.0/home/autobuild/tools/win32/bin:$PATH"
HERE="$(cd "$(dirname "$0")" && pwd)"
SRC="$HERE/../mupdf-1.19.0-source"
SDK=/c/Kolibri/git/contrib/sdk
OBJ="$HERE/obj"
mkdir -p "$OBJ"
CFLAGS="-c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_WIN32 -U__MINGW32__ -UWIN32"
NEWLIB="-I $SDK/sources/newlib/libc/include"
: > "$HERE/fail_third.log"
ok=0; fail=0
# pull "VAR += path" lists from Makelists
srclist() { grep "^$1 " "$SRC/Makelists" | sed "s#^$1 += *##"; }
compile() { # tag, cflags, file(relative to SRC)
local tag="$1" cf="$2" f="$SRC/$3"
local base=$(basename "$3")
if kos32-gcc $CFLAGS $cf -o "$OBJ/${tag}_${base%.c}.o" "$f" 2>>"$HERE/fail_third.log"; then
ok=$((ok+1))
else
fail=$((fail+1)); echo "FAIL $tag/$base"
fi
}
FT="$NEWLIB -I $SRC/thirdparty/freetype/include -I $SRC/scripts/freetype \
-DFT2_BUILD_LIBRARY -DFT_CONFIG_MODULES_H=\"slimftmodules.h\" -DFT_CONFIG_OPTIONS_H=\"slimftoptions.h\""
ZL="$NEWLIB -I $SRC/thirdparty/zlib"
JB="$NEWLIB -I $SRC/include -I $SRC/thirdparty/jbig2dec -DHAVE_STDINT_H -DJBIG_EXTERNAL_MEMENTO_H=\"mupdf/memento.h\""
JP="$NEWLIB -I $SRC/thirdparty/libjpeg -I $SRC/scripts/libjpeg"
RS="$NEWLIB -I $SRC/include"
echo "--- freetype ---"; for f in $(srclist FREETYPE_SRC); do compile freetype "$FT" "$f"; done
echo "--- zlib ---"; for f in $(srclist ZLIB_SRC); do compile zlib "$ZL" "$f"; done
echo "--- jbig2dec ---"; for f in $(srclist JBIG2DEC_SRC); do compile jbig2dec "$JB" "$f"; done
echo "--- libjpeg ---"; for f in $(srclist LIBJPEG_SRC); do compile libjpeg "$JP" "$f"; done
echo "--- resources (base14 fonts) ---"
for f in $(cd "$SRC" && ls generated/resources/fonts/urw/*.cff.c); do compile res "$RS" "$f"; done
echo "=== thirdparty compiled OK: $ok, FAILED: $fail ==="
-21
View File
@@ -1,21 +0,0 @@
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/fitz/directory.c:27:0:
C:/Kolibri/git/contrib/sdk/sources/newlib/libc/include/sys/stat.h:136:0: warning: "S_ISDIR" redefined
#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
^
In file included from c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\include\mupdf\fitz.h:32:0,
from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/fitz/directory.c:23:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\include\mupdf\fitz\system.h:182:0: note: this is the location of the previous definition
#define S_ISDIR(mode) ((mode) & S_IFDIR)
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/fitz/noto.c:66:0: warning: "TOFU_SYMBOL" redefined
#define TOFU_SYMBOL
^
<command-line>:0:0: note: this is the location of the previous definition
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/fitz/noto.c:67:0: warning: "TOFU_EMOJI" redefined
#define TOFU_EMOJI
^
<command-line>:0:0: note: this is the location of the previous definition
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/pdf/pdf-parse.c: In function 'pdf_to_date':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/source/pdf/pdf-parse.c:188:8: warning: implicit declaration of function 'timegm' [-Wimplicit-function-declaration]
utc = timegm(&tm);
^
-357
View File
@@ -1,357 +0,0 @@
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:22:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_MulDiv_No_Round':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:502:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_Matrix_Multiply_Scaled':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:744:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_Matrix_Check':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:814:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_Vector_Transform_Scaled':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:839:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_Vector_NormLen':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:935:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'ft_corner_orientation':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:1040:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'ft_corner_is_flat':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:1085:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:27:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_Rewind':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:99:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_Reset':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:123:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_Done':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:138:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_Prepare':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:335:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_Add':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:373:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:29:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftlcdfil.c: In function 'ft_lcd_padding':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftlcdfil.c:392:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:31:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_service_list_lookup':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:129:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_validator_init':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:142:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_validator_run':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:152:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_validator_error':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:170:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Stream_Free':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:270:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_glyphslot_free_bitmap':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:341:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_glyphslot_preset_bitmap':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:498:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_glyphslot_set_bitmap':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:510:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Done_GlyphSlot':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:683:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Match_Size':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:2991:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_synthesize_vertical_metrics':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:3019:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Select_Metrics':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:3088:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Request_Metrics':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:3196:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Lookup_Renderer':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:4365:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Get_Module_Interface':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:5023:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_module_get_service':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:5068:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_property_string_set':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:5250:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:34:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c: In function 'FT_Raccess_Guess':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c:477:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:36:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_OpenMemory':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:44:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_Close':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:52:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_Seek':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:87:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_Skip':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:98:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_Pos':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:105:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadAt':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:159:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_Read':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:114:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_TryRead':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:188:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReleaseFrame':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:230:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_EnterFrame':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:313:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ExtractFrame':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:210:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ExitFrame':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:347:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetChar':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:363:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetUShort':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:382:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetUShortLE':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:401:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetUOffset':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:419:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetULong':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:437:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_GetULongLE':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:455:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadChar':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:492:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadUShort':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:537:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:34:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c: In function 'FT_Raccess_Get_HeaderInfo':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c:167:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:36:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadUShortLE':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:582:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadUOffset':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:627:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadULong':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:672:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadULongLE':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:717:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c: In function 'FT_Stream_ReadFields':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftstream.c:864:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:22:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c: In function 'FT_Hypot':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftcalc.c:164:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:38:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_alloc':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:61:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:27:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_New':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:82:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:31:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Stream_New':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:253:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'ft_glyphslot_alloc_bitmap':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:528:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_New_GlyphSlot':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:642:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_Render_Glyph_Internal':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:4790:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:38:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_qalloc':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:87:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_qrealloc':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:165:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_realloc':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:109:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:27:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_CreateExtra':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:185:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_CheckPoints':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:285:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c: In function 'FT_GlyphLoader_CheckSubGlyphs':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftgloadr.c:319:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:31:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_CMap_Done':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:3673:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c: In function 'FT_CMap_New':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftobjs.c:3725:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:34:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c: In function 'FT_Raccess_Get_DataOffsets':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftrfork.c:328:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
In file included from C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftbase.c:38:0:
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_free':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:174:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_dup':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:192:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_strdup':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:205:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c: In function 'ft_mem_strcpyn':
c:\kolibri\git\contrib\media\updfnew\mupdf-1.19.0-source\thirdparty\freetype\src\base\ftutil.c:222:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c: In function 'ft_debug_init':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c:277:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
ft_debug_init( void )
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c: In function 'FT_Trace_Get_Count':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c:287:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c: In function 'FT_Trace_Get_Name':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c:296:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c: In function 'FT_Trace_Disable':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c:300:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
FT_Trace_Disable( void )
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c: In function 'FT_Trace_Enable':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftdebug.c:312:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c: In function 'FT_Stream_Open':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c:282:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c: In function 'FT_New_Memory':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c:318:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c: In function 'FT_Done_Memory':
C:/Kolibri/git/contrib/media/uPDFnew/build/../mupdf-1.19.0-source/thirdparty/freetype/src/base/ftsystem.c:330:3: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
}
^
-83
View File
@@ -1,83 +0,0 @@
/*
* KolibriOS libc gap-fillers for the MuPDF 1.19 port.
* The dynamic libc.dll does not export these, and MuPDF 1.19 (unlike 0.9)
* pulls them in. Implemented self-contained, no extra dependencies.
*/
#include <stdlib.h>
#include <string.h>
#include <time.h>
/* ---- process control -------------------------------------------------- */
void abort(void)
{
exit(1);
}
int atexit(void (*fn)(void))
{
(void)fn; /* KolibriOS app exits via exit(); no handler chain */
return 0;
}
/* ---- string/number ---------------------------------------------------- */
long long atoll(const char *s)
{
long long v = 0;
int neg = 0;
while (*s == ' ' || *s == '\t') s++;
if (*s == '-') { neg = 1; s++; }
else if (*s == '+') s++;
while (*s >= '0' && *s <= '9')
v = v * 10 + (*s++ - '0');
return neg ? -v : v;
}
/* ---- filesystem ------------------------------------------------------- */
/* KolibriOS paths are already absolute (/hd0/1/...); just copy through. */
char *realpath(const char *path, char *resolved)
{
if (!resolved)
return NULL;
strcpy(resolved, path);
return resolved;
}
/* ---- time ------------------------------------------------------------- */
/* Convert a broken-down UTC time to seconds since the Unix epoch.
Used by MuPDF only to parse PDF /CreationDate style strings. */
time_t timegm(struct tm *tm)
{
static const int mdays[12] =
{ 0,31,59,90,120,151,181,212,243,273,304,334 };
long year = tm->tm_year + 1900;
long days;
long leaps;
leaps = (year - 1969) / 4 - (year - 1901) / 100 + (year - 1601) / 400;
days = (year - 1970) * 365 + leaps + mdays[tm->tm_mon % 12] + (tm->tm_mday - 1);
if (tm->tm_mon >= 2 &&
((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))
days += 1; /* this year's Feb 29 (leaps only counts through Jan 1) */
return (time_t)(((days * 24 + tm->tm_hour) * 60 + tm->tm_min) * 60 + tm->tm_sec);
}
/* ---- thread-local storage (single-threaded stub) ---------------------- */
/* Pulled in via newlib's gthread reentrancy layer. We never spawn threads
in the viewer, so a fixed key with no real storage is sufficient. */
unsigned int tls_alloc(void)
{
return 0x80; /* any nonzero key */
}
int tls_free(unsigned int key)
{
(void)key;
return 0;
}
-32
View File
@@ -1,32 +0,0 @@
#!/bin/bash
# Archive the compiled MuPDF 1.19 objects into static libs and link the
# render pipeline test, proving the PDF-only engine links for KolibriOS.
# Prereq: run build_kos.sh and build_third.sh first (populate obj/).
set -e
export PATH="/c/MinGW/msys/1.0/home/autobuild/tools/win32/bin:$PATH"
HERE="$(cd "$(dirname "$0")" && pwd)"
SRC="$HERE/../mupdf-1.19.0-source"
SDK=/c/Kolibri/git/contrib/sdk
TOOL=/c/MinGW/msys/1.0/home/autobuild/tools/win32
OBJ="$HERE/obj"
NEWLIB="-I $SDK/sources/newlib/libc/include"
# KolibriOS libc gap-fillers (abort/atexit/atoll/timegm/realpath/tls_*)
kos32-gcc -c -O2 -fno-ident -U__WIN32__ -U_WIN32 $NEWLIB -o "$OBJ/kosshim.o" "$HERE/kosshim.c"
# link-test driver
kos32-gcc -c -O2 -fno-ident -U__WIN32__ -U_WIN32 -I "$SRC/include" $NEWLIB -o "$OBJ/linktest.o" "$HERE/linktest.c"
# static libraries: the port's deliverable for the GUI wrapper
rm -f "$OBJ/libmupdf.a" "$OBJ/libthird.a"
kos32-ar rcs "$OBJ/libmupdf.a" "$OBJ"/fitz_*.o "$OBJ"/pdf_*.o "$OBJ"/gumbo_*.o "$OBJ"/res_*.o
kos32-ar rcs "$OBJ/libthird.a" "$OBJ"/freetype_*.o "$OBJ"/zlib_*.o "$OBJ"/jbig2dec_*.o "$OBJ"/libjpeg_*.o
kos32-ld -static -nostdlib -T "$SDK/sources/newlib/app.lds" --image-base 0 \
-L "$SDK/lib" -L "$TOOL/lib" \
-o "$HERE/updfnew_test" \
"$OBJ/linktest.o" "$OBJ/kosshim.o" "$OBJ/libmupdf.a" "$OBJ/libthird.a" \
-lc.dll -lgcc
# real KolibriOS apps then need: kos32-objcopy updfnew_test -O binary
echo "linked OK -> build/updfnew_test ($(wc -c < "$HERE/updfnew_test") bytes)"
echo "libs: $(wc -c < "$OBJ/libmupdf.a") libmupdf.a $(wc -c < "$OBJ/libthird.a") libthird.a"
-46
View File
@@ -1,46 +0,0 @@
/* Minimal MuPDF 1.19 link test for KolibriOS: exercises the whole
render pipeline so the linker must resolve every core symbol.
Not meant to run as-is; this validates that the port LINKS. */
#include <mupdf/fitz.h>
#include <stdio.h>
int render_first_page(const char *path)
{
fz_context *ctx;
fz_document *doc;
fz_pixmap *pix;
fz_matrix ctm;
int pages;
ctx = fz_new_context(NULL, NULL, FZ_STORE_UNLIMITED);
if (!ctx)
return 1;
fz_try(ctx)
{
fz_register_document_handlers(ctx);
doc = fz_open_document(ctx, path);
pages = fz_count_pages(ctx, doc);
ctm = fz_scale(1.0f, 1.0f);
pix = fz_new_pixmap_from_page_number(ctx, doc, 0, ctm, fz_device_rgb(ctx), 0);
fz_save_pixmap_as_png(ctx, pix, "out.png");
fz_drop_pixmap(ctx, pix);
fz_drop_document(ctx, doc);
}
fz_catch(ctx)
{
fprintf(stderr, "mupdf error: %s\n", fz_caught_message(ctx));
fz_drop_context(ctx);
return 2;
}
fz_drop_context(ctx);
return pages;
}
int main(int argc, char **argv)
{
if (argc < 2)
return 1;
return render_first_page(argv[1]);
}
-1
View File
@@ -1 +0,0 @@
/* stub: MuPDF PDF-only port needs no harfbuzz shaping */
-1
View File
@@ -1 +0,0 @@
/* stub: MuPDF PDF-only port needs no harfbuzz shaping */
Binary file not shown.
+29
View File
@@ -0,0 +1,29 @@
# BUILD ONLY LIBRARIES
mkdir lib
cd SYSCALL/src
make
cd ../..
cd fitz
make
cd ..
cd pdf
make
cd ..
cd libopenjpeg
make
cd ..
cd libjbig2dec
make
cd ..
cd draw
make
cd ..
sleep 100
+6
View File
@@ -0,0 +1,6 @@
These resources are from Adobe and are covered by their
own copyright and license.
http://opensource.adobe.com/wiki/display/cmap/CMap+Resources
http://opensource.adobe.com/wiki/display/pdfmapping/Mapping+Resources+for+PDF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
+90
View File
@@ -0,0 +1,90 @@
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%DocumentNeededResources: CMap (B5-H)
%%IncludeResource: ProcSet (CIDInit)
%%IncludeResource: CMap (B5-H)
%%BeginResource: CMap (B5-V)
%%Title: (B5-V Adobe CNS1 0)
%%Version: 10.003
%%Copyright: -----------------------------------------------------------
%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
%%Copyright: All rights reserved.
%%Copyright:
%%Copyright: Redistribution and use in source and binary forms, with or
%%Copyright: without modification, are permitted provided that the
%%Copyright: following conditions are met:
%%Copyright:
%%Copyright: Redistributions of source code must retain the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer.
%%Copyright:
%%Copyright: Redistributions in binary form must reproduce the above
%%Copyright: copyright notice, this list of conditions and the following
%%Copyright: disclaimer in the documentation and/or other materials
%%Copyright: provided with the distribution.
%%Copyright:
%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
%%Copyright: of its contributors may be used to endorse or promote
%%Copyright: products derived from this software without specific prior
%%Copyright: written permission.
%%Copyright:
%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%%Copyright: -----------------------------------------------------------
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/B5-H usecmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (CNS1) def
/Supplement 0 def
end def
/CMapName /B5-V def
/CMapVersion 10.003 def
/CMapType 1 def
/UIDOffset 910 def
/XUID [1 10 25381] def
/WMode 1 def
12 begincidrange
<a14b> <a14b> 13646
<a15a> <a15a> 13743
<a15c> <a15c> 13745
<a15d> <a15e> 130
<a161> <a162> 134
<a165> <a166> 138
<a169> <a16a> 142
<a16d> <a16e> 146
<a171> <a172> 150
<a175> <a176> 154
<a179> <a17a> 158
<a1e3> <a1e3> 13647
endcidrange
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
Loaded 100 of 7325 files, more files were not shown because too many files have changed in this diff. Show more