【PlantUML】メイリオ指定時に「か」のフォント表示がおかしい(解決策あり)

PlantUMLでシーケンズでしがた、opt枠の[]の中にある「か」のフォントの表示がおかしい。
生成された画像を見ていただいたら分かるが、opt枠以外のフォントと比較すると同じメイリオのはずだが、なにかがおかしい。



@startuml

skinparam defaultFontName メイリオ
mainframe sample

participant "test001" as A
participant "test002" as B

opt あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよわをん
	A -> B : あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよわをん
end

@enduml



C:\PlantUML>java -jar -DPLANTUML_LIMIT_SIZE=36864 plantuml.jar test/test001.txt -charset UTF-8

C:\PlantUML>

続きを読む

【JavaScript】アスキーの特殊文字を全て表す正規表現

Webアプリケーションでアスキーの特殊文字32文字を入力したら、「特殊文字は入力不可」と表示させる。
このようなことをしたい場合は、32個のアスキー特殊文字を表す正規表現オブジェクトを生成する必要がある。
この32文字の特殊文字を表す正規表現を1文字づつ書くと長くなる。
しかし、32個のアスキー特殊文字を正規表現クラス[]を用いて文字範囲を指定して短く書くことができる。
!から/まで文字の範囲を指定する。
:から@まで文字の範囲を指定する。
[から`まで文字の範囲を指定する。
{から˜まで文字の範囲を指定する。
これにより短い正規表現で表せる。
[!-\/:-@[-`{-~]

続きを読む

【JavaScript】即時関数とthis

IIFEは定義されるとすぐに実行される。
即時関数の中のthisにはグローバルオブジェクトがセットされることに注意する。
次にような挙動になる。
bind、apply、callを使ってthisの値をコントロールする。

続きを読む

【JavaScript】クロージャ(closure)はプライベートな変数や関数を作る

クロージャ(closure)についての解説の続き。

前回書いた記事
【JavaScript】クロージャ(closure) (attacktube.com)
【JavaScript】クロージャ(closure)とonclickメソッド (attacktube.com)

クロージャ(closure)はプライベートな変数や関数を作ることに利用できる。
プライベートな変数とメソッドを定義したコードを次に示す。



const myspace = {};

//myspace.sampleは即時関数であり定義して即座に実行される。
//クロージャ(closure)はプライベートな変数や関数を作る。
myspace.sample = function() {

    //strはmyspace.sampleの中からだけアクセス可能
    const str = "hello world";
    const that = {};
    const my = {};

    //my.Test関数はmyspace.sampleの中からだけアクセス可能
    my.Test = function() {
        console.log(str);
    };

    //that.Init関数はmyspace.sampleの外からアクセス可能
    that.Init = function(num) {
        console.log(num + "年");
        my.Test();
    };

    return that;

};


myspace.sample().Init(2023);

続きを読む

【JavaScript】function文(The function Statement)とfunction式(The function Expression)

Javascriptにはfunction文(The function Statement)とfunction式(The function Expression)が存在する。
function文とfunction式は別物である。
function文は省略記法であり、functionオブジェクトをvar文で変数に格納することを意味している。


//function文(The function Statement)
function foo() {}

//これは、以下のfunction式(The function Expression)を用いた記述と同じ意味になる。
var foo = function() {};
続きを読む