Compare commits

..

44 Commits

Author SHA1 Message Date
semantic-release-bot d4a8e07bc2 chore(release): 1.6.1 [skip ci]
## [1.6.1](https://git.lumeweb.com/LumeWeb/chardet/compare/v1.6.0...v1.6.1) (2023-07-12)

### Bug Fixes

* update import paths ([cb5f404](cb5f404817))
2023-07-12 08:36:39 +00:00
Derrick Hammer cb5f404817
fix: update import paths 2023-07-12 04:34:15 -04:00
Derrick Hammer 6e492286b4
refactor: simplify package, move build system, and use es module format 2023-07-12 04:26:58 -04:00
renovate[bot] 7eed52022f chore(deps): update dependency prettier to v3 2023-07-05 18:59:48 +00:00
Dave Nicolson 7f95705920
feat: Add ASCII encoding support (#78) 2023-06-17 09:52:53 +10:00
renovate[bot] 29cb821fb3 chore(deps): update dependency semantic-release to v21 2023-03-24 23:19:23 +00:00
renovate[bot] e80f70bce7 chore(deps): update dependency typescript to v5 2023-03-16 20:29:41 +00:00
Dmitry Shirokov 8733d71ade
Merge pull request #80 from runk/fix-sem-rel
chore: Fix release
2023-03-10 05:26:58 +05:30
Dmitry Shirokov 8dc9eaf34b chore: Fix release 2023-03-10 10:56:38 +11:00
Dmitry Shirokov 7430c84b78
Merge pull request #77 from dnicolson/fix-capitalization
Fix capitalization in README
2023-03-10 05:24:03 +05:30
Dmitry Shirokov e1cccd9b31
Merge pull request #79 from runk/debug-build
Debug failing build
2023-03-10 05:23:46 +05:30
Dmitry Shirokov b405387e26 chore: Use npx instead of `npm bin` 2023-03-10 10:51:36 +11:00
Dave Nicolson 67f9e9f9d3 Fix capitalization in README 2023-03-08 23:38:03 +01:00
renovate[bot] 12274b3d17 chore(deps): update dependency semantic-release to v20 2023-01-06 23:58:37 +00:00
Dmitry Shirokov fbef681230
Merge pull request #73 from runk/trigger-release
fix(types): Export AnalyseResult and DetectResult types
2023-01-06 09:09:56 +11:00
Dmitry Shirokov 1472a8bb8e fix(types): Export AnalyseResult and DetectResult types 2023-01-06 09:08:20 +11:00
Dmitry Shirokov dfa504f4d5
Merge pull request #72 from runk/export-result-types
patch: Export AnalyseResult and DetectResult types
2023-01-06 08:00:27 +11:00
Dmitry Shirokov 927d5c637b patch: Export AnalyseResult and DetectResult types 2023-01-06 07:57:59 +11:00
Dmitry Shirokov 4ad395614c
Merge pull request #70 from runk/renovate/major-jest-monorepo
chore(deps): update jest monorepo to v29 (major)
2022-12-17 18:52:33 +11:00
Dmitry Shirokov 2c6d1fad32
remote node@12 from tests 2022-12-17 18:51:06 +11:00
renovate[bot] e1a408ea0c
chore(deps): update jest monorepo to v29 2022-12-17 07:46:45 +00:00
Dmitry Shirokov 44cc4f8f48
Merge pull request #66 from runk/renovate/actions-checkout-3.x
chore(deps): update actions/checkout action to v3
2022-12-17 18:46:35 +11:00
Dmitry Shirokov f8f502077f
Merge pull request #67 from runk/renovate/actions-setup-node-3.x
chore(deps): update actions/setup-node action to v3
2022-12-17 18:44:30 +11:00
renovate[bot] c8c3a8a5b2 chore(deps): update dependency @types/node to v18 2022-11-02 02:16:17 +00:00
renovate[bot] ef317d2e89
chore(deps): update actions/setup-node action to v3 2022-11-01 22:44:05 +00:00
renovate[bot] ab6f6f7686
chore(deps): update actions/checkout action to v3 2022-11-01 22:43:59 +00:00
Dmitry Shirokov 685cba81b3
Merge pull request #64 from crisp-dev/master
feat: allow position offset as option
2022-10-09 22:47:30 +11:00
Eliott Vincent bab1db0a77 Bump README 2022-10-07 10:23:13 +02:00
Eliott Vincent d085d275b3 Rename position -> offset 2022-10-07 10:15:24 +02:00
Dmitry Shirokov 71e8016266
Merge pull request #65 from runk/maintenance-dev-deps
chore: dev deps
2022-10-07 16:29:25 +11:00
Dmitry Shirokov 5adc448a3b
chore: dev deps 2022-10-07 16:19:28 +11:00
Eliott Vincent 40b87b49d7 Revert "Expose build"
This reverts commit fa78cd0885.
2022-10-06 10:39:49 +02:00
Eliott Vincent fa78cd0885 Expose build 2022-10-06 10:38:38 +02:00
Eliott Vincent a169cc58d7 feat: allow position offset as option 2022-10-06 10:32:32 +02:00
Dmitry Shirokov a082c71382
Merge pull request #63 from runk/npmrc
chore: npmrc
2022-10-03 12:25:25 +11:00
Dmitry Shirokov 36fe2c1c87
chore: npmrc 2022-10-03 12:23:21 +11:00
Dmitry Shirokov 20f996734e
Merge pull request #62 from runk/test-exports
chore: Test exports
2022-10-03 12:19:17 +11:00
Dmitry Shirokov a1935b1ba7
chore: Test exports 2022-10-03 12:15:42 +11:00
Dmitry Shirokov efad3c3f0d
Test exports 2022-10-03 12:12:31 +11:00
Dmitry Shirokov 1966208bcb
Merge pull request #61 from runk/maintenance
Maintenance
2022-10-03 12:10:56 +11:00
Dmitry Shirokov eae67c45e6
Maintenance 2022-09-30 12:19:50 +10:00
Dmitry Shirokov 9032016305
Merge pull request #59 from runk/feat-language-specificity
feat: Language detection improvements
2021-10-19 21:23:49 +11:00
Dmitry Shirokov d0e93bb2ab
feat: Language detection improvements 2021-10-19 21:21:29 +11:00
Dmitry Shirokov 982eb02c45
Merge pull request #58 from runk/licence-2021
Licence update
2021-10-19 20:33:53 +11:00
69 changed files with 20075 additions and 5306 deletions

View File

@ -1,2 +0,0 @@
lib
jest.config.js

View File

@ -1,10 +0,0 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/no-unused-vars": ["warn", { "varsIgnorePattern": "_" }],
"@typescript-eslint/no-inferrable-types": ["off"]
}
}

View File

@ -1,26 +0,0 @@
name: Build
on:
push:
branches: [master]
pull_request:
branches: ["*"]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm i
- run: npm run lint
- run: npm test
- run: npm run build

13
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,13 @@
name: Build/Publish
on:
push:
branches:
- master
- develop
- develop-*
jobs:
main:
uses: lumeweb/github-node-deploy-workflow/.github/workflows/main.yml@master
secrets: inherit

View File

@ -1,27 +0,0 @@
name: Release
on:
push:
branches:
- master
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm i
- name: Build module
run: npm run build
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx semantic-release

1
.npmrc Normal file
View File

@ -0,0 +1 @@
package-lock=false

5
.presetterrc.json Normal file
View File

@ -0,0 +1,5 @@
{
"preset": [
"@lumeweb/node-library-preset"
]
}

6
CHANGELOG.md Normal file
View File

@ -0,0 +1,6 @@
## [1.6.1](https://git.lumeweb.com/LumeWeb/chardet/compare/v1.6.0...v1.6.1) (2023-07-12)
### Bug Fixes
* update import paths ([cb5f404](https://git.lumeweb.com/LumeWeb/chardet/commit/cb5f4048175da6c6a9f0ee11e3f91efc59b180fa))

View File

@ -1,4 +1,4 @@
Copyright (C) 2021 Dmitry Shirokov Copyright (C) 2023 Dmitry Shirokov
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,13 +1,13 @@
# chardet # chardet
*Chardet* is a character detection module written in pure Javascript (Typescript). Module uses occurrence analysis to determine the most probable encoding. *Chardet* is a character detection module written in pure JavaScript (TypeScript). Module uses occurrence analysis to determine the most probable encoding.
- Packed size is only **22 KB** - Packed size is only **22 KB**
- Works in all environments: Node / Browser / Native - Works in all environments: Node / Browser / Native
- Works on all platforms: Linux / Mac / Windows - Works on all platforms: Linux / Mac / Windows
- No dependencies - No dependencies
- No native code / bindings - No native code / bindings
- 100% written in Typescript - 100% written in TypeScript
- Extensive code coverage - Extensive code coverage
## Installation ## Installation
@ -21,23 +21,23 @@ npm i chardet
To return the encoding with the highest confidence: To return the encoding with the highest confidence:
```javascript ```javascript
const chardet = require('chardet'); import chardet from 'chardet';
chardet.detect(Buffer.from('hello there!')); const encoding = chardet.detect(Buffer.from('hello there!'));
// or // or
chardet.detectFile('/path/to/file').then(encoding => console.log(encoding)); const encoding = await chardet.detectFile('/path/to/file');
// or // or
chardet.detectFileSync('/path/to/file'); const encoding = chardet.detectFileSync('/path/to/file');
``` ```
To return the full list of possible encodings use `analyse` method. To return the full list of possible encodings use `analyse` method.
```javascript ```javascript
const chardet = require('chardet'); import chardet from 'chardet';
chardet.analyse(Buffer.from('hello there!')); chardet.analyse(Buffer.from('hello there!'));
``` ```
Returned value is an array of objects sorted by confidence value in decending order Returned value is an array of objects sorted by confidence value in descending order
```javascript ```javascript
[ [
@ -48,8 +48,8 @@ Returned value is an array of objects sorted by confidence value in decending or
## Working with large data sets ## Working with large data sets
Sometimes, when data set is huge and you want to optimize performace (in tradeoff of less accuracy), Sometimes, when data set is huge and you want to optimize performance (with a tradeoff of less accuracy),
you can sample only first N bytes of the buffer: you can sample only the first N bytes of the buffer:
```javascript ```javascript
chardet chardet
@ -57,6 +57,14 @@ chardet
.then(encoding => console.log(encoding)); .then(encoding => console.log(encoding));
``` ```
You can also specify where to begin reading from in the buffer:
```javascript
chardet
.detectFile('/path/to/file', { sampleSize: 32, offset: 128 })
.then(encoding => console.log(encoding));
```
## Supported Encodings: ## Supported Encodings:
- UTF-8 - UTF-8
@ -90,7 +98,7 @@ chardet
Currently only these encodings are supported. Currently only these encodings are supported.
## Typescript? ## TypeScript?
Yes. Type definitions are included. Yes. Type definitions are included.

View File

@ -1,9 +0,0 @@
module.exports = {
testEnvironment: 'node',
testRegex: '.*test.ts$',
transform: { '^.+\\.ts?$': 'ts-jest' },
moduleFileExtensions: ['ts', 'js', 'json'],
rootDir: 'src',
collectCoverage: true,
coverageDirectory: '<rootDir>/../coverage',
};

19301
npm-shrinkwrap.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,97 +1,56 @@
{ {
"name": "chardet", "name": "@lumeweb/chardet",
"version": "0.0.0-development", "version": "1.6.1",
"homepage": "https://github.com/runk/node-chardet", "homepage": "https://github.com/runk/node-chardet",
"description": "Character encoding detector", "description": "Character encoding detector",
"license": "MIT", "type": "module",
"repository": { "main": "lib/index.js",
"type": "git", "license": "MIT",
"url": "https://github.com/runk/node-chardet.git" "repository": {
}, "type": "git",
"bugs": { "url": "gitea@git.lumeweb.com:LumeWeb/chardet.git"
"mail": "deadrunk@gmail.com", },
"url": "http://github.com/runk/node-chardet/issues" "bugs": {
}, "url": "http://github.com/runk/node-chardet/issues"
"scripts": { },
"build": "rm -rf lib/* && tsc", "author": {
"lint": "eslint . --ext .js,.jsx,.ts,.tsx", "name": "Dmitry Shirokov",
"lint:types": "tsc --noEmit", "email": "deadrunk@gmail.com"
"format": "prettier --write ./src/**/*.ts", },
"format:check": "prettier --list-different ./src/**/*.ts", "contributors": [
"test": "jest", {
"prepublish": "npm run build", "name": "@spikying"
"semantic-release": "semantic-release" },
}, {
"files": ["lib"], "name": "@wtgtybhertgeghgtwtg"
"main": "lib/index.js", },
"typings": "lib/index.d.ts", {
"engine": { "name": "@suisho"
"node": ">=4" },
}, {
"readmeFilename": "README.md", "name": "@seangarner"
"directories": { },
"test": "test" {
}, "name": "@zevanty"
"devDependencies": { }
"@types/jest": "^26.0.14", ],
"@types/node": "^14.11.2", "browser": {
"@typescript-eslint/eslint-plugin": "^4.2.0", "./lib/fs/node.js": "./lib/fs/browser.js"
"@typescript-eslint/parser": "^4.2.0", },
"eslint": "^7.9.0", "devDependencies": {
"jest": "^26.4.2", "@lumeweb/node-library-preset": "^0.2.7",
"prettier": "^2.1.2", "presetter": "*"
"semantic-release": "^17.1.2", },
"ts-jest": "^26.4.0", "readme": "ERROR: No README data found!",
"typescript": "^4.0.3" "scripts": {
}, "prepare": "presetter bootstrap",
"keywords": [ "build": "run build",
"encoding", "semantic-release": "semantic-release"
"character", },
"utf8", "files": [
"detector", "lib"
"chardet", ],
"icu", "publishConfig": {
"character detection", "access": "public"
"character encoding", }
"language",
"iconv",
"iconv-light",
"UTF-8",
"UTF-16",
"UTF-32",
"ISO-2022-JP",
"ISO-2022-KR",
"ISO-2022-CN",
"Shift_JIS",
"Big5",
"EUC-JP",
"EUC-KR",
"GB18030",
"ISO-8859-1",
"ISO-8859-2",
"ISO-8859-5",
"ISO-8859-6",
"ISO-8859-7",
"ISO-8859-8",
"ISO-8859-9",
"windows-1250",
"windows-1251",
"windows-1252",
"windows-1253",
"windows-1254",
"windows-1255",
"windows-1256",
"KOI8-R"
],
"author": "Dmitry Shirokov <deadrunk@gmail.com>",
"contributors": [
"@spikying",
"@wtgtybhertgeghgtwtg",
"@suisho",
"@seangarner",
"@zevanty"
],
"browser": {
"./lib/fs/node.js": "./lib/fs/browser.js"
}
} }

View File

@ -1,13 +0,0 @@
{
"extends": ["config:base"],
"packageRules": [
{
"updateTypes": ["minor", "patch", "pin", "digest"],
"automerge": true
},
{
"depTypeList": ["devDependencies"],
"automerge": true
}
]
}

21
src/encoding/ascii.ts Normal file
View File

@ -0,0 +1,21 @@
import { Context, Recogniser } from './index.js';
import match, { Match } from '../match.js';
export default class Ascii implements Recogniser {
name() {
return 'ASCII';
}
match(det: Context): Match | null {
const input = det.rawInput;
for (let i = 0; i < det.rawLen; i++) {
const b = input[i];
if (b < 32 || b > 126) {
return match(det, this, 0);
}
}
return match(det, this, 100);
}
}

View File

@ -1,9 +1,9 @@
import { Match } from '../match'; import { Match } from '../match.js';
export interface Recogniser { export interface Recogniser {
match(input: Context): Match | null; match(input: Context): Match | null;
name(input?: Context): string; name(input?: Context): string;
language?(): string; language?(): string | undefined;
} }
export interface Context { export interface Context {

View File

@ -1,17 +0,0 @@
import * as chardet from '..';
describe('ISO-2022', () => {
const base = __dirname + '/../test/data/encodings';
it('should return ISO-2022-JP', () => {
expect(chardet.detectFileSync(base + '/iso2022jp')).toBe('ISO-2022-JP');
});
it('should return ISO-2022-KR', () => {
expect(chardet.detectFileSync(base + '/iso2022kr')).toBe('ISO-2022-KR');
});
it('should return ISO-2022-CN', () => {
expect(chardet.detectFileSync(base + '/iso2022cn')).toBe('ISO-2022-CN');
});
});

View File

@ -1,5 +1,5 @@
import { Context, Recogniser } from '.'; import { Context, Recogniser } from './index.js';
import match, { Match } from '../match'; import match, { Match } from '../match.js';
/** /**
* This is a superclass for the individual detectors for * This is a superclass for the individual detectors for
@ -33,7 +33,7 @@ class ISO_2022 implements Recogniser {
let hits = 0; let hits = 0;
let misses = 0; let misses = 0;
let shifts = 0; let shifts = 0;
let quality; let confidence;
// TODO: refactor me // TODO: refactor me
const text = det.inputBytes; const text = det.inputBytes;
@ -73,14 +73,14 @@ class ISO_2022 implements Recogniser {
// All good: quality = 100; // All good: quality = 100;
// half or less good: quality = 0; // half or less good: quality = 0;
// linear in between. // linear in between.
quality = (100 * hits - 100 * misses) / (hits + misses); confidence = (100 * hits - 100 * misses) / (hits + misses);
// Back off quality if there were too few escape sequences seen. // Back off quality if there were too few escape sequences seen.
// Include shifts in this computation, so that KR does not get penalized // Include shifts in this computation, so that KR does not get penalized
// for having only a single Escape sequence, but many shifts. // for having only a single Escape sequence, but many shifts.
if (hits + shifts < 5) quality -= (5 - (hits + shifts)) * 10; if (hits + shifts < 5) confidence -= (5 - (hits + shifts)) * 10;
return quality <= 0 ? null : match(det, this, quality); return confidence <= 0 ? null : match(det, this, confidence);
} }
} }
@ -88,6 +88,11 @@ export class ISO_2022_JP extends ISO_2022 {
name() { name() {
return 'ISO-2022-JP'; return 'ISO-2022-JP';
} }
language() {
return 'ja';
}
escapeSequences = [ escapeSequences = [
[0x1b, 0x24, 0x28, 0x43], // KS X 1001:1992 [0x1b, 0x24, 0x28, 0x43], // KS X 1001:1992
[0x1b, 0x24, 0x28, 0x44], // JIS X 212-1990 [0x1b, 0x24, 0x28, 0x44], // JIS X 212-1990
@ -108,6 +113,9 @@ export class ISO_2022_KR extends ISO_2022 {
name() { name() {
return 'ISO-2022-KR'; return 'ISO-2022-KR';
} }
language() {
return 'kr';
}
escapeSequences = [[0x1b, 0x24, 0x29, 0x43]]; escapeSequences = [[0x1b, 0x24, 0x29, 0x43]];
} }
@ -115,6 +123,9 @@ export class ISO_2022_CN extends ISO_2022 {
name() { name() {
return 'ISO-2022-CN'; return 'ISO-2022-CN';
} }
language() {
return 'zh';
}
escapeSequences = [ escapeSequences = [
[0x1b, 0x24, 0x29, 0x41], // GB 2312-80 [0x1b, 0x24, 0x29, 0x41], // GB 2312-80
[0x1b, 0x24, 0x29, 0x47], // CNS 11643-1992 Plane 1 [0x1b, 0x24, 0x29, 0x47], // CNS 11643-1992 Plane 1

View File

@ -1,25 +0,0 @@
import * as chardet from '..';
describe('Multibyte Character Sets', () => {
const base = __dirname + '/../test/data/encodings';
it('should return Shift_JIS', () => {
expect(chardet.detectFileSync(base + '/shiftjis')).toBe('Shift_JIS');
});
it('should return GB18030', () => {
expect(chardet.detectFileSync(base + '/gb18030')).toBe('GB18030');
});
it('should return Big5', () => {
expect(chardet.detectFileSync(base + '/big5')).toBe('Big5');
});
it('should return EUC-JP', () => {
expect(chardet.detectFileSync(base + '/euc_jp')).toBe('EUC-JP');
});
it('should return EUC-KR', () => {
expect(chardet.detectFileSync(base + '/euc_kr')).toBe('EUC-KR');
});
});

View File

@ -1,5 +1,5 @@
import { Context, Recogniser } from '.'; import { Context, Recogniser } from './index.js';
import match, { Match } from '../match'; import match, { Match } from '../match.js';
/** /**
* Binary search implementation (recursive) * Binary search implementation (recursive)
@ -98,8 +98,7 @@ class mbcs implements Recogniser {
* bits 8-15: The match reason, an enum-like value. * bits 8-15: The match reason, an enum-like value.
*/ */
match(det: Context): Match | null { match(det: Context): Match | null {
let singleByteCharCount = 0, //TODO Do we really need this? let doubleByteCharCount = 0,
doubleByteCharCount = 0,
commonCharCount = 0, commonCharCount = 0,
badCharCount = 0, badCharCount = 0,
totalCharCount = 0, totalCharCount = 0,
@ -115,9 +114,7 @@ class mbcs implements Recogniser {
} else { } else {
const cv = iter.charValue & 0xffffffff; const cv = iter.charValue & 0xffffffff;
if (cv <= 0xff) { if (cv > 0xff) {
singleByteCharCount++;
} else {
doubleByteCharCount++; doubleByteCharCount++;
if (this.commonChars != null) { if (this.commonChars != null) {
// NOTE: This assumes that there are no 4-byte common chars. // NOTE: This assumes that there are no 4-byte common chars.
@ -192,7 +189,7 @@ class mbcs implements Recogniser {
* being iterated over. * being iterated over.
* @return True if a character was returned, false at end of input. * @return True if a character was returned, false at end of input.
*/ */
nextChar(iter: IteratedChar, det: Context): boolean { nextChar(_iter: IteratedChar, _det: Context): boolean {
return true; return true;
} }
} }
@ -212,63 +209,13 @@ export class sjis extends mbcs {
// of-occurrence analysis tool. The data needs to be moved // of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there. // into a resource and loaded from there.
commonChars = [ commonChars = [
0x8140, 0x8140, 0x8141, 0x8142, 0x8145, 0x815b, 0x8169, 0x816a, 0x8175, 0x8176,
0x8141, 0x82a0, 0x82a2, 0x82a4, 0x82a9, 0x82aa, 0x82ab, 0x82ad, 0x82af, 0x82b1,
0x8142, 0x82b3, 0x82b5, 0x82b7, 0x82bd, 0x82be, 0x82c1, 0x82c4, 0x82c5, 0x82c6,
0x8145, 0x82c8, 0x82c9, 0x82cc, 0x82cd, 0x82dc, 0x82e0, 0x82e7, 0x82e8, 0x82e9,
0x815b, 0x82ea, 0x82f0, 0x82f1, 0x8341, 0x8343, 0x834e, 0x834f, 0x8358, 0x835e,
0x8169, 0x8362, 0x8367, 0x8375, 0x8376, 0x8389, 0x838a, 0x838b, 0x838d, 0x8393,
0x816a, 0x8e96, 0x93fa, 0x95aa,
0x8175,
0x8176,
0x82a0,
0x82a2,
0x82a4,
0x82a9,
0x82aa,
0x82ab,
0x82ad,
0x82af,
0x82b1,
0x82b3,
0x82b5,
0x82b7,
0x82bd,
0x82be,
0x82c1,
0x82c4,
0x82c5,
0x82c6,
0x82c8,
0x82c9,
0x82cc,
0x82cd,
0x82dc,
0x82e0,
0x82e7,
0x82e8,
0x82e9,
0x82ea,
0x82f0,
0x82f1,
0x8341,
0x8343,
0x834e,
0x834f,
0x8358,
0x835e,
0x8362,
0x8367,
0x8375,
0x8376,
0x8389,
0x838a,
0x838b,
0x838d,
0x8393,
0x8e96,
0x93fa,
0x95aa,
]; ];
nextChar(iter: IteratedChar, det: Context) { nextChar(iter: IteratedChar, det: Context) {
@ -312,102 +259,17 @@ export class big5 extends mbcs {
// of-occurrence analysis tool. The data needs to be moved // of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there. // into a resource and loaded from there.
commonChars = [ commonChars = [
0xa140, 0xa140, 0xa141, 0xa142, 0xa143, 0xa147, 0xa149, 0xa175, 0xa176, 0xa440,
0xa141, 0xa446, 0xa447, 0xa448, 0xa451, 0xa454, 0xa457, 0xa464, 0xa46a, 0xa46c,
0xa142, 0xa477, 0xa4a3, 0xa4a4, 0xa4a7, 0xa4c1, 0xa4ce, 0xa4d1, 0xa4df, 0xa4e8,
0xa143, 0xa4fd, 0xa540, 0xa548, 0xa558, 0xa569, 0xa5cd, 0xa5e7, 0xa657, 0xa661,
0xa147, 0xa662, 0xa668, 0xa670, 0xa6a8, 0xa6b3, 0xa6b9, 0xa6d3, 0xa6db, 0xa6e6,
0xa149, 0xa6f2, 0xa740, 0xa751, 0xa759, 0xa7da, 0xa8a3, 0xa8a5, 0xa8ad, 0xa8d1,
0xa175, 0xa8d3, 0xa8e4, 0xa8fc, 0xa9c0, 0xa9d2, 0xa9f3, 0xaa6b, 0xaaba, 0xaabe,
0xa176, 0xaacc, 0xaafc, 0xac47, 0xac4f, 0xacb0, 0xacd2, 0xad59, 0xaec9, 0xafe0,
0xa440, 0xb0ea, 0xb16f, 0xb2b3, 0xb2c4, 0xb36f, 0xb44c, 0xb44e, 0xb54c, 0xb5a5,
0xa446, 0xb5bd, 0xb5d0, 0xb5d8, 0xb671, 0xb7ed, 0xb867, 0xb944, 0xbad8, 0xbb44,
0xa447, 0xbba1, 0xbdd1, 0xc2c4, 0xc3b9, 0xc440, 0xc45f,
0xa448,
0xa451,
0xa454,
0xa457,
0xa464,
0xa46a,
0xa46c,
0xa477,
0xa4a3,
0xa4a4,
0xa4a7,
0xa4c1,
0xa4ce,
0xa4d1,
0xa4df,
0xa4e8,
0xa4fd,
0xa540,
0xa548,
0xa558,
0xa569,
0xa5cd,
0xa5e7,
0xa657,
0xa661,
0xa662,
0xa668,
0xa670,
0xa6a8,
0xa6b3,
0xa6b9,
0xa6d3,
0xa6db,
0xa6e6,
0xa6f2,
0xa740,
0xa751,
0xa759,
0xa7da,
0xa8a3,
0xa8a5,
0xa8ad,
0xa8d1,
0xa8d3,
0xa8e4,
0xa8fc,
0xa9c0,
0xa9d2,
0xa9f3,
0xaa6b,
0xaaba,
0xaabe,
0xaacc,
0xaafc,
0xac47,
0xac4f,
0xacb0,
0xacd2,
0xad59,
0xaec9,
0xafe0,
0xb0ea,
0xb16f,
0xb2b3,
0xb2c4,
0xb36f,
0xb44c,
0xb44e,
0xb54c,
0xb5a5,
0xb5bd,
0xb5d0,
0xb5d8,
0xb671,
0xb7ed,
0xb867,
0xb944,
0xbad8,
0xbb44,
0xbba1,
0xbdd1,
0xc2c4,
0xc3b9,
0xc440,
0xc45f,
]; ];
nextChar(iter: IteratedChar, det: Context) { nextChar(iter: IteratedChar, det: Context) {
@ -511,105 +373,17 @@ export class euc_jp extends mbcs {
// of-occurrence analysis tool. The data needs to be moved // of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there. // into a resource and loaded from there.
commonChars = [ commonChars = [
0xa1a1, 0xa1a1, 0xa1a2, 0xa1a3, 0xa1a6, 0xa1bc, 0xa1ca, 0xa1cb, 0xa1d6, 0xa1d7,
0xa1a2, 0xa4a2, 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4af,
0xa1a3, 0xa4b1, 0xa4b3, 0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd, 0xa4bf, 0xa4c0,
0xa1a6, 0xa4c1, 0xa4c3, 0xa4c4, 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb,
0xa1bc, 0xa4ce, 0xa4cf, 0xa4d0, 0xa4de, 0xa4df, 0xa4e1, 0xa4e2, 0xa4e4, 0xa4e8,
0xa1ca, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ef, 0xa4f2, 0xa4f3, 0xa5a2, 0xa5a3,
0xa1cb, 0xa5a4, 0xa5a6, 0xa5a7, 0xa5aa, 0xa5ad, 0xa5af, 0xa5b0, 0xa5b3, 0xa5b5,
0xa1d6, 0xa5b7, 0xa5b8, 0xa5b9, 0xa5bf, 0xa5c3, 0xa5c6, 0xa5c7, 0xa5c8, 0xa5c9,
0xa1d7, 0xa5cb, 0xa5d0, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5de, 0xa5e0, 0xa5e1, 0xa5e5,
0xa4a2, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5f3, 0xb8a9, 0xb9d4, 0xbaee,
0xa4a4, 0xbbc8, 0xbef0, 0xbfb7, 0xc4ea, 0xc6fc, 0xc7bd, 0xcab8, 0xcaf3, 0xcbdc,
0xa4a6,
0xa4a8,
0xa4aa,
0xa4ab,
0xa4ac,
0xa4ad,
0xa4af,
0xa4b1,
0xa4b3,
0xa4b5,
0xa4b7,
0xa4b9,
0xa4bb,
0xa4bd,
0xa4bf,
0xa4c0,
0xa4c1,
0xa4c3,
0xa4c4,
0xa4c6,
0xa4c7,
0xa4c8,
0xa4c9,
0xa4ca,
0xa4cb,
0xa4ce,
0xa4cf,
0xa4d0,
0xa4de,
0xa4df,
0xa4e1,
0xa4e2,
0xa4e4,
0xa4e8,
0xa4e9,
0xa4ea,
0xa4eb,
0xa4ec,
0xa4ef,
0xa4f2,
0xa4f3,
0xa5a2,
0xa5a3,
0xa5a4,
0xa5a6,
0xa5a7,
0xa5aa,
0xa5ad,
0xa5af,
0xa5b0,
0xa5b3,
0xa5b5,
0xa5b7,
0xa5b8,
0xa5b9,
0xa5bf,
0xa5c3,
0xa5c6,
0xa5c7,
0xa5c8,
0xa5c9,
0xa5cb,
0xa5d0,
0xa5d5,
0xa5d6,
0xa5d7,
0xa5de,
0xa5e0,
0xa5e1,
0xa5e5,
0xa5e9,
0xa5ea,
0xa5eb,
0xa5ec,
0xa5ed,
0xa5f3,
0xb8a9,
0xb9d4,
0xbaee,
0xbbc8,
0xbef0,
0xbfb7,
0xc4ea,
0xc6fc,
0xc7bd,
0xcab8,
0xcaf3,
0xcbdc,
0xcdd1, 0xcdd1,
]; ];
@ -633,105 +407,17 @@ export class euc_kr extends mbcs {
// of-occurrence analysis tool. The data needs to be moved // of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there. // into a resource and loaded from there.
commonChars = [ commonChars = [
0xb0a1, 0xb0a1, 0xb0b3, 0xb0c5, 0xb0cd, 0xb0d4, 0xb0e6, 0xb0ed, 0xb0f8, 0xb0fa,
0xb0b3, 0xb0fc, 0xb1b8, 0xb1b9, 0xb1c7, 0xb1d7, 0xb1e2, 0xb3aa, 0xb3bb, 0xb4c2,
0xb0c5, 0xb4cf, 0xb4d9, 0xb4eb, 0xb5a5, 0xb5b5, 0xb5bf, 0xb5c7, 0xb5e9, 0xb6f3,
0xb0cd, 0xb7af, 0xb7c2, 0xb7ce, 0xb8a6, 0xb8ae, 0xb8b6, 0xb8b8, 0xb8bb, 0xb8e9,
0xb0d4, 0xb9ab, 0xb9ae, 0xb9cc, 0xb9ce, 0xb9fd, 0xbab8, 0xbace, 0xbad0, 0xbaf1,
0xb0e6, 0xbbe7, 0xbbf3, 0xbbfd, 0xbcad, 0xbcba, 0xbcd2, 0xbcf6, 0xbdba, 0xbdc0,
0xb0ed, 0xbdc3, 0xbdc5, 0xbec6, 0xbec8, 0xbedf, 0xbeee, 0xbef8, 0xbefa, 0xbfa1,
0xb0f8, 0xbfa9, 0xbfc0, 0xbfe4, 0xbfeb, 0xbfec, 0xbff8, 0xc0a7, 0xc0af, 0xc0b8,
0xb0fa, 0xc0ba, 0xc0bb, 0xc0bd, 0xc0c7, 0xc0cc, 0xc0ce, 0xc0cf, 0xc0d6, 0xc0da,
0xb0fc, 0xc0e5, 0xc0fb, 0xc0fc, 0xc1a4, 0xc1a6, 0xc1b6, 0xc1d6, 0xc1df, 0xc1f6,
0xb1b8, 0xc1f8, 0xc4a1, 0xc5cd, 0xc6ae, 0xc7cf, 0xc7d1, 0xc7d2, 0xc7d8, 0xc7e5,
0xb1b9,
0xb1c7,
0xb1d7,
0xb1e2,
0xb3aa,
0xb3bb,
0xb4c2,
0xb4cf,
0xb4d9,
0xb4eb,
0xb5a5,
0xb5b5,
0xb5bf,
0xb5c7,
0xb5e9,
0xb6f3,
0xb7af,
0xb7c2,
0xb7ce,
0xb8a6,
0xb8ae,
0xb8b6,
0xb8b8,
0xb8bb,
0xb8e9,
0xb9ab,
0xb9ae,
0xb9cc,
0xb9ce,
0xb9fd,
0xbab8,
0xbace,
0xbad0,
0xbaf1,
0xbbe7,
0xbbf3,
0xbbfd,
0xbcad,
0xbcba,
0xbcd2,
0xbcf6,
0xbdba,
0xbdc0,
0xbdc3,
0xbdc5,
0xbec6,
0xbec8,
0xbedf,
0xbeee,
0xbef8,
0xbefa,
0xbfa1,
0xbfa9,
0xbfc0,
0xbfe4,
0xbfeb,
0xbfec,
0xbff8,
0xc0a7,
0xc0af,
0xc0b8,
0xc0ba,
0xc0bb,
0xc0bd,
0xc0c7,
0xc0cc,
0xc0ce,
0xc0cf,
0xc0d6,
0xc0da,
0xc0e5,
0xc0fb,
0xc0fc,
0xc1a4,
0xc1a6,
0xc1b6,
0xc1d6,
0xc1df,
0xc1f6,
0xc1f8,
0xc4a1,
0xc5cd,
0xc6ae,
0xc7cf,
0xc7d1,
0xc7d2,
0xc7d8,
0xc7e5,
0xc8ad, 0xc8ad,
]; ];
@ -807,105 +493,17 @@ export class gb_18030 extends mbcs {
// of-occurrence analysis tool. The data needs to be moved // of-occurrence analysis tool. The data needs to be moved
// into a resource and loaded from there. // into a resource and loaded from there.
commonChars = [ commonChars = [
0xa1a1, 0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1b0, 0xa1b1, 0xa1f1, 0xa1f3, 0xa3a1,
0xa1a2, 0xa3ac, 0xa3ba, 0xb1a8, 0xb1b8, 0xb1be, 0xb2bb, 0xb3c9, 0xb3f6, 0xb4f3,
0xa1a3, 0xb5bd, 0xb5c4, 0xb5e3, 0xb6af, 0xb6d4, 0xb6e0, 0xb7a2, 0xb7a8, 0xb7bd,
0xa1a4, 0xb7d6, 0xb7dd, 0xb8b4, 0xb8df, 0xb8f6, 0xb9ab, 0xb9c9, 0xb9d8, 0xb9fa,
0xa1b0, 0xb9fd, 0xbacd, 0xbba7, 0xbbd6, 0xbbe1, 0xbbfa, 0xbcbc, 0xbcdb, 0xbcfe,
0xa1b1, 0xbdcc, 0xbecd, 0xbedd, 0xbfb4, 0xbfc6, 0xbfc9, 0xc0b4, 0xc0ed, 0xc1cb,
0xa1f1, 0xc2db, 0xc3c7, 0xc4dc, 0xc4ea, 0xc5cc, 0xc6f7, 0xc7f8, 0xc8ab, 0xc8cb,
0xa1f3, 0xc8d5, 0xc8e7, 0xc9cf, 0xc9fa, 0xcab1, 0xcab5, 0xcac7, 0xcad0, 0xcad6,
0xa3a1, 0xcaf5, 0xcafd, 0xccec, 0xcdf8, 0xceaa, 0xcec4, 0xced2, 0xcee5, 0xcfb5,
0xa3ac, 0xcfc2, 0xcfd6, 0xd0c2, 0xd0c5, 0xd0d0, 0xd0d4, 0xd1a7, 0xd2aa, 0xd2b2,
0xa3ba, 0xd2b5, 0xd2bb, 0xd2d4, 0xd3c3, 0xd3d0, 0xd3fd, 0xd4c2, 0xd4da, 0xd5e2,
0xb1a8,
0xb1b8,
0xb1be,
0xb2bb,
0xb3c9,
0xb3f6,
0xb4f3,
0xb5bd,
0xb5c4,
0xb5e3,
0xb6af,
0xb6d4,
0xb6e0,
0xb7a2,
0xb7a8,
0xb7bd,
0xb7d6,
0xb7dd,
0xb8b4,
0xb8df,
0xb8f6,
0xb9ab,
0xb9c9,
0xb9d8,
0xb9fa,
0xb9fd,
0xbacd,
0xbba7,
0xbbd6,
0xbbe1,
0xbbfa,
0xbcbc,
0xbcdb,
0xbcfe,
0xbdcc,
0xbecd,
0xbedd,
0xbfb4,
0xbfc6,
0xbfc9,
0xc0b4,
0xc0ed,
0xc1cb,
0xc2db,
0xc3c7,
0xc4dc,
0xc4ea,
0xc5cc,
0xc6f7,
0xc7f8,
0xc8ab,
0xc8cb,
0xc8d5,
0xc8e7,
0xc9cf,
0xc9fa,
0xcab1,
0xcab5,
0xcac7,
0xcad0,
0xcad6,
0xcaf5,
0xcafd,
0xccec,
0xcdf8,
0xceaa,
0xcec4,
0xced2,
0xcee5,
0xcfb5,
0xcfc2,
0xcfd6,
0xd0c2,
0xd0c5,
0xd0d0,
0xd0d4,
0xd1a7,
0xd2aa,
0xd2b2,
0xd2b5,
0xd2bb,
0xd2d4,
0xd3c3,
0xd3d0,
0xd3fd,
0xd4c2,
0xd4da,
0xd5e2,
0xd6d0, 0xd6d0,
]; ];
} }

View File

@ -1,76 +0,0 @@
import * as chardet from '..';
describe('Singlebyte Character Sets', () => {
const base = __dirname + '/../test/data/encodings';
it('should return ISO-8859-1 (English)', () => {
expect(chardet.detectFileSync(base + '/iso88591_en')).toBe('ISO-8859-1');
});
it('should return ISO-8859-2 (Czech)', () => {
expect(chardet.detectFileSync(base + '/iso88592_cs')).toBe('ISO-8859-2');
});
test.todo('should return ISO-8859-3');
test.todo('should return ISO-8859-4');
it('should return ISO-8859-5 (Russian)', () => {
expect(chardet.detectFileSync(base + '/iso88595_ru')).toBe('ISO-8859-5');
});
it('should return ISO-8859-6 (Arabic)', () => {
expect(chardet.detectFileSync(base + '/iso88596_ar')).toBe('ISO-8859-6');
});
it('should return ISO-8859-7 (Greek)', () => {
expect(chardet.detectFileSync(base + '/iso88597_el')).toBe('ISO-8859-7');
});
it('should return ISO-8859-8 (Hebrew)', () => {
expect(chardet.detectFileSync(base + '/iso88598_he')).toBe('ISO-8859-8');
});
it('should return ISO-8859-9 (Turkish)', () => {
expect(chardet.detectFileSync(base + '/iso88599_tr')).toBe('ISO-8859-9');
});
test.todo('should return ISO-8859-10');
test.todo('should return ISO-8859-11');
// iso-8859-12 is abandoned
test.todo('should return ISO-8859-13');
test.todo('should return ISO-8859-14');
test.todo('should return ISO-8859-15');
test.todo('should return ISO-8859-16');
it('should return windows-1250 (Czech)', () => {
expect(chardet.detectFileSync(base + '/windows_1250')).toBe('windows-1250');
});
it('should return windows-1251 (Russian)', () => {
expect(chardet.detectFileSync(base + '/windows_1251')).toBe('windows-1251');
});
it('should return windows-1252 (English)', () => {
expect(chardet.detectFileSync(base + '/windows_1252')).toBe('windows-1252');
});
it('should return windows-1253 (Greek)', () => {
expect(chardet.detectFileSync(base + '/windows_1253')).toBe('windows-1253');
});
it('should return windows-1254 (Turkish)', () => {
expect(chardet.detectFileSync(base + '/windows_1254')).toBe('windows-1254');
});
it('should return windows-1255 (Hebrew)', () => {
expect(chardet.detectFileSync(base + '/windows_1255')).toBe('windows-1255');
});
it('should return windows-1256 (Arabic)', () => {
expect(chardet.detectFileSync(base + '/windows_1256')).toBe('windows-1256');
});
it('should return KOI8-R (Russian)', () => {
expect(chardet.detectFileSync(base + '/koi8r')).toBe('KOI8-R');
});
});

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
import * as chardet from '..';
describe('Unicode', () => {
const base = __dirname + '/../test/data/encodings';
it('should return UTF-16LE', () => {
expect(chardet.detectFileSync(base + '/utf16le')).toBe('UTF-16LE');
});
it('should return UTF-16BE', () => {
expect(chardet.detectFileSync(base + '/utf16be')).toBe('UTF-16BE');
});
it('should return UTF-32LE', () => {
expect(chardet.detectFileSync(base + '/utf32le')).toBe('UTF-32LE');
});
it('should return UTF-32BE', () => {
expect(chardet.detectFileSync(base + '/utf32be')).toBe('UTF-32BE');
});
});

View File

@ -1,5 +1,5 @@
import { Context, Recogniser } from '.'; import { Context, Recogniser } from './index.js';
import match, { Match } from '../match'; import match, { Match } from '../match.js';
/** /**
* This class matches UTF-16 and UTF-32, both big- and little-endian. The * This class matches UTF-16 and UTF-32, both big- and little-endian. The
@ -60,7 +60,7 @@ class UTF_32 implements Recogniser, WithGetChar {
return 'UTF-32'; return 'UTF-32';
} }
getChar(input: Uint8Array, index: number): number { getChar(_input: Uint8Array, _index: number): number {
return -1; return -1;
} }

View File

@ -1,9 +0,0 @@
import * as chardet from '..';
describe('UTF-8', () => {
it('should return UTF-8', () => {
expect(
chardet.detectFileSync(__dirname + '/../test/data/encodings/utf8')
).toBe('UTF-8');
});
});

View File

@ -1,5 +1,5 @@
import { Context, Recogniser } from '.'; import { Context, Recogniser } from './index.js';
import match, { Match } from '../match'; import match, { Match } from '../match.js';
export default class Utf8 implements Recogniser { export default class Utf8 implements Recogniser {
name() { name() {

View File

@ -1,61 +0,0 @@
import * as chardet from '.';
import defaultChardet from '.';
import fs from 'fs';
describe('chardet', () => {
const path = __dirname + '/test/data/encodings/utf8';
const expectedEncodingsFromPath = [
{ 'confidence': 100, 'name': 'UTF-8', 'lang': undefined },
{ 'confidence': 32, 'name': 'windows-1252', 'lang': 'fr' },
{ 'confidence': 19, 'name': 'KOI8-R', 'lang': undefined },
{ 'confidence': 10, 'name': 'Big5', 'lang': undefined },
{ 'confidence': 10, 'name': 'GB18030', 'lang': undefined },
{ 'confidence': 10, 'name': 'windows-1253', 'lang': undefined },
{ 'confidence': 6, 'name': 'windows-1250', 'lang': 'pl' },
{ 'confidence': 4, 'name': 'windows-1254', 'lang': undefined },
{ 'confidence': 2, 'name': 'windows-1251', 'lang': undefined },
];
it('has both named and default exports', () => {
expect(defaultChardet.analyse).toBe(chardet.analyse);
expect(defaultChardet.detect).toBe(chardet.detect);
expect(defaultChardet.detectFile).toBe(chardet.detectFile);
expect(defaultChardet.detectFileSync).toBe(chardet.detectFileSync);
});
describe('#detect', () => {
it('should detect encoding', () => {
expect(chardet.detect(fs.readFileSync(path))).toBe('UTF-8');
});
});
describe('#detectFile', () => {
it('should detect encoding', async () => {
const res = await chardet.detectFile(path);
expect(res).toBe('UTF-8');
});
it('should detect encoding with smaller sample size', async () => {
const res = await chardet.detectFile(path, { sampleSize: 32 });
expect(res).toBe('UTF-8');
});
});
describe('#detectFileSync', () => {
it('should detect encoding', () => {
expect(chardet.detectFileSync(path)).toBe('UTF-8');
});
it('should detect encoding with smaller sample size', () => {
expect(chardet.detectFileSync(path, { sampleSize: 32 })).toBe('UTF-8');
});
});
describe('#analyse', () => {
it('should return a list of encodings, sorted by confidence level in decending order', () => {
const matches = chardet.analyse(fs.readFileSync(path));
expect(matches).toEqual(expectedEncodingsFromPath);
});
});
});

View File

@ -1,19 +1,21 @@
import { Match } from './match'; import { Match } from './match.js';
import { Recogniser, Context } from './encoding'; import { Recogniser, Context } from './encoding/index.js';
import loadFs from './fs/node'; import loadFs from './fs/node.js';
import Utf8 from './encoding/utf8'; import Ascii from './encoding/ascii.js';
import * as unicode from './encoding/unicode'; import Utf8 from './encoding/utf8.js';
import * as mbcs from './encoding/mbcs'; import * as unicode from './encoding/unicode.js';
import * as sbcs from './encoding/sbcs'; import * as mbcs from './encoding/mbcs.js';
import * as iso2022 from './encoding/iso2022'; import * as sbcs from './encoding/sbcs.js';
import * as iso2022 from './encoding/iso2022.js';
interface FullOptions { interface FullOptions {
sampleSize: number sampleSize: number;
offset: number;
} }
type Options = Partial<FullOptions> export type Options = Partial<FullOptions>;
const recognisers: Recogniser[] = [ const recognisers: Recogniser[] = [
new Utf8(), new Utf8(),
@ -39,18 +41,20 @@ const recognisers: Recogniser[] = [
new sbcs.windows_1251(), new sbcs.windows_1251(),
new sbcs.windows_1256(), new sbcs.windows_1256(),
new sbcs.KOI8_R(), new sbcs.KOI8_R(),
new Ascii(),
]; ];
type DetectResult = Match[] | string | null; export type AnalyseResult = Match[];
export type DetectResult = string | null;
export const detect = (buffer: Uint8Array): string | null => { export const detect = (buffer: Uint8Array): string | null => {
const matches: Match[] = analyse(buffer); const matches: Match[] = analyse(buffer);
return matches.length > 0 ? matches[0].name : null; return matches.length > 0 ? matches[0].name : null;
}; };
export const analyse = (buffer: Uint8Array): Match[] => { export const analyse = (buffer: Uint8Array): AnalyseResult => {
// Tally up the byte occurrence statistics. // Tally up the byte occurrence statistics.
const byteStats = []; const byteStats: number[] = [];
for (let i = 0; i < 256; i++) byteStats[i] = 0; for (let i = 0; i < 256; i++) byteStats[i] = 0;
for (let i = buffer.length - 1; i >= 0; i--) byteStats[buffer[i] & 0x00ff]++; for (let i = buffer.length - 1; i >= 0; i--) byteStats[buffer[i] & 0x00ff]++;
@ -84,9 +88,12 @@ export const analyse = (buffer: Uint8Array): Match[] => {
}); });
return matches as Match[]; return matches as Match[];
} };
export const detectFile = (filepath: string, opts: Options = {}): Promise<DetectResult> => export const detectFile = (
filepath: string,
opts: Options = {}
): Promise<DetectResult> =>
new Promise((resolve, reject) => { new Promise((resolve, reject) => {
let fd: any; let fd: any;
const fs = loadFs(); const fs = loadFs();
@ -107,7 +114,7 @@ export const detectFile = (filepath: string, opts: Options = {}): Promise<Detect
fd = fs.openSync(filepath, 'r'); fd = fs.openSync(filepath, 'r');
const sample: Buffer = Buffer.allocUnsafe(opts.sampleSize); const sample: Buffer = Buffer.allocUnsafe(opts.sampleSize);
fs.read(fd, sample, 0, opts.sampleSize, null, (err?: Error) => { fs.read(fd, sample, 0, opts.sampleSize, opts.offset, (err?: Error) => {
handler(err, sample); handler(err, sample);
}); });
return; return;
@ -116,14 +123,17 @@ export const detectFile = (filepath: string, opts: Options = {}): Promise<Detect
fs.readFile(filepath, handler); fs.readFile(filepath, handler);
}); });
export const detectFileSync = (filepath: string, opts: Options = {}): DetectResult => { export const detectFileSync = (
filepath: string,
opts: Options = {}
): DetectResult => {
const fs = loadFs(); const fs = loadFs();
if (opts && opts.sampleSize) { if (opts && opts.sampleSize) {
const fd = fs.openSync(filepath, 'r'); const fd = fs.openSync(filepath, 'r');
const sample = Buffer.allocUnsafe(opts.sampleSize); const sample = Buffer.allocUnsafe(opts.sampleSize);
fs.readSync(fd, sample, 0, opts.sampleSize); fs.readSync(fd, sample, 0, opts.sampleSize, opts.offset);
fs.closeSync(fd); fs.closeSync(fd);
return detect(sample); return detect(sample);
} }

View File

@ -1,4 +1,4 @@
import { Context, Recogniser } from "./encoding"; import { Context, Recogniser } from './encoding/index.js';
export interface Match { export interface Match {
confidence: number; confidence: number;
@ -6,8 +6,8 @@ export interface Match {
lang?: string; lang?: string;
} }
export default (det: Context, rec: Recogniser, confidence: number, name?: string, lang?: string): Match => ({ export default (ctx: Context, rec: Recogniser, confidence: number): Match => ({
confidence, confidence,
name: name || rec.name(det), name: rec.name(ctx),
lang, lang: rec.language ? rec.language() : undefined,
}); });

Binary file not shown.

View File

@ -1,2 +0,0 @@
政府資訊科技總監辦公室和平等機會委員會合辦無障礙網頁嘉許計劃希望透過表彰採用無障礙網頁設計的網站推動更多企業和機構在其網站採用無障礙網頁設計讓社會各階層包括殘疾人士更方便地獲取網上資訊和使用網上服務。無障礙網頁嘉許計劃頒獎典禮將於2013年4月15日舉行為首次舉辦的「國際IT匯」的精彩活動之一。有關詳情請瀏覽這裡。
政府一向致力推動長者在生活上更廣泛應用資訊科技。政府資訊科技總監辦公室已開展一項全港性嘉許計劃「智醒長者嘉許計劃」,表揚在日常生活中積極使用資訊及通訊科技的長者,以鼓勵他們繼續使用資訊及通訊科技。嘉許計劃設有金、銀、銅獎,長者於特定期間完成指定要求,可獲頒贈嘉許證書及獎牌。有關詳情,請瀏覽這裡。

View File

@ -1,10 +0,0 @@
英語は他の多くのヨーロッパ言語が持っている名詞の格変化や動詞の人称変化のほとんどを失ったため、文中の格関係(誰が誰に何をどうするか)を語順に依存しており、したがって語順が固定的であり「文型」がはっきりしている。
日本の英語教育ではC・T・オニオンズの提唱した5文型という考え方が英語の基本文型として広く使われている実際には、5つの文型ではうまく説明できない文も存在するとし、5文型を強調しすぎることが却って学習の妨げになる、という主張も珍しくない
5文型は、英文の中心をなす主語述語部分において、前置詞無しに語を並べただけで文ができあがっている物を分類したものと言える。そこで使われている語は主語としての名詞、存在を言う述語としてのbe動詞、作用を言う述語としての一般動詞、主語の性質や状態を言う形容詞、一般動詞の目的語になる名詞、その目的語に対する内容的な述語になる動詞の原形や名詞や形容詞である。このように5文型は主語と動詞と、前置詞無しで並ぶ名詞とその名詞に対して内容的な述語として並ぶ単純な形という限られた部分において、並んだ語の種類によって分類し5つの形にまとめた物と言える。ここには文の大基本である主語と述語に含まれている意味への考察がなされていない。そのため意味に基づいて言葉を使用しようとしている学習者にはかえって妨げとなっているのである。
これまでは下記の文型が主要かつ重要なものであるとして扱われてきた。英文の構造の分類法としての5文型は日本以外の国ではあまり一般的ではないが、動詞の語法を説明する上では、「基本5文型」をベースとした動詞型の分類が世界的に受け入れられていて、ジーニアス英和辞典、Oxford Advanced Leaner's Dictionary 等の多くの権威ある辞書において積極的に採用されている。
通常、進行形の文は第2文型とは見なさず、動詞部分を三単現など主語に合わせた形にして文型を考える。また完了形も同様である。また受動態の文も5文型に当てはまらない。群動詞を含む文は群動詞全体を1つの動詞と考えることが多い。また、群動詞は助動詞と本動詞が融合したものであるので、特別な形の助動詞として扱えばよい。 そもそも5文型は助動詞を除去した主語と述語の部分において語の並びだけによって分類した物なのである。
ランドルフ・クァークは付加語A (Adverbial) を加えた考え方を提唱している。付加語Aは修飾語Mとは異なり省略することができない。この考えでは従来の5文型にSVAとSVOAという文型が加わる。また第2文型のうちVがbe動詞の場合を特別に扱う考えもあるつまりS be C。また A・S・ホーンビーは第3文型、第4文型、第5文型のOやCが不定詞や分詞や動名詞やthat節の場合などで細かく分類した文型を提唱している。
ゲルマン系の単語のほかに、ラテン系の単語も混入しているが、これは、ノルマン・コンクエスト以降、フランスから来た貴族階級がロマンス諸語のオイル語系のノルマン語を話していたことの影響である(時期的には 11世紀以降で、中英語。英語の名詞に性や格がほぼ消滅して、語尾変化もほかのヨーロッパ語と比べてとても少ないのはこのルマン・コンクエストによってである。それ以前は複雑であったイギリスの言語が、イギリスの貴族階級や聖職者や教師がルマン人になり英語を話さなくなった結果、庶民の間で簡単に話せるように簡素化されていった。それとともに貴族階級やジェントリーがフランス語にも近いルマン語を話し、聖職者がラテン語を話すようになりその結果として多くのラテン語やフランス語も借用されることになった。
カナダは元英領植民地であった地域だが、その英領植民地にそれ以前はヌーベルフランスであり、今でもフランス語が使われ続けているケベック州があることから、カナダ全体の公用語として英語とフランス語の両方が制定されており、連邦政府のサイトや企業の商品説明などは全て英仏両言語で行われている。旧英領の国としては、全人口の内、英語を母語とする人の割合は58%と低く、フランス語が22%を占める。これは、移民が非常に多いため第二言語として英語を使用している人口が非常に多いからである。また、アメリカ合衆国が隣に位置していることから、旧英領であるとはいえ、オーストラリアやインドなどほかの旧英領植民地とは違い、比べるとカナダの英語はイギリス英語よりもアメリカ英語に近いが、単語の綴りとしてはイギリス英語式を採用することが多い。ケベック州ではフランス語が公用語であることから、英語を母語とせず英語運用能力が高くない人も少なくないが、ケベック州とニューブランズウィック州、オンタリオ州以外ではほとんどフランス語が使われないこともあり、カナダ英語におけるフランス語の影響は皆無に近い。

View File

@ -1,13 +0,0 @@
기본적으로 컴퓨터는 숫자만 처리합니다. 글자나 다른 문자에도 숫자를 지정하여 저장합니다. 유니코드가 개발되기 전에는 이러한 숫자를 지정하기 위해 수백 가지의 다른 기호화 시스템을 사용했습니다. 단일 기호화 방법으로는 모든 문자를 포함할 수 없었습니다. 예를 들어 유럽 연합에서만 보더라도 모든 각 나라별 언어를 처리하려면 여러 개의 다른 기호화 방법이 필요합니다. 영어와 같은 단일 언어의 경우도 공통적으로 사용되는 모든 글자, 문장 부호 및 테크니컬 기호에 맞는 단일 기호화 방법을 갖고 있지 못하였습니다.
이러한 기호화 시스템은 또한 다른 기호화 시스템과 충돌합니다. 즉 두 가지 기호화 방법이 두 개의 다른 문자에 대해 같은 번호를 사용하거나 같은 문자에 대해 다른 번호를 사용할 수 있습니다. 주어진 모든 컴퓨터(특히 서버)는 서로 다른 여러 가지 기호화 방법을 지원해야 합니다. 그러나, 데이터를 서로 다른 기호화 방법이나 플랫폼 간에 전달할 때마다 그 데이터는 항상 손상의 위험을 겪게 됩니다.
유니코드로 모든 것을 해결할 수 있습니다!
유니코드는 사용 중인 플랫폼, 프로그램, 언어에 관계없이 문자마다 고유한 숫자를 제공합니다. 유니코드 표준은 Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys 및 기타 여러 회사와 같은 업계 선두주자에 의해 채택되었습니다. 유니코드는 XML, Java, ECMAScript(JavaScript), LDAP, CORBA 3.0, WML 등과 같이 현재 널리 사용되는 표준에서 필요하며 이는 ISO/IEC 10646을 구현하는 공식적인 방법입니다. 이는 많은 운영 체제, 요즘 사용되는 모든 브라우저 및 기타 많은 제품에서 지원됩니다. 유니코드 표준의 부상과 이를 지원하는 도구의 가용성은 최근 전 세계에 불고 있는 기술 경향에서 가장 중요한 부분을 차지하고 있습니다.
유니코드를 클라이언트-서버 또는 다중-연결 응용 프로그램과 웹 사이트에 통합하면 레거시 문자 세트 사용에 있어서 상당한 비용 절감 효과가 나타납니다. 유니코드를 통해 리엔지니어링 없이 다중 플랫폼, 언어 및 국가 간에 단일 소프트웨어 플랫폼 또는 단일 웹 사이트를 목표로 삼을 수 있습니다. 이를 사용하면 데이터를 손상 없이 여러 시스템을 통해 전송할 수 있습니다.
유니코드 콘소시엄에 대해
유니코드 콘소시엄은 비영리 조직으로서 현대 소프트웨어 제품과 표준에서 텍스트의 표현을 지정하는 유니코드 표준의 사용을 개발하고 확장하며 장려하기 위해 세워졌습니다. 콘소시엄 멤버쉽은 컴퓨터와 정보 처리 산업에 종사하고 있는 광범위한 회사 및 조직의 범위를 나타냅니다. 콘소시엄의 재정은 전적으로 회비에 의해 충당됩니다. 유니코드 컨소시엄에서의 멤버쉽은 전 세계 어느 곳에서나 유니코드 표준을 지원하고 그 확장과 구현을 지원하고자하는 조직과 개인에게 개방되어 있습니다.
더 자세한 내용은 용어집, 예제 유니코드 사용 가능 제품, 기술 정보 및 기타 유용한 정보를 참조하십시오.

View File

@ -1,13 +0,0 @@
基本上计算机只是处理数字。它们指定一个数字来储存字母或其他字符。在创造Unicode之前有数百种指定这些数字的编码系统。没有一个编码可以包含足够的字符例如单单欧州共同体就需要好几种不同的编码来包括所有的语言。即使是单一种语言例如英语也没有哪一个编码可以适用于所有的字母标点符号和常用的技术符号。
这些编码系统也会互相冲突。也就是说,两种编码可能使用相同的数字代表两个不同的字符,或使用不同的数字代表相同的字符。任何一台特定的计算机(特别是服务器)都需要支持许多不同的编码,但是,不论什么时候数据通过不同的编码或平台之间,那些数据总会有损坏的危险。
Unicode正在改变所有这一切
Unicode给每个字符提供了一个唯一的数字不论是什么平台不论是什么程序不论什么语言。Unicode标准已经被这些工业界的领导们所采用例如Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公司。最新的标准都需要Unicode例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等并且Unicode是实现ISO/IEC 10646的正规方式。许多操作系统所有最新的浏览器和许多其他产品都支持它。Unicode标准的出现和支持它工具的存在是近来全球软件技术最重要的发展趋势。
将Unicode与客户服务器或多层应用程序和网站结合比使用传统字符集节省费用。Unicode使单一软件产品或单一网站能够贯穿多个平台语言和国家而不需要重建。它可将数据传输到许多不同的系统而无损坏。
关于Unicode学术学会
Unicode学术学会是一个非盈利的组织是为发展扩展和推广使用Unicode标准而建立的Unicode学术学会设立了现代软件产品和标准文本的表示法。学术学会的会员代表了广泛领域的计算机和资讯工业的公司和组织。学术学会只由会员提供资金。Unicode学术学会的会员资格开放给世界上任何支持Unicode标准和希望协助其扩展和执行的组织及个人。
欲知更多信息请参阅术语词汇表Unicode产品样本技术简介和参考资料。

View File

@ -1,13 +0,0 @@
$)A;y1>IO#,<FKc;zV;JG4&@mJ}WV!#K|CGV86(R;8vJ}WV#,@44"4fWVD8;rFdK{WV7{!#TZ44TlUnicodeV.G0#,SPJ}0YVVV86(UbP)J}WV5D1`BkO5M3!#C;SPR;8v1`Bk?IRT0|:,Wc9;5DWV7{#:@}Hg#,5%5%E7V]92M,Le>MPhR*:C<8VV2;M,5D1`Bk@40|@(KySP5DSoQT!#<4J9JG5%R;VVSoQT#,@}HgS"So#,R2C;SPDDR;8v1`Bk?IRTJJSCSZKySP5DWVD8#,1j5c7{:E#,:M3#SC5D<<Ju7{:E!#
$)AUbP)1`BkO5M3R2;a;%O`3eM;!#R2>MJGK5#,A=VV1`Bk?ID\J9SCO`M,5DJ}WV4z1mA=8v2;M,5DWV7{#,;rJ9SC2;M,5DJ}WV4z1mO`M,5DWV7{!#HN:NR;L(LX6(5D<FKc;z(LX1pJG7~NqFw)6<PhR*V'3VPm6`2;M,5D1`Bk#,5+JG#,2;B[J2C4J1:rJ}>]M(9}2;M,5D1`Bk;rF=L(V.<d#,DGP)J}>]W\;aSPKp;55DN#OU!#
Unicode$)AU}TZ8D1dKySPUbR;GP#!
Unicode$)A8xC?8vWV7{La9)AKR;8vN(R;5DJ}WV#,2;B[JGJ2C4F=L(#,2;B[JGJ2C43LPr#,2;B[J2C4SoQT!#Unicode1jW<RQ>-1;UbP)9$R5=g5DAl5<CGKy2ISC#,@}Hg#:Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys:MFdK|Pm6`9+K>!#WnPB5D1jW<6<PhR*Unicode#,@}HgXML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML5H5H#,2"GR#,UnicodeJGJ5OVISO/IEC 106465DU}9f7=J=!#Pm6`2YWwO5M3#,KySPWnPB5Dd/@@Fw:MPm6`FdK{2zF76<V'3VK|!#Unicode1jW<5D3vOV:MV'3VK|9$>_5D4fTZ#,JG=|@4H+GrHm<~<<JuWnVXR*5D7"U9GwJF!#
$)A=+UnicodeSk?M;'7~NqFw;r6`2cS&SC3LPr:MMxU>=a:O#,1HJ9SC4+M3WV7{</=ZJ!7QSC!#UnicodeJ95%R;Hm<~2zF7;r5%R;MxU>D\9;9a4)6`8vF=L(#,SoQT:M9z<R#,6x2;PhR*VX=(!#K|?I=+J}>]4+Jd5=Pm6`2;M,5DO5M3#,6xN^Kp;5!#
$)A9XSZUnicodeQ'JuQ';a
Unicode$)AQ'JuQ';aJGR;8v7GS/@{5DWiV/#,JGN*7"U9#,@)U9:MMF9cJ9SCUnicode1jW<6x=(A"5D#,UnicodeQ'JuQ';aIhA"AKOV4zHm<~2zF7:M1jW<ND1>5D1mJ>7(!#Q'JuQ';a5D;aT14z1mAK9c7:AlSr5D<FKc;z:MWJQ69$R55D9+K>:MWiV/!#Q'JuQ';aV;SI;aT1La9)WJ=p!#UnicodeQ'JuQ';a5D;aT1WJ8q?*7E8xJ@=gIOHN:NV'3VUnicode1jW<:MO#M{P-VzFd@)U9:MV4PP5DWiV/<08vHK!#
$)AS{V*8|6`PEO"#,Gk2NTDJuSo4J;c1m#,Unicode2zF7Qy1>#,<<Ju<r=i:M2N?<WJAO!#

View File

@ -1,13 +0,0 @@
$B%3%s%T%e!<%?!<$O!"K\<AE*$K$O?t;z$7$+07$&$3$H$,$G$-$^$;$s!#%3%s%T%e!<%?!<$O!"J8;z$d5-9f$J$I$N$=$l$>$l$KHV9f$r3d$j?6$k$3$H$K$h$C$F07$($k$h$&$K$7$^$9!#%f%K%3!<%I$,=PMh$k$^$G$O!"$3$l$i$NHV9f$r3d$j?6$k;EAH$_$,2?I4<oN`$bB8:_$7$^$7$?!#$I$N0l$D$r$H$C$F$b!"==J,$JJ8;z$r4^$s$G$O$$$^$;$s$G$7$?!#Nc$($P!"2$=#O"9g0l$D$r8+$F$b!"$=$N$9$Y$F$N8@8l$r%+%P!<$9$k$?$a$K$O!"$$$/$D$+$N0[$J$kId9f2=$N;EAH$_$,I,MW$G$7$?!#1Q8l$N$h$&$J0l$D$N8@8l$K8B$C$F$b!"0l$D$@$1$NId9f2=$N;EAH$_$G$O!"0lHLE*$K;H$o$l$k$9$Y$F$NJ8;z!"6gFIE@!"5;=QE*$J5-9f$J$I$r07$&$K$OIT==J,$G$7$?!#(B
$B$3$l$i$NId9f2=$N;EAH$_$O!"Aj8_$KL7=b$9$k$b$N$G$b$"$j$^$7$?!#Fs$D$N0[$J$kId9f2=$N;EAH$_$,!"Fs$D$N0[$J$kJ8;z$KF10l$NHV9f$rIU$1$k$3$H$b$G$-$k$7!"F1$8J8;z$K0[$J$kHV9f$rIU$1$k$3$H$b$G$-$k$N$G$9!#$I$N$h$&$J%3%s%T%e!<%?!<$b!JFC$K%5!<%P!<$O!KB?$/$N0[$J$C$?Id9f2=$N;EAH$_$r%5%]!<%H$9$kI,MW$,$"$j$^$9!#$?$H$(%G!<%?$,0[$J$kId9f2=$N;EAH$_$d%W%i%C%H%U%)!<%`$rDL2a$7$F$b!"$$$D$I$3$G%G!<%?$,Mp$l$k$+J,$+$i$J$$4m81$rKA$9$3$H$N$J$k$N$G$9!#(B
$B%f%K%3!<%I$O$9$Y$F$rJQ$($^$9(B
$B%f%K%3!<%I$O!"%W%i%C%H%U%)!<%`$K78$o$i$:!"%W%m%0%i%`$K78$o$i$:!"8@8l$K78$o$i$:!"$9$Y$F$NJ8;z$KFHN)$7$?HV9f$rM?$($^$9!#%f%K%3!<%II8=`$O!"%"%C%W%k!"%R%e!<%l%C%H%Q%C%+!<%I!"(BIBM$B!"%8%c%9%H%7%9%F%`!"%^%$%/%m%=%U%H!"%*%i%/%k!"(BSAP$B!"%5%s!"%5%$%Y!<%9$J$I$N;:6H3&$N<gF3E*4k6H$HB>$NB?$/$N4k6H$K:NMQ$5$l$F$$$^$9!#%f%K%3!<%I$O!"(BXML$B!"(BJava$B!"(BECMAScript(JavaScript)$B!"(BLDAP$B!"(BCORBA 3.0$B$J$I$N:G@hC<$NI8=`$NA0Ds$H$J$C$F$*$j!"%f%K%3!<%I$r<BAu$9$l$P!"(BISO/IEC 10646$B$KE,9g$9$k$3$H$K$J$j$^$9!#%f%K%3!<%I$O!"B?$/$N%*%Z%l!<%F%#%s%0%7%9%F%`$H$9$Y$F$N:G?7$N%V%i%&%6!<$HB>$NB?$/$N@=IJ$G%5%]!<%H$5$l$F$$$^$9!#%f%K%3!<%II8=`$N=P8=$H%f%K%3!<%I$r%5%]!<%H$9$k%D!<%kN`$O!":r:#82Cx$K$J$C$F$$$k%=%U%H%&%(%"5;=Q$N%0%m!<%P%k2=$NN.$l$KBP$7$F!"FC$KLr$KN)$C$F$$$^$9!#(B
$B%f%K%3!<%I$r%/%i%$%"%s%H%5!<%P!<7?$N%"%W%j%1!<%7%g%s$d!"B?AX9=B$$r;}$D%"%W%j%1!<%7%g%s!"%&%'%V%5%$%H$J$I$K$KAH$_9~$`$3$H$G!"=>Mh$NJ8;z%3!<%I%;%C%H$rMQ$$$k$h$j$bL@$i$+$J%3%9%H:o8:$,2DG=$G$9!#%f%K%3!<%I$O!"C10l$N%=%U%H%&%(%"@=IJ!"C10l$N%&%'%V%5%$%H$K!"2?$i<j$r2C$($k$3$H$J$/!"J#?t$N%W%i%C%H%U%)!<%`!"J#?t$N8@8l!"J#?t$N9q$r%+%P!<$9$k$3$H$,=PMh$k$N$G$9!#%f%K%3!<%I$O!"%G!<%?$,B?$/$N0[$J$k%7%9%F%`$N4V$r!"2?$NMp$l$b$J$7$KE>Aw$9$k$3$H$r2DG=$H$9$k$N$G$9!#(B
$B%f%K%3!<%I%3%s%=!<%7%"%`$K$D$$$F(B
$B%f%K%3!<%I%3%s%=!<%7%"%`$O!":G?7$N%=%U%H%&%(%"@=IJ$HI8=`$K$*$$$F%F%-%9%H$rI=8=$9$k$3$H$r0UL#$9$k!H%f%K%3!<%II8=`!I$N9=C[!"H/E8!"Ia5Z!"MxMQB%?J$rL\E*$H$7$F@_N)$5$l$?Hs1DMxAH?%$G$9!#F1%3%s%=!<%7%"%`$N2q0w$O!"%3%s%T%e!<%?!<$H>pJs=hM}$K78$o$k9-HF$J4k6H$dAH?%$+$i9=@.$5$l$F$$$^$9!#F1%3%s%=!<%7%"%`$O!":b@/E*$K$O!"=c?h$K2qHq$N$_$K$h$C$F1?1D$5$l$F$$$^$9!#%f%K%3!<%II8=`$r;Y;}$7!"$=$N3HD%$H<BAu$r;Y1g$9$k@$3&Cf$NAH?%$d8D?M$O!"$@$l$b$,%f%K%3!<%I%3%s%=!<%7%"%`$N2q0w$J$k$3$H$,$G$-$^$9!#(B
$B$h$j>\$7$$$3$H$r$*CN$j$K$J$j$?$$J}$O!"(BGlossary, Unicode-Enabled Products, Technical Introduction $B$*$h$S(B Useful Resources$B$r$4;2>H$/$@$5$$!#(B

View File

@ -1,13 +0,0 @@
$)C1b:;@{@87N DDG;EM4B <}@Z88 C38.GU4O4Y. 1[@Z3* 4Y8% 9.@Z?!55 <}@Z8& AvA$GO?) @z@eGU4O4Y. @/4ODZ5e0! 039_5G1b @|?!4B @L7/GQ <}@Z8& AvA$GO1b @'GX <v9i 0!Av@G 4Y8% 1bH#H- =C=:E[@; ;g?kG_=@4O4Y. 4\@O 1bH#H- 9f9}@87N4B 8p5g 9.@Z8& FwGTGR <v >x>z=@4O4Y. ?98& 5i>n @/74 ?,GU?!<-88 :84u6s55 8p5g 0" 3*6s:0 >p>n8& C38.GO7A8i ?)7/ 03@G 4Y8% 1bH#H- 9f9}@L GJ?dGU4O4Y. ?5>n?M 00@: 4\@O >p>n@G 0f?l55 0xEk@{@87N ;g?k5G4B 8p5g 1[@Z, 9.@e :NH# 9W EWE)4ODC 1bH#?! 8B4B 4\@O 1bH#H- 9f9}@; 0.0m @VAv 8xGO?4=@4O4Y.
$)C@L7/GQ 1bH#H- =C=:E[@: 6GGQ 4Y8% 1bH#H- =C=:E[0z Cf59GU4O4Y. Ao 5N 0!Av 1bH#H- 9f9}@L 5N 03@G 4Y8% 9.@Z?! 4kGX 00@: 9xH#8& ;g?kGO0E3* 00@: 9.@Z?! 4kGX 4Y8% 9xH#8& ;g?kGR <v @V=@4O4Y. AV>nAx 8p5g DDG;EM(F/Hw <-9v)4B <-7N 4Y8% ?)7/ 0!Av 1bH#H- 9f9}@; Av?xGX>_ GU4O4Y. 1W7/3*, 5%@LEM8& <-7N 4Y8% 1bH#H- 9f9}@L3* GC7'F{ 0#?! @|4^GR 6'864Y 1W 5%@LEM4B GW;s <U;s@G @'Gh@; 0^0T 5K4O4Y.
$)C@/4ODZ5e7N 8p5g 0M@; GX0aGR <v @V=@4O4Y!
$)C@/4ODZ5e4B ;g?k A_@N GC7'F{, GA7N1W7%, >p>n?! 0|0h>x@L 9.@Z864Y 0m@/GQ <}@Z8& A&0xGU4O4Y. @/4ODZ5e G%AX@: Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys 9W 1bE8 ?)7/ H8;g?M 00@: >w0h <15NAV@Z?! @GGX C$EC5G>z=@4O4Y. @/4ODZ5e4B XML, Java, ECMAScript(JavaScript), LDAP, CORBA 3.0, WML 5n0z 00@L Gv@g 3N8. ;g?k5G4B G%AX?!<- GJ?dGO8g @L4B ISO/IEC 10646@; 18GvGO4B 0x=D@{@N 9f9}@T4O4Y. @L4B 89@: ?n?5 C<A&, ?dAr ;g?k5G4B 8p5g :j6s?l@z 9W 1bE8 89@: A&G0?!<- Av?x5K4O4Y. @/4ODZ5e G%AX@G :N;s0z @L8& Av?xGO4B 5518@G 0!?k<:@: CV1Y @| <<0h?! :R0m @V4B 1b<z 0fGb?!<- 0!@e A_?dGQ :N:P@; BwAvGO0m @V=@4O4Y.
$)C@/4ODZ5e8& E,6s@L>pF.-<-9v 6G4B 4YA_-?,0a @@?k GA7N1W7%0z @% ;g@LF.?! EkGUGO8i 790E=C 9.@Z <<F. ;g?k?! @V>n<- ;s4gGQ :q?k @}0( H?0z0! 3*E8334O4Y. @/4ODZ5e8& EkGX 8.?#Av4O>n85 >x@L 4YA_ GC7'F{, >p>n 9W 190! 0#?! 4\@O <RGAF.?~>n GC7'F{ 6G4B 4\@O @% ;g@LF.8& 8qG%7N ;o@; <v @V=@4O4Y. @L8& ;g?kGO8i 5%@LEM8& <U;s >x@L ?)7/ =C=:E[@; EkGX @|<[GR <v @V=@4O4Y.
$)C@/4ODZ5e D\<R=C>v?! 4kGX
$)C@/4ODZ5e D\<R=C>v@: :q?58. A6Aw@87N<- Gv4k <RGAF.?~>n A&G00z G%AX?!<- EX=:F.@G G%Gv@; AvA$GO4B @/4ODZ5e G%AX@G ;g?k@; 039_GO0m H.@eGO8g @e7AGO1b @'GX <<?vA3=@4O4Y. D\<R=C>v 8b9v=1@: DDG;EM?M A$:8 C38. ;j>w?! A>;gGO0m @V4B 1$9|@'GQ H8;g 9W A6Aw@G 9|@'8& 3*E83@4O4Y. D\<R=C>v@G @gA$@: @|@{@87N H8:q?! @GGX Cf4g5K4O4Y. @/4ODZ5e DA<R=C>v?!<-@G 8b9v=1@: @| <<0h >n4@ 0w?!<-3* @/4ODZ5e G%AX@; Av?xGO0m 1W H.@e0z 18Gv@; Av?xGO0m@ZGO4B A6Aw0z 03@N?!0T 039f5G>n @V=@4O4Y.
$)C4u @Z<<GQ 3;?k@: ?k>nA}, ?9A& @/4ODZ5e ;g?k 0!4I A&G0, 1b<z A$:8 9W 1bE8 @/?kGQ A$:88& B|A6GO=J=C?@.

View File

@ -1,20 +0,0 @@
What is Unicode?
Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language.
Fundamentally, computers just deal with numbers. They store letters and other characters by assigning a number for each one. Before Unicode was invented, there were hundreds of different encoding systems for assigning these numbers. No single encoding could contain enough characters: for example, the European Union alone requires several different encodings to cover all its languages. Even for a single language like English no single encoding was adequate for all the letters, punctuation, and technical symbols in common use.
These encoding systems also conflict with one another. That is, two encodings can use the same number for two different characters, or use different numbers for the same character. Any given computer (especially servers) needs to support many different encodings; yet whenever data is passed between different encodings or platforms, that data always runs the risk of corruption.
Unicode is changing all that!
Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. The Unicode Standard has been adopted by such industry leaders as Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys and many others. Unicode is required by modern standards such as XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., and is the official way to implement ISO/IEC 10646. It is supported in many operating systems, all modern browsers, and many other products. The emergence of the Unicode Standard, and the availability of tools supporting it, are among the most significant recent global software technology trends.
Incorporating Unicode into client-server or multi-tiered applications and websites offers significant cost savings over the use of legacy character sets. Unicode enables a single software product or a single website to be targeted across multiple platforms, languages and countries without re-engineering. It allows data to be transported through many different systems without corruption.
About the Unicode Consortium
The Unicode Consortium is a non-profit organization founded to develop, extend and promote use of the Unicode Standard, which specifies the representation of text in modern software products and standards. The membership of the consortium represents a broad spectrum of corporations and organizations in the computer and information processing industry. The consortium is supported financially solely through membership dues. Membership in the Unicode Consortium is open to organizations and individuals anywhere in the world who support the Unicode Standard and wish to assist in its extension and implementation.
For more information, see the Glossary, Unicode Enabled Products, Technical Introduction and Useful Resources.

View File

@ -1,3 +0,0 @@
Velký a Malý Tisý je národní přírodní rezervace ev. č. 498 poblíž města Lomnice nad Lužnicí v okrese Jindřichův Hradec ležící na území CHKO Třeboňsko. Řadí se mezi nejvýznamnější rybniční rezervace v Česku a je významná rozsáhlým litorálním porostem na březích rybníků. Oblast spravuje AOPK ČR Správa CHKO Třeboňsko a je evidována i v rámci světové organizace UNESCO jako biosférická rezervace, Natura 2000 a další. Důvodem ochrany je jedna z nejvýznamnějších ornitologických rezervací v Česku. Význam má i z pohledu entomologického.
Součástí rezervace je 11 větších rybníků, mimo jiné i dvojice rybníků Velký a Malý Tisý, které daly lokalitě název. Pro rybníky v rezervaci je charakteristické, že mají velmi členité pobřeží tvořené zarostlými břehy, zátokami, poloostrovy a ostrůvky. Na břehy volně navazují podmáčené louky, lesy, vřesoviště a pole. Vlivem rozmanitosti různých stanovišť se zde nachází bohatá řada druhů z flory i fauny, které zde sídlí. Hlavně ptactvo využívá lokalitu jako důležitou migrační zastávku či shromaždiště před pravidelnými tahy.
I přes to, že je lokalita po desetiletí chráněna, došlo nevhodnými hospodářskými zásahy v podobě nadměrného chovu ryb od 50. let 20. století k postupné degradaci a ústupu litorálních porostů. Od 90. let 20. století se ochranáři snaží snižováním počtu nasazovaných ryb a změnou jejich druhové skladby společně s vodohospodářskými zásahy do výšky vodní hladiny rybníku Velký Tisý podpořit rozvoj rákosových porostů. Výsledky těchto opatření ukázaly, že na obnovu porostů by i za vhodných podmínek byla potřeba doba dosahující až desítek let.

View File

@ -1 +0,0 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -1,8 +0,0 @@
قبل حرب 1948 كانت المنطقة جزءاً من الانتداب البريطاني على فلسطين. بقيت أراضي الضفة الغربية في أيادي الجيش الأردني بعد التوقيع على اتفاقيات الهدنة (اتفاقيات رودس) التي أنهت الحرب عام 1949 ورسمت الحدود الفاصلة بين الضفة الغربية والأراضي التي أقيمت عليها دولة إسرائيل. هذه الحدود (التي هي جزء من الخط الأخضر) ضمت إلى الضفة الغربية الجزء الشرقي لمدينة القدس، بما في ذلك البلدة القديمة، ما عدا جبل المشارف.
تمت الوحدة بين الضفتين الشرقية (الأردنية) والغربية (الفلسطينية) بعد مؤتمر أريحا عام 1951م الذي طالب بالوحدة. ظلت هذه الوحدة قائمة مع الضفة الشرقية واعتبار أهالي الضفة الغربية مواطنيين أردنيين حتى عام 1988 عندما قرر الملك حسين الراحل فك الارتباط القانوني والإداري والمالي (قرار فك الارتباط) بناءا على طلب منظمة التحرير الفلسطينية ماعدا الأوقاف التي بقيت مرتبطة مع الحكومة الأردنية حتى اليوم من إشراف وتعيينات وصيانة للأوقاف المسيحية والإسلامية والتزامات مالية.
في 5 حزيران 1967 احتلت إسرائيل أراضي الضفة الغربية (وأراضٍ أخرى) إبان حرب الأيام الستة (النكسة) ولا تزال الضفة خاضعة لأحكام اتفاقية جنيف الرابعة للأراضي المحتلة. على الرغم من ذلك قامت إسرائيل ببناء العديد من الـمستوطنات في الضفة. كما قامت إسرائيل بضم القدس الشرقية وضواحيها بشكل أحادي الجانب لم يعترف بشرعيتة المجتمع الدولي. تطلق الحكومة الإسرائيلية على المنطقة اسم "يهودا وشومرون" (أي "يهوذا والسامرة")، حيث تذكر بهذا الاسم في الوثائق الإسرائيلية الرسمية.
في عام 1993 وقعت إسرائيل ومنظمة التحرير الفلسطينية اتفاقية أوسلو التي نصت على إقامة حكومة ذاتية فلسطينية تدير الحياة المدنية في الضفة الغربية وقطاع غزة لفترة انتقالية، على أن تستأنف المفاوضات في القضايا المتبقية، كالقدس واللاجئين. وبالفعل وفي عام 1994 أقيمت السلطة الوطنية الفلسطينية في بعض المدن والقرى الفلسطينية بالتدريج، ولكنها منذ انتفاضة الأقصى لا تستطيع القيام بواجباتها بشكل ناجح. لا يزال هناك مفاوضات بين الإسرائليين والفلسطينيين ولكنها كثيراً ما تتعثر بسبب إصرار إسرائيل على متابعة استيطانها في الضفة الغربية.
الجدار الفاصل جرف الكثير من أراضي الضفة الغربية
في أبريل 2002 شرعت الحكومة الإسرائيلية برئاسة أرييل شارون ببناء جدار فاصل بينها وبين الفلسطينيين داخل أراضي الضفة الغربية قالت أنه بهدف حماية إسرائيل من العمليات العسكرية الفلسطينية. لكنه اقتضم الكثير من الأراضي الفلسطينية وساهم في إحكام الحصار على الشعب الفلسطيني وإفقار اقتصاده الوطني بشكل شبه كامل. كما تم عزل مدن وبلدات بكاملها عن محيطها الفلسطيني.

View File

@ -1,2 +0,0 @@
Η Λαϊκή ή Δημώδης Λατινική (λατ. sermo vulgaris) είναι ένας όρος-ομπρέλα, ο οποίος καλύπτει τις διαλέκτους τής λατινικής γλώσσας που ομιλούνταν κυρίως στις δυτικές επαρχίες τής Ρωμαϊκής Αυτοκρατορίας, μέχρις ότου αυτές οι διάλεκτοι, αποκλίνοντας ακόμη περισσότερο, εξελίχθηκαν στις πρώιμες ρομανικές γλώσσες κατά τον 9ο αιώνα.
Η ομιλουμένη Λατινική διέφερε από τη λογοτεχνική κλασική Λατινική στην προφορά, το λεξιλόγιο και τη γραμματική. Κάποια χαρακτηριστικά της δημώδους Λατινικής δεν εμφανίστηκαν παρά στην ύστερη Αυτοκρατορία. Άλλα χαρακτηριστικά της υπήρχαν πιθανόν στην ομιλουμένη Λατινική, τουλάχιστον στις πρωτογενείς μορφές τους, πολύ νωρίτερα. Οι περισσότεροι ορισμοί τής δημώδους Λατινικής την παρουσιάζουν ως προφορική παρά ως γραπτή γλώσσα, επειδή οι μαρτυρίες οδηγούν στο συμπέρασμα ότι η ομιλουμένη Λατινική διασπάστηκε σε αποκλίνουσες διαλέκτους αυτή την περίοδο. Επειδή κανείς τότε δεν μετέγραψε φωνητικά την καθημερινή ομιλία των Λατίνων, οι μελετητές τής λαϊκής Λατινικής πρέπει να χρησιμοποιούν έμμεσες μεθόδους.

View File

@ -1,20 +0,0 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -1,20 +0,0 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -1,3 +0,0 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.

View File

@ -1 +0,0 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -1,8 +0,0 @@
قبل حرب 1948 كانت المنطقة جزءاً من الانتداب البريطاني على فلسطين. بقيت أراضي الضفة الغربية في أيادي الجيش الأردني بعد التوقيع على اتفاقيات الهدنة (اتفاقيات رودس) التي أنهت الحرب عام 1949 ورسمت الحدود الفاصلة بين الضفة الغربية والأراضي التي أقيمت عليها دولة إسرائيل. هذه الحدود (التي هي جزء من الخط الأخضر) ضمت إلى الضفة الغربية الجزء الشرقي لمدينة القدس، بما في ذلك البلدة القديمة، ما عدا جبل المشارف.
تمت الوحدة بين الضفتين الشرقية (الأردنية) والغربية (الفلسطينية) بعد مؤتمر أريحا عام 1951م الذي طالب بالوحدة. ظلت هذه الوحدة قائمة مع الضفة الشرقية واعتبار أهالي الضفة الغربية مواطنيين أردنيين حتى عام 1988 عندما قرر الملك حسين الراحل فك الارتباط القانوني والإداري والمالي (قرار فك الارتباط) بناءا على طلب منظمة التحرير الفلسطينية ماعدا الأوقاف التي بقيت مرتبطة مع الحكومة الأردنية حتى اليوم من إشراف وتعيينات وصيانة للأوقاف المسيحية والإسلامية والتزامات مالية.
في 5 حزيران 1967 احتلت إسرائيل أراضي الضفة الغربية (وأراضٍ أخرى) إبان حرب الأيام الستة (النكسة) ولا تزال الضفة خاضعة لأحكام اتفاقية جنيف الرابعة للأراضي المحتلة. على الرغم من ذلك قامت إسرائيل ببناء العديد من الـمستوطنات في الضفة. كما قامت إسرائيل بضم القدس الشرقية وضواحيها بشكل أحادي الجانب لم يعترف بشرعيتة المجتمع الدولي. تطلق الحكومة الإسرائيلية على المنطقة اسم "يهودا وشومرون" (أي "يهوذا والسامرة")، حيث تذكر بهذا الاسم في الوثائق الإسرائيلية الرسمية.
في عام 1993 وقعت إسرائيل ومنظمة التحرير الفلسطينية اتفاقية أوسلو التي نصت على إقامة حكومة ذاتية فلسطينية تدير الحياة المدنية في الضفة الغربية وقطاع غزة لفترة انتقالية، على أن تستأنف المفاوضات في القضايا المتبقية، كالقدس واللاجئين. وبالفعل وفي عام 1994 أقيمت السلطة الوطنية الفلسطينية في بعض المدن والقرى الفلسطينية بالتدريج، ولكنها منذ انتفاضة الأقصى لا تستطيع القيام بواجباتها بشكل ناجح. لا يزال هناك مفاوضات بين الإسرائليين والفلسطينيين ولكنها كثيراً ما تتعثر بسبب إصرار إسرائيل على متابعة استيطانها في الضفة الغربية.
الجدار الفاصل جرف الكثير من أراضي الضفة الغربية
في أبريل 2002 شرعت الحكومة الإسرائيلية برئاسة أرييل شارون ببناء جدار فاصل بينها وبين الفلسطينيين داخل أراضي الضفة الغربية قالت أنه بهدف حماية إسرائيل من العمليات العسكرية الفلسطينية. لكنه اقتضم الكثير من الأراضي الفلسطينية وساهم في إحكام الحصار على الشعب الفلسطيني وإفقار اقتصاده الوطني بشكل شبه كامل. كما تم عزل مدن وبلدات بكاملها عن محيطها الفلسطيني.

View File

@ -1,2 +0,0 @@
政府資訊科技總監辦公室和平等機會委員會合辦無障礙網頁嘉許計劃希望透過表彰採用無障礙網頁設計的網站推動更多企業和機構在其網站採用無障礙網頁設計讓社會各階層包括殘疾人士更方便地獲取網上資訊和使用網上服務。無障礙網頁嘉許計劃頒獎典禮將於2013年4月15日舉行為首次舉辦的「國際IT匯」的精彩活動之一。有關詳情請瀏覽這裡。
政府一向致力推動長者在生活上更廣泛應用資訊科技。政府資訊科技總監辦公室已開展一項全港性嘉許計劃「智醒長者嘉許計劃」,表揚在日常生活中積極使用資訊及通訊科技的長者,以鼓勵他們繼續使用資訊及通訊科技。嘉許計劃設有金、銀、銅獎,長者於特定期間完成指定要求,可獲頒贈嘉許證書及獎牌。有關詳情,請瀏覽這裡。

View File

@ -1,3 +0,0 @@
Velký a Malý Tisý je národní přírodní rezervace ev. č. 498 poblíž města Lomnice nad Lužnicí v okrese Jindřichův Hradec ležící na území CHKO Třeboňsko. Řadí se mezi nejvýznamnější rybniční rezervace v Česku a je významná rozsáhlým litorálním porostem na březích rybníků. Oblast spravuje AOPK ČR Správa CHKO Třeboňsko a je evidována i v rámci světové organizace UNESCO jako biosférická rezervace, Natura 2000 a další. Důvodem ochrany je jedna z nejvýznamnějších ornitologických rezervací v Česku. Význam má i z pohledu entomologického.
Součástí rezervace je 11 větších rybníků, mimo jiné i dvojice rybníků Velký a Malý Tisý, které daly lokalitě název. Pro rybníky v rezervaci je charakteristické, že mají velmi členité pobřeží tvořené zarostlými břehy, zátokami, poloostrovy a ostrůvky. Na břehy volně navazují podmáčené louky, lesy, vřesoviště a pole. Vlivem rozmanitosti různých stanovišť se zde nachází bohatá řada druhů z flory i fauny, které zde sídlí. Hlavně ptactvo využívá lokalitu jako důležitou migrační zastávku či shromaždiště před pravidelnými tahy.
I přes to, že je lokalita po desetiletí chráněna, došlo nevhodnými hospodářskými zásahy v podobě nadměrného chovu ryb od 50. let 20. století k postupné degradaci a ústupu litorálních porostů. Od 90. let 20. století se ochranáři snaží snižováním počtu nasazovaných ryb a změnou jejich druhové skladby společně s vodohospodářskými zásahy do výšky vodní hladiny rybníku Velký Tisý podpořit rozvoj rákosových porostů. Výsledky těchto opatření ukázaly, že na obnovu porostů by i za vhodných podmínek byla potřeba doba dosahující až desítek let.

View File

@ -1,2 +0,0 @@
Η Λαϊκή ή Δημώδης Λατινική (λατ. sermo vulgaris) είναι ένας όρος-ομπρέλα, ο οποίος καλύπτει τις διαλέκτους τής λατινικής γλώσσας που ομιλούνταν κυρίως στις δυτικές επαρχίες τής Ρωμαϊκής Αυτοκρατορίας, μέχρις ότου αυτές οι διάλεκτοι, αποκλίνοντας ακόμη περισσότερο, εξελίχθηκαν στις πρώιμες ρομανικές γλώσσες κατά τον 9ο αιώνα.
Η ομιλουμένη Λατινική διέφερε από τη λογοτεχνική κλασική Λατινική στην προφορά, το λεξιλόγιο και τη γραμματική. Κάποια χαρακτηριστικά της δημώδους Λατινικής δεν εμφανίστηκαν παρά στην ύστερη Αυτοκρατορία. Άλλα χαρακτηριστικά της υπήρχαν πιθανόν στην ομιλουμένη Λατινική, τουλάχιστον στις πρωτογενείς μορφές τους, πολύ νωρίτερα. Οι περισσότεροι ορισμοί τής δημώδους Λατινικής την παρουσιάζουν ως προφορική παρά ως γραπτή γλώσσα, επειδή οι μαρτυρίες οδηγούν στο συμπέρασμα ότι η ομιλουμένη Λατινική διασπάστηκε σε αποκλίνουσες διαλέκτους αυτή την περίοδο. Επειδή κανείς τότε δεν μετέγραψε φωνητικά την καθημερινή ομιλία των Λατίνων, οι μελετητές τής λαϊκής Λατινικής πρέπει να χρησιμοποιούν έμμεσες μεθόδους.

View File

@ -1,20 +0,0 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -1,11 +0,0 @@
コンピューターは、本質的には数字しか扱うことができません。コンピューターは、文字や記号などのそれぞれに番号を割り振ることによって扱えるようにします。ユニコードが出来るまでは、これらの番号を割り振る仕組みが何百種類も存在しました。どの一つをとっても、十分な文字を含んではいませんでした。例えば、欧州連合一つを見ても、そのすべての言語をカバーするためには、いくつかの異なる符号化の仕組みが必要でした。英語のような一つの言語に限っても、一つだけの符号化の仕組みでは、一般的に使われるすべての文字、句読点、技術的な記号などを扱うには不十分でした。
これらの符号化の仕組みは、相互に矛盾するものでもありました。二つの異なる符号化の仕組みが、二つの異なる文字に同一の番号を付けることもできるし、同じ文字に異なる番号を付けることもできるのです。どのようなコンピューターも(特にサーバーは)多くの異なった符号化の仕組みをサポートする必要があります。たとえデータが異なる符号化の仕組みやプラットフォームを通過しても、いつどこでデータが乱れるか分からない危険を冒すことのなるのです。
ユニコードはすべてを変えます
ユニコードは、プラットフォームに係わらず、プログラムに係わらず、言語に係わらず、すべての文字に独立した番号を与えます。ユニコード標準は、アップル、ヒューレットパッカード、IBM、ジャストシステム、マイクロソフト、オラクル、SAP、サン、サイベースなどの産業界の主導的企業と他の多くの企業に採用されています。ユニコードは、XML、Java、ECMAScript(JavaScript)、LDAP、CORBA 3.0などの最先端の標準の前提となっており、ユニコードを実装すれば、ISO/IEC 10646に適合することになります。ユニコードは、多くのオペレーティングシステムとすべての最新のブラウザーと他の多くの製品でサポートされています。ユニコード標準の出現とユニコードをサポートするツール類は、昨今顕著になっているソフトウエア技術のグローバル化の流れに対して、特に役に立っています。
ユニコードをクライアントサーバー型のアプリケーションや、多層構造を持つアプリケーション、ウェブサイトなどにに組み込むことで、従来の文字コードセットを用いるよりも明らかなコスト削減が可能です。ユニコードは、単一のソフトウエア製品、単一のウェブサイトに、何ら手を加えることなく、複数のプラットフォーム、複数の言語、複数の国をカバーすることが出来るのです。ユニコードは、データが多くの異なるシステムの間を、何の乱れもなしに転送することを可能とするのです。
ユニコードコンソーシアムについて
ユニコードコンソーシアムは、最新のソフトウエア製品と標準においてテキストを表現することを意味する“ユニコード標準”の構築、発展、普及、利用促進を目的として設立された非営利組織です。同コンソーシアムの会員は、コンピューターと情報処理に係わる広汎な企業や組織から構成されています。同コンソーシアムは、財政的には、純粋に会費のみによって運営されています。ユニコード標準を支持し、その拡張と実装を支援する世界中の組織や個人は、だれもがユニコードコンソーシアムの会員なることができます。

View File

@ -1,13 +0,0 @@
기본적으로 컴퓨터는 숫자만 처리합니다. 글자나 다른 문자에도 숫자를 지정하여 저장합니다. 유니코드가 개발되기 전에는 이러한 숫자를 지정하기 위해 수백 가지의 다른 기호화 시스템을 사용했습니다. 단일 기호화 방법으로는 모든 문자를 포함할 수 없었습니다. 예를 들어 유럽 연합에서만 보더라도 모든 각 나라별 언어를 처리하려면 여러 개의 다른 기호화 방법이 필요합니다. 영어와 같은 단일 언어의 경우도 공통적으로 사용되는 모든 글자, 문장 부호 및 테크니컬 기호에 맞는 단일 기호화 방법을 갖고 있지 못하였습니다.
이러한 기호화 시스템은 또한 다른 기호화 시스템과 충돌합니다. 즉 두 가지 기호화 방법이 두 개의 다른 문자에 대해 같은 번호를 사용하거나 같은 문자에 대해 다른 번호를 사용할 수 있습니다. 주어진 모든 컴퓨터(특히 서버)는 서로 다른 여러 가지 기호화 방법을 지원해야 합니다. 그러나, 데이터를 서로 다른 기호화 방법이나 플랫폼 간에 전달할 때마다 그 데이터는 항상 손상의 위험을 겪게 됩니다.
유니코드로 모든 것을 해결할 수 있습니다!
유니코드는 사용 중인 플랫폼, 프로그램, 언어에 관계없이 문자마다 고유한 숫자를 제공합니다. 유니코드 표준은 Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys 및 기타 여러 회사와 같은 업계 선두주자에 의해 채택되었습니다. 유니코드는 XML, Java, ECMAScript(JavaScript), LDAP, CORBA 3.0, WML 등과 같이 현재 널리 사용되는 표준에서 필요하며 이는 ISO/IEC 10646을 구현하는 공식적인 방법입니다. 이는 많은 운영 체제, 요즘 사용되는 모든 브라우저 및 기타 많은 제품에서 지원됩니다. 유니코드 표준의 부상과 이를 지원하는 도구의 가용성은 최근 전 세계에 불고 있는 기술 경향에서 가장 중요한 부분을 차지하고 있습니다.
유니코드를 클라이언트-서버 또는 다중-연결 응용 프로그램과 웹 사이트에 통합하면 레거시 문자 세트 사용에 있어서 상당한 비용 절감 효과가 나타납니다. 유니코드를 통해 리엔지니어링 없이 다중 플랫폼, 언어 및 국가 간에 단일 소프트웨어 플랫폼 또는 단일 웹 사이트를 목표로 삼을 수 있습니다. 이를 사용하면 데이터를 손상 없이 여러 시스템을 통해 전송할 수 있습니다.
유니코드 콘소시엄에 대해
유니코드 콘소시엄은 비영리 조직으로서 현대 소프트웨어 제품과 표준에서 텍스트의 표현을 지정하는 유니코드 표준의 사용을 개발하고 확장하며 장려하기 위해 세워졌습니다. 콘소시엄 멤버쉽은 컴퓨터와 정보 처리 산업에 종사하고 있는 광범위한 회사 및 조직의 범위를 나타냅니다. 콘소시엄의 재정은 전적으로 회비에 의해 충당됩니다. 유니코드 컨소시엄에서의 멤버쉽은 전 세계 어느 곳에서나 유니코드 표준을 지원하고 그 확장과 구현을 지원하고자하는 조직과 개인에게 개방되어 있습니다.
더 자세한 내용은 용어집, 예제 유니코드 사용 가능 제품, 기술 정보 및 기타 유용한 정보를 참조하십시오.

View File

@ -1 +0,0 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -1,4 +0,0 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.
ƒ „ … † ‡ Š

View File

@ -1,13 +0,0 @@
コンピューターは、本質的には数字しか扱うことができません。コンピューターは、文字や記号などのそれぞれに番号を割り振ることによって扱えるようにします。ユニコードが出来るまでは、これらの番号を割り振る仕組みが何百種類も存在しました。どの一つをとっても、十分な文字を含んではいませんでした。例えば、欧州連合一つを見ても、そのすべての言語をカバーするためには、いくつかの異なる符号化の仕組みが必要でした。英語のような一つの言語に限っても、一つだけの符号化の仕組みでは、一般的に使われるすべての文字、句読点、技術的な記号などを扱うには不十分でした。
これらの符号化の仕組みは、相互に矛盾するものでもありました。二つの異なる符号化の仕組みが、二つの異なる文字に同一の番号を付けることもできるし、同じ文字に異なる番号を付けることもできるのです。どのようなコンピューターも(特にサーバーは)多くの異なった符号化の仕組みをサポートする必要があります。たとえデータが異なる符号化の仕組みやプラットフォームを通過しても、いつどこでデータが乱れるか分からない危険を冒すことのなるのです。
ユニコードはすべてを変えます
ユニコードは、プラットフォームに係わらず、プログラムに係わらず、言語に係わらず、すべての文字に独立した番号を与えます。ユニコード標準は、アップル、ヒューレットパッカード、IBM、ジャストシステム、マイクロソフト、オラクル、SAP、サン、サイベースなどの産業界の主導的企業と他の多くの企業に採用されています。ユニコードは、XML、Java、ECMAScript(JavaScript)、LDAP、CORBA 3.0などの最先端の標準の前提となっており、ユニコードを実装すれば、ISO/IEC 10646に適合することになります。ユニコードは、多くのオペレーティングシステムとすべての最新のブラウザーと他の多くの製品でサポートされています。ユニコード標準の出現とユニコードをサポートするツール類は、昨今顕著になっているソフトウエア技術のグローバル化の流れに対して、特に役に立っています。
ユニコードをクライアントサーバー型のアプリケーションや、多層構造を持つアプリケーション、ウェブサイトなどにに組み込むことで、従来の文字コードセットを用いるよりも明らかなコスト削減が可能です。ユニコードは、単一のソフトウエア製品、単一のウェブサイトに、何ら手を加えることなく、複数のプラットフォーム、複数の言語、複数の国をカバーすることが出来るのです。ユニコードは、データが多くの異なるシステムの間を、何の乱れもなしに転送することを可能とするのです。
ユニコードコンソーシアムについて
ユニコードコンソーシアムは、最新のソフトウエア製品と標準においてテキストを表現することを意味する“ユニコード標準”の構築、発展、普及、利用促進を目的として設立された非営利組織です。同コンソーシアムの会員は、コンピューターと情報処理に係わる広汎な企業や組織から構成されています。同コンソーシアムは、財政的には、純粋に会費のみによって運営されています。ユニコード標準を支持し、その拡張と実装を支援する世界中の組織や個人は、だれもがユニコードコンソーシアムの会員なることができます。
より詳しいことをお知りになりたい方は、Glossary, Unicode-Enabled Products, Technical Introduction および Useful Resourcesをご参照ください。

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,14 +0,0 @@
Euro Symbol: €.
Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.
Íslenska / Icelandic: Ég get etið gler án þess að meiða mig.
Polish: Mogę jeść szkło, i mi nie szkodzi.
Romanian: Pot să mănânc sticlă și ea nu mă rănește.
Ukrainian: Я можу їсти шкло, й воно мені не пошкодить.
Armenian: Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։
Georgian: მინას ვჭამ და არა მტკივა.
Hindi: मैं काँच खा सकता हूँ, मुझे उस से कोई पीडा नहीं होती.
Hebrew(2): אני יכול לאכול זכוכית וזה לא מזיק לי.
Yiddish(2): איך קען עסן גלאָז און עס טוט מיר נישט װײ.
Arabic(2): أنا قادر على أكل الزجاج و هذا لا يؤلمني.
Japanese: 私はガラスを食べられます。それは私を傷つけません。
Thai: ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ

View File

@ -1,5 +0,0 @@
Velký a Malý Tisý je národní přírodní rezervace ev. č. 498 poblíž města Lomnice nad Lužnicí v okrese Jindřichův Hradec ležící na území CHKO Třeboňsko. Řadí se mezi nejvýznamnější rybniční rezervace v Česku a je významná rozsáhlým litorálním porostem na březích rybníků. Oblast spravuje AOPK ČR Správa CHKO Třeboňsko a je evidována i v rámci světové organizace UNESCO jako biosférická rezervace, Natura 2000 a další. Důvodem ochrany je jedna z nejvýznamnějších ornitologických rezervací v Česku. Význam má i z pohledu entomologického.
Součástí rezervace je 11 větších rybníků, mimo jiné i dvojice rybníků Velký a Malý Tisý, které daly lokalitě název. Pro rybníky v rezervaci je charakteristické, že mají velmi členité pobřeží tvořené zarostlými břehy, zátokami, poloostrovy a ostrůvky. Na břehy volně navazují podmáčené louky, lesy, vřesoviště a pole. Vlivem rozmanitosti různých stanovišť se zde nachází bohatá řada druhů z flory i fauny, které zde sídlí. Hlavně ptactvo využívá lokalitu jako důležitou migrační zastávku či shromaždiště před pravidelnými tahy.
I přes to, že je lokalita po desetiletí chráněna, došlo nevhodnými hospodářskými zásahy v podobě nadměrného chovu ryb od 50. let 20. století k postupné degradaci a ústupu litorálních porostů. Od 90. let 20. století se ochranáři snaží snižováním počtu nasazovaných ryb a změnou jejich druhové skladby společně s vodohospodářskými zásahy do výšky vodní hladiny rybníku Velký Tisý podpořit rozvoj rákosových porostů. Výsledky těchto opatření ukázaly, že na obnovu porostů by i za vhodných podmínek byla potřeba doba dosahující až desítek let.
„ … † ‡

View File

@ -1 +0,0 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -1,22 +0,0 @@
What is Unicode?
Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language.
Fundamentally, computers just deal with numbers. They store letters and other characters by assigning a number for each one. Before Unicode was invented, there were hundreds of different encoding systems for assigning these numbers. No single encoding could contain enough characters: for example, the European Union alone requires several different encodings to cover all its languages. Even for a single language like English no single encoding was adequate for all the letters, punctuation, and technical symbols in common use.
These encoding systems also conflict with one another. That is, two encodings can use the same number for two different characters, or use different numbers for the same character. Any given computer (especially servers) needs to support many different encodings; yet whenever data is passed between different encodings or platforms, that data always runs the risk of corruption.
Unicode is changing all that!
Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. The Unicode Standard has been adopted by such industry leaders as Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys and many others. Unicode is required by modern standards such as XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., and is the official way to implement ISO/IEC 10646. It is supported in many operating systems, all modern browsers, and many other products. The emergence of the Unicode Standard, and the availability of tools supporting it, are among the most significant recent global software technology trends.
Incorporating Unicode into client-server or multi-tiered applications and websites offers significant cost savings over the use of legacy character sets. Unicode enables a single software product or a single website to be targeted across multiple platforms, languages and countries without re-engineering. It allows data to be transported through many different systems without corruption.
About the Unicode Consortium
The Unicode Consortium is a non-profit organization founded to develop, extend and promote use of the Unicode Standard, which specifies the representation of text in modern software products and standards. The membership of the consortium represents a broad spectrum of corporations and organizations in the computer and information processing industry. The consortium is supported financially solely through membership dues. Membership in the Unicode Consortium is open to organizations and individuals anywhere in the world who support the Unicode Standard and wish to assist in its extension and implementation.
For more information, see the Glossary, Unicode Enabled Products, Technical Introduction and Useful Resources.
ƒ „ … † ‡ Š

View File

@ -1,3 +0,0 @@
Η Λαϊκή ή Δημώδης Λατινική (λατ. sermo vulgaris) είναι ένας όρος-ομπρέλα, ο οποίος καλύπτει τις διαλέκτους τής λατινικής γλώσσας που ομιλούνταν κυρίως στις δυτικές επαρχίες τής Ρωμαϊκής Αυτοκρατορίας, μέχρις ότου αυτές οι διάλεκτοι, αποκλίνοντας ακόμη περισσότερο, εξελίχθηκαν στις πρώιμες ρομανικές γλώσσες κατά τον 9ο αιώνα.
Η ομιλουμένη Λατινική διέφερε από τη λογοτεχνική κλασική Λατινική στην προφορά, το λεξιλόγιο και τη γραμματική. Κάποια χαρακτηριστικά της δημώδους Λατινικής δεν εμφανίστηκαν παρά στην ύστερη Αυτοκρατορία. Άλλα χαρακτηριστικά της υπήρχαν πιθανόν στην ομιλουμένη Λατινική, τουλάχιστον στις πρωτογενείς μορφές τους, πολύ νωρίτερα. Οι περισσότεροι ορισμοί τής δημώδους Λατινικής την παρουσιάζουν ως προφορική παρά ως γραπτή γλώσσα, επειδή οι μαρτυρίες οδηγούν στο συμπέρασμα ότι η ομιλουμένη Λατινική διασπάστηκε σε αποκλίνουσες διαλέκτους αυτή την περίοδο. Επειδή κανείς τότε δεν μετέγραψε φωνητικά την καθημερινή ομιλία των Λατίνων, οι μελετητές τής λαϊκής Λατινικής πρέπει να χρησιμοποιούν έμμεσες μεθόδους.
ƒ „ … † ‡

View File

@ -1,4 +0,0 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.
ƒ „ … † ‡ Š

View File

@ -1,32 +0,0 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].
ֻ
€ 130 ƒ
132 … † ‡
135
136 ‰
2030
137
138
2039

View File

@ -1,8 +0,0 @@
قبل حرب 1948 كانت المنطقة جزءاً من الانتداب البريطاني على فلسطين. بقيت أراضي الضفة الغربية في أيادي الجيش الأردني بعد التوقيع على اتفاقيات الهدنة (اتفاقيات رودس) التي أنهت الحرب عام 1949 ورسمت الحدود الفاصلة بين الضفة الغربية والأراضي التي أقيمت عليها دولة إسرائيل. هذه الحدود (التي هي جزء من الخط الأخضر) ضمت إلى الضفة الغربية الجزء الشرقي لمدينة القدس، بما في ذلك البلدة القديمة، ما عدا جبل المشارف.
تمت الوحدة بين الضفتين الشرقية (الأردنية) والغربية (الفلسطينية) بعد مؤتمر أريحا عام 1951م الذي طالب بالوحدة. ظلت هذه الوحدة قائمة مع الضفة الشرقية واعتبار أهالي الضفة الغربية مواطنيين أردنيين حتى عام 1988 عندما قرر الملك حسين الراحل فك الارتباط القانوني والإداري والمالي (قرار فك الارتباط) بناءا على طلب منظمة التحرير الفلسطينية ماعدا الأوقاف التي بقيت مرتبطة مع الحكومة الأردنية حتى اليوم من إشراف وتعيينات وصيانة للأوقاف المسيحية والإسلامية والتزامات مالية.
في 5 حزيران 1967 احتلت إسرائيل أراضي الضفة الغربية (وأراضٍ أخرى) إبان حرب الأيام الستة (النكسة) ولا تزال الضفة خاضعة لأحكام اتفاقية جنيف الرابعة للأراضي المحتلة. على الرغم من ذلك قامت إسرائيل ببناء العديد من الـمستوطنات في الضفة. كما قامت إسرائيل بضم القدس الشرقية وضواحيها بشكل أحادي الجانب لم يعترف بشرعيتة المجتمع الدولي. تطلق الحكومة الإسرائيلية على المنطقة اسم "يهودا وشومرون" (أي "يهوذا والسامرة")، حيث تذكر بهذا الاسم في الوثائق الإسرائيلية الرسمية.
في عام 1993 وقعت إسرائيل ومنظمة التحرير الفلسطينية اتفاقية أوسلو التي نصت على إقامة حكومة ذاتية فلسطينية تدير الحياة المدنية في الضفة الغربية وقطاع غزة لفترة انتقالية، على أن تستأنف المفاوضات في القضايا المتبقية، كالقدس واللاجئين. وبالفعل وفي عام 1994 أقيمت السلطة الوطنية الفلسطينية في بعض المدن والقرى الفلسطينية بالتدريج، ولكنها منذ انتفاضة الأقصى لا تستطيع القيام بواجباتها بشكل ناجح. لا يزال هناك مفاوضات بين الإسرائليين والفلسطينيين ولكنها كثيراً ما تتعثر بسبب إصرار إسرائيل على متابعة استيطانها في الضفة الغربية.
الجدار الفاصل جرف الكثير من أراضي الضفة الغربية
في أبريل 2002 شرعت الحكومة الإسرائيلية برئاسة أرييل شارون ببناء جدار فاصل بينها وبين الفلسطينيين داخل أراضي الضفة الغربية قالت أنه بهدف حماية إسرائيل من العمليات العسكرية الفلسطينية. لكنه اقتضم الكثير من الأراضي الفلسطينية وساهم في إحكام الحصار على الشعب الفلسطيني وإفقار اقتصاده الوطني بشكل شبه كامل. كما تم عزل مدن وبلدات بكاملها عن محيطها الفلسطيني.

View File

@ -1,20 +0,0 @@
{
"compilerOptions": {
"forceConsistentCasingInFileNames": true,
"outDir": "lib",
"rootDir": "src",
"allowJs": false,
"allowSyntheticDefaultImports": true,
"declaration": true,
"diagnostics": true,
"esModuleInterop": true,
"extendedDiagnostics": true,
"listEmittedFiles": true,
"module": "commonjs",
"removeComments": true,
"sourceMap": true,
"strict": true,
"target": "ES2019"
},
"exclude": ["node_modules", "**/*.spec.ts", "**/*.test.ts", "__mocks__", "lib"]
}